Zabbix监控平台部署实验——自定义zabbix监控项目

Zabbix系列文章目录

第一章 Zabbix5.0版本的安装教程

第二章 Zabbix监控平台部署实验——自定义zabbix监控项目


目录

Zabbix系列文章目录

前言

二、操作步骤

1.安装配置环境

 2、授权zabbix-server可以进来拉数据

 3、关闭防火墙和selinux

第一步:打开nginx的状态统计功能

 第二步:设置zabbix-agent的参数文件

扫描二维码关注公众号,回复: 14723917 查看本文章

第四步:zabbix-server服务器端查看数据

第五步:zabbix前端操作

总结



前言

提示:主要是通过zabbix来自定义监控项,监控nginx的状态。


一、Zabbix监控的原理图

 根据Zabbix监控模式——主要是模拟一台zabbix-server,和两台zabbix-agent的监控,其中一台用是用centos-8 的nginx,还有一台是centos-7 的mariadb。

该实验模拟只监控一台nginx的自定义监控,通过nginx编写脚本获取数据,再传到zabbix监控中显示出来。

二、操作步骤

1.安装配置环境

zabbix-agent的配置:

zabbix-agent-nginx的安装:

# 查看centos是哪个版本
[root@LB-2 ~]# cat /etc/centos-release
CentOS Linux release 8.2.2004 (Core) 

#安装zabbix  5.0版本centos8
[root@LB-2 ~]# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/8/x86_64/zabbix-release-5.0-1.el8.noarch.rpm
[root@LB-2 ~]# yum install zabbix-agent -y       # 安装zabbix-agent
[root@LB-2 ~]# service zabbix-agent start        # 启动agent服务
[root@LB-2 ~]# ps aux|grep zabbix                # 查看zabbix进程是否启动
[root@LB-2 ~]# ss -anplut|grep zabbix            # 查看端口

出现下图说明已经启动zabbix-agent:

 2、授权zabbix-server可以进来拉数据

 # 修改zabbix配置文件
[root@LB-2 ~]# cd /etc/zabbix
# 修改下面两行的ip         
[root@LB-2 zabbix]# vim zabbix_agentd.conf       

Server=192.168.138.100             允许ip地址,过来拿数据
ServerActive=192.168.138.100

#重新启动zabbix-agent
[root@LB-2 ~]# service zabbix-agent restart       

 修改如下图:

 

 3、关闭防火墙和selinux

[root@LB-2 zabbix]# service firewalld stop
Redirecting to /bin/systemctl stop firewalld.service
[root@LB-2 zabbix]# getenforce
Disabled

在zabbix-server上安装一下zabbix_get :是服务器端可以主动去agent端获取数据的命令

[root@zabbix-server ~]# yum install zabbix-get -y

4、开始设置自定义监控项

示例如下:

第一步:打开nginx的状态统计功能

状态统计功能:

开启nginx的状态统计功能,可以看到nginx目前的访问量信息、有多少在线、累计有多少次访问、连接了多少次等

(1)编辑 /usr/local/scnginx8/conf/nginx.conf  ​文件在server下加一个模块:

location = /sc_status{

stub_status;

}

 (2)启动nginx

#启动nginx   直接用安装的目录启动
[root@LB-2 conf]# /usr/local/scxiayuzhen99/sbin/nginx
[root@LB-2 conf]# ps aux|grep nginx    # 看进程是否真的启动nginx
root       27829  0.0  0.1  43384   880 ?        Ss   21:59   0:00 nginx: master process /usr/local/scxiayuzhen99/sbin/nginx
xiayuzh+   27830  0.0  0.6  77412  5424 ?        S    21:59   0:00 nginx: worker process
xiayuzh+   27831  0.0  0.6  77412  5424 ?        S    21:59   0:00 nginx: worker process
root       27836  0.0  0.1  12320   996 pts/0    R+   21:59   0:00 grep --color=auto nginx

 (3)访问nginx页面   用刚刚在nginx.conf文件中加的location路径/sc_status

 

 第二步:设置zabbix-agent的参数文件

agent-nginx使用的脚本:

[root@LB-2 zabbix_agentd.d]# pwd   # 进入到该zabbix目录下
/etc/zabbix/zabbix_agentd.d    

[root@LB-2 zabbix_agentd.d]# vim nginx_data.sh    #在agent-nginx上创建nginx脚本
#!/bin/bash

# 填写自己这台nginx的ip地址
HOST="192.168.138.5"   
PORT="80"
    case $1 in
        active)
           /usr/bin/curl --insecure "http://$HOST:$PORT/sc_status" 2>/dev/null| awk '/Active/{print $NF}'
            ;;
        reading)
           /usr/bin/curl --insecure "http://$HOST:$PORT/sc_status" 2>/dev/null| awk '/Reading/{print $2}'
           ;;

        writing)
           /usr/bin/curl --insecure "http://$HOST:$PORT/sc_status" 2>/dev/null| awk '/Writing/{print $4}'
            ;;
        waiting)
           /usr/bin/curl --insecure "http://$HOST:$PORT/sc_status" 2>/dev/null| awk '/Waiting/{print $6}'
            ;;
        accepts)
           /usr/bin/curl --insecure "http://$HOST:$PORT/sc_status" 2>/dev/null| awk 'NR==3 {print $1}'
            ;;
        ping)
             /sbin/pidof nginx | wc -l
            ;;
        handled)
            /usr/bin/curl --insecure "http://$HOST:$PORT/sc_status" 2>/dev/null|  awk 'NR==3{print $2}'
            ;;
        requests)
             /usr/bin/curl --insecure "http://$HOST:$PORT/sc_status" 2>/dev/null| awk 'NR==3{print $3}'
            ;;
esac

继续操作zabbix-server:

zabbix-agent使用的参数文件:
在zabbix-agent上执行
[root@LB-2 zabbix_agentd.d]# pwd
/etc/zabbix/zabbix_agentd.d       --》路径

# 编辑自定义的用户参数文件
[root@LB-2 zabbix_agentd.d]# vim userparameter_nginx.conf    写入下面这行内容
UserParameter=sc.nginx.status[*],/etc/zabbix/zabbix_agentd.d/nginx_data.sh $1

# 授予权限
[root@LB-2 zabbix_agentd.d]# chmod +x nginx_data.sh 
[root@LB-2 zabbix_agentd.d]# ll
总用量 8
-rwxr-xr-x 1 root root 1085 8月   5 20:12 nginx_data.sh
-rw-r--r-- 1 root root   78 8月   5 16:58 userparameter_nginx.conf

# 刷新服务
[root@LB-2 zabbix_agentd.d]# service zabbix-agent restart
Redirecting to /bin/systemctl restart zabbix-agent.service

第四步:zabbix-server服务器端查看数据

在zabbix-server上添加监控项--》出图、触发器

监控项的key是sc.nginx.status[ping]

监控项的key是sc.nginx.status[active]

监控项的key是sc.nginx.status[requests]

zabbix服务器端:
[root@zabbix-server ~]# curl http://192.168.138.5/sc_status   # 获取前端页面信息
Active connections: 1 
server accepts handled requests
 310 310 303 
Reading: 0 Writing: 1 Waiting: 0 

# 使用zabbix-get命令获取相关信息
sc.nginx.status[]   定义好的格式
[root@zabbix-server ~]# zabbix_get -k sc.nginx.status[active]  -s 192.168.138.5
1
[root@zabbix-server ~]# zabbix_get -k sc.nginx.status[requests]  -s 192.168.138.5
305

第五步:zabbix前端操作

1、建立应用集——监控项——图形——触发器——添加聚合图形

2、关掉agent-nginx的服务

[root@LB-2 zabbix_agentd.d]# /usr/local/scxiayuzhen99/sbin/nginx -s stop

3、查看zabbix监控是否变化 看仪表盘——看聚合图形

4、启动agent-nginx

[root@LB-2 zabbix_agentd.d]# /usr/local/scxiayuzhen99/sbin/nginx

5、再次查看是否恢复

首先,登录进去创建一个主机。

 配置主机:

 配置模板:

主机群组选择Templates之后,再进来选择其他的。

 

 创建应用集:

 

 创建监控项:

键值要跟nginx配置文件的一致。

 

 创建触发器:

 创建图形:

 创建主机成功!

 在查看监控主机:

 点击图形:这样说明有数据展示

也可以添加到聚合图形中。

在仪表盘中查看是否警告:

如果这个时候后台nginx是启动的,就会显示绿色——是;如果关掉nginx,就会显示——否。可以通过开启或者关闭nginx,来查看监控警报。

启动agent-nginx:

[root@LB-2 zabbix_agentd.d]# /usr/local/scxiayuzhen99/sbin/nginx

关掉agent-nginx的服务:

[root@LB-2 zabbix_agentd.d]# /usr/local/scxiayuzhen99/sbin/nginx -s stop

查看端口是否启动nginx:

[root@LB-2 conf]# ps aux|grep nginx


总结

以上就是今天要讲的内容,本文介绍了使用zabbix来监控nginx,下次还可以用这样的方法试着监控其他的数据。

猜你喜欢

转载自blog.csdn.net/weixin_50999155/article/details/119427266
今日推荐