zabbix 支持的主要监控方式

(1)agent代理程序

在Agent监控方式下,zabbix-agent会主动收集本机的监控信息并通过TCP协议与zabbix-server传递信息。Agent
 监控方式分为主动和被动模式。在被动模式下,zabbix-agent监听10050端口,等待zabbix-server的监控信息收集
 信息请求;在主动模式下,zabbix-agent收集监控信息并通过10050端口主动将数据传给zabbix-server所在服务器
 的10051端口

(2)SNMP

SNMP全称Simple Network Management Protocol,即网络管理协议,包括进程管理和被管理设备两部分。 作为一种国际通用的网络管理协议被广泛的应用于各种交换机,路由器等网络设备的管理上,而现在也越来越多被用于对服务器的监控上

(3)JMX

JMX,全称Java Management Extensions,即Java管理拓展,是Java平台为应用程序,设备,系统等植入管理功能的框架。在zabbix中,JMX数据的获取由zabbix-java-gateway代理程序来负责数据的采集。

(4)IPMI

IPMI,全称Interlligent Platform Management Interface,即智能平台管理接口,原本是Intel架构中企业系统的周边设备所采用的一种工业标准,以后成为业界通用的标准。用户可以利用IPMI监控服务器的物理特性,如包括采集CPU温度、风扇转速、主板温度,以及远程开关机等指标

(5)Trapper

Trapper监控方式使用zabbix-sender程序主动向zabbix-server发送数据。key的名称和发送的数据内容都可以灵活定义。发送的信息采用JSON格式,遵循zabbix-sender协议。可以自定义脚本利用zabbix-sender协议来zabbix-server发送信息。

zabbix监控nginx状态 zabbix监控nginx哪些内容_vim

在服务端
[root@base2 ~]# systemctl start zabbix-server
[root@base2 ~]# systemctl start zabbix-agent
[root@base2 ~]# systemctl start httpd
[root@base2 ~]# systemctl start mariadb

 在客户端
[root@base3 ~]# systemctl start zabbix-agent

在nginx客户端

[root@base3 ~]# ls
nginx-1.15.8.tar.gz
[root@base3 ~]# tar zxf nginx-1.15.8.tar.gz 
[root@base3 ~]# cd nginx-1.15.8
[root@base3 nginx-1.15.8]# vim auto/cc/gcc
171 # debug
172 #CFLAGS="$CFLAGS -g"
[root@base3 nginx-1.15.8]# yum install -y gcc make pcre-devel zlib-devel
[root@base3 nginx-1.15.8]# ./configure --prefix=/usr/local/nginx --with-http_stub_status_module
[root@base3 nginx-1.15.8]# make && make install
[root@base3 nginx-1.15.8]# cd  /usr/local/nginx/conf/
[root@base3 conf]# vim nginx.conf    # 因为zabbix没有针对nginx的模块,需要自己写脚本添加
        location / status {
            stub_status   on;
            access_log    off;
            allow 127.0.0.1;
            deny all;
        }

zabbix监控nginx状态 zabbix监控nginx哪些内容_vim_02

[root@base3 conf]# /usr/local/nginx/sbin/nginx -t     # 检测语法
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@base3 conf]# /usr/local/nginx/sbin/nginx    # 开启nginx
[root@base3 conf]#  curl http://127.0.0.1/status   # 测试

zabbix监控nginx状态 zabbix监控nginx哪些内容_监控方式_03

[root@base3 conf]#  curl -s http://127.0.0.1/status | grep Active | awk '{print $3}'    # 截取并发连接数
1
[root@base3 conf]# cd /etc/zabbix/
[root@base3 zabbix]# ls
zabbix_agentd.conf  zabbix_agentd.d
[root@base3 zabbix]# cd zabbix_agentd.d/
[root@base3 zabbix_agentd.d]# ls
userparameter_mysql.conf
[root@base3 zabbix_agentd.d]# cp userparameter_mysql.conf userparameter_nginx.conf 
[root@base3 zabbix_agentd.d]# vim userparameter_nginx.conf 
UserParameter=nginx.active,curl -s http://127.0.0.1/status | grep Active | awk '{print $3}'
[root@base3 zabbix_agentd.d]# systemctl restart zabbix-agent

#在服务端

[root@base2 ~]# ls
zabbix-get-4.0.5-1.el7.x86_64.rpm
[root@base2 ~]# yum install -y zabbix-get-4.0.5-1.el7.x86_64.rpm   # 安装测试包,用来获取nginx的键值
[root@base2 ~]# zabbix_get -s 172.25.78.13 -p 10050 -k "nginx.active"    # 获取成功
1

zabbix监控nginx状态 zabbix监控nginx哪些内容_监控方式_04

zabbix监控nginx状态 zabbix监控nginx哪些内容_vim_05

# 填写自定义名称,键值是base3上文件userparameter_nginx.conf 中的名字

zabbix监控nginx状态 zabbix监控nginx哪些内容_监控方式_06

zabbix监控nginx状态 zabbix监控nginx哪些内容_vim_07


zabbix监控nginx状态 zabbix监控nginx哪些内容_nginx_08


zabbix监控nginx状态 zabbix监控nginx哪些内容_nginx_09

zabbix监控nginx状态 zabbix监控nginx哪些内容_zabbix监控nginx状态_10


zabbix监控nginx状态 zabbix监控nginx哪些内容_vim_11


zabbix监控nginx状态 zabbix监控nginx哪些内容_监控方式_12


zabbix监控nginx状态 zabbix监控nginx哪些内容_zabbix监控nginx状态_13


zabbix监控nginx状态 zabbix监控nginx哪些内容_zabbix监控nginx状态_14


zabbix监控nginx状态 zabbix监控nginx哪些内容_监控方式_15


zabbix监控nginx状态 zabbix监控nginx哪些内容_监控方式_16

#刷新网页,就可以显示中文了

zabbix监控nginx状态 zabbix监控nginx哪些内容_nginx_17


添加其他监控项

在nginx客户端查看参数
[root@base3 zabbix_agentd.d]# curl http://127.0.0.1/status

zabbix监控nginx状态 zabbix监控nginx哪些内容_nginx_18

[root@base3 zabbix_agentd.d]#  curl -s http://127.0.0.1/status | awk NR==3 | awk '{print $1}'
107
[root@base3 zabbix_agentd.d]#  curl -s http://127.0.0.1/status | awk NR==3 | awk '{print $2}'
109
[root@base3 zabbix_agentd.d]#  curl -s http://127.0.0.1/status | awk NR==3 | awk '{print $3}'
110
[root@base3 zabbix_agentd.d]# vim userparameter_nginx.conf 
UserParameter=nginx.active,curl -s http://127.0.0.1/status | grep Active | awk '{print $3}'
UserParameter=nginx.accept,curl -s http://127.0.0.1/status | awk NR==3 | awk '{print $1}'
UserParameter=nginx.required,curl -s http://127.0.0.1/status | awk NR==3 | awk '{print $2}'
UserParameter=nginx.handle,curl -s http://127.0.0.1/status | awk NR==3 | awk '{print $3}'

[root@base3 zabbix_agentd.d]# systemctl restart zabbix-agent

在服务端测试

[root@base2 ~]# zabbix_get -s 172.25.78.13 -p 10050 -k "nginx.accept"
124
[root@base2 ~]# zabbix_get -s 172.25.78.13 -p 10050 -k "nginx.required"
125
[root@base2 ~]# zabbix_get -s 172.25.78.13 -p 10050 -k "nginx.handle"
126

zabbix监控nginx状态 zabbix监控nginx哪些内容_监控方式_19

zabbix监控nginx状态 zabbix监控nginx哪些内容_zabbix监控nginx状态_20

zabbix监控nginx状态 zabbix监控nginx哪些内容_监控方式_21

zabbix监控nginx状态 zabbix监控nginx哪些内容_zabbix监控nginx状态_22

zabbix监控nginx状态 zabbix监控nginx哪些内容_vim_23


zabbix监控nginx状态 zabbix监控nginx哪些内容_zabbix监控nginx状态_24


zabbix监控nginx状态 zabbix监控nginx哪些内容_监控方式_25

zabbix监控nginx状态 zabbix监控nginx哪些内容_nginx_26