一.实验环境:
主机名 | 角色 |
---|---|
server1 | zabbix-server, zabbix-agent, zabbix-mysql |
server2 | zabbix-agent(http) |
server3 | zabbix-agent(nginx) |
二.添加http监控
1.安装httpd软件包
[root@server2 ~]# yum install -y httpd
[root@server2 ~]# systemctl enable --now httpd
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
2.链接模板(系统自带)
3.测试(产生故障有提示,解决后提示消失)
[root@server2 ~]# systemctl stop httpd
三.添加nginx监控
1.下载nginx源码包编译安装
[root@server3 ~]# ls
nginx-1.18.0.tar.gz
[root@server3 ~]# tar zxf nginx-1.18.0.tar.gz
[root@server3 ~]# ls
nginx-1.18.0 nginx-1.18.0.tar.gz
[root@server3 nginx-1.18.0]# vim auto/cc/gcc
[root@server3 nginx-1.18.0]# yum install -y gcc pcre-devel openssl-devel
[root@server3 nginx-1.18.0]# ./configure --prefix=/usr/local/nginx --with-http_stub_status_module
[root@server3 nginx-1.18.0]# make && make install
[root@server3 nginx]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
[root@server3 ~]# useradd nginx
[root@server3 ~]# nginx
[root@server3 ~]# netstat -antlp | grep :80
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 2523/nginx: master
2.修改配置文件设立监控,只允许本机查看
[root@server3 ~]# cd /usr/local/nginx/conf/
[root@server3 conf]# vim nginx.conf
[root@server3 conf]# nginx -s reload
3.访问测试:
[root@server3 zabbix_agentd.d]# systemctl restart zabbix-agent
[root@server3 ~]# curl 127.0.0.1/status
Active connections: 2
server accepts handled requests
3042 3042 3068
Reading: 0 Writing: 1 Waiting: 1
[root@server3 ~]# curl -s 127.0.0.1/status
Active connections: 2
server accepts handled requests
3043 3043 3069
Reading: 0 Writing: 1 Waiting: 1
4.编辑文件,添加监控项的键值
[root@server3 zabbix_agentd.d]# vim userparameter_nginx.conf
[root@server3 zabbix_agentd.d]# cat 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.handler,curl -s http://127.0.0.1/status | awk NR==3 | awk '{print $2}'
UserParameter=nginx.request,curl -s http://127.0.0.1/status | awk NR==3 | awk '{print $3}'
[root@server3 zabbix_agentd.d]# systemctl restart zabbix-agent
[root@server1 zabbix]# zabbix_get -s 172.25.13.3 -p 10050 -k "nginx.active"
1
[root@server1 zabbix]# zabbix_get -s 172.25.13.3 -p 10050 -k "nginx.accept"
4915
[root@server1 ~]# zabbix_get -s 172.25.13.3 -p 10050 -k "nginx.handler"
3017
[root@server1 ~]# zabbix_get -s 172.25.13.3 -p 10050 -k "nginx.request"
3034
5.创建图形和监控项
(1)创建nginx.status图形
(2)依次创建四个监控项