實驗環境
zabbix-server:
centos 7
192.168.14.216
nginx
centos7
192.168.14.210
介紹:
zabbix默認帶有兩個nginx的模板,可以直接鏈接模板使用。本文主要介紹根據實際情況自定義一些監控選項
一、Nginx(192.168.14.210)
1、安裝
#配置epel源
[root@nginx ~]# vi /etc/yum.repos.d/epel.repo
[nginx]
name=aliyun epel
baseurl=http://mirrors.aliyun.com/epel/7Server/x86_64/
gpgcheck=0
#安裝nginx
[root@nginx ~]# yum install -y nginx
#安裝zabbix-agent
[root@nginx ~]# rpm -ivh http://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm
[root@nginx ~]# yum install -y zabbix-agent
2、修改nginx配置文件,爲了不影響默認/,添加新的/status
[root@nginx ~]# vim /etc/nginx/nginx.conf
location /status {
stub_status on;
access_log off;
allow 127.0.0.1;
deny all;
}
3、查看監控內容
Active connections:當前所有處於打開狀態的活動連接數(TCP連接數,即三次握手四次揮手次數)
accepts :已經接收連接數
handled : 已經處理過的連接數
requests : 已經處理過的請求數,在保持連接模式下,請求數量可能會大於連接數量
Reading: 正處於接收請求的連接數
Writing: 請求已經接收完成,處於響應過程的連接數
Waiting : 保持連接模式,處於活動狀態的連接數
4、添加nginx監控選項
#拷貝自帶的mysql配置文件並修改爲nginx
[root@nginx ~]# cd /etc/zabbix/zabbix_agentd.d/
[root@nginx zabbix_agentd.d]# cp userparameter_mysql.conf userparameter_nginx.conf
#刪除有關mysql數據,添加nginx監控選項
[root@nginx zabbix_agentd.d]# vi userparameter_nginx.conf
UserParameter=nginx.active,curl -s http://127.0.0.1/status 2>/dev/null| grep 'Active' | awk '{print $NF}'
UserParameter=nginx.reading,curl -s http://127.0.0.1/status 2>/dev/null| grep 'Reading' | awk '{print $2}'
UserParameter=nginx.writing,curl -s http://127.0.0.1/status 2>/dev/null| grep 'Writing' | awk '{print $4}'
UserParameter=nginx.waiting,curl -s http://127.0.0.1/status 2>/dev/null| grep 'Waiting' | awk '{print $6}'
UserParameter=nginx.accepts,curl -s http://127.0.0.1/status 2>/dev/null| awk NR==3 | awk '{print $1}'
UserParameter=nginx.handled,curl -s http://127.0.0.1/status 2>/dev/null| awk NR==3 | awk '{print $2}'
UserParameter=nginx.requests,curl -s http://127.0.0.1/status 2>/dev/null| awk NR==3 | awk '{print $3}'
5、開啓服務
[root@nginx ~]# systemctl start nginx
[root@nginx ~]# systemctl start zabbix-agent
6、防火牆允許端口訪問
[root@nginx ~]# firewall-cmd --permanent --zone=public --add-port=80/tcp
[root@nginx ~]# firewall-cmd --permanent --zone=public --add-port=10050/tcp
[root@nginx ~]# firewall-cmd --reload
二、zabbix-server(192.168.14.216)
1、檢查是否安裝zabbi_get
[root@zabbix_server ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e2e2a132cd5d zabbix/zabbix-agent:centos-latest "/sbin/tini -- /usr/…" 25 hours ago Up 25 hours zabbix_zabbix-agent_1
f1e1da5d9083 zabbix/zabbix-web-apache-mysql:centos-latest "docker-entrypoint.sh" 25 hours ago Up 25 hours (healthy) 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp zabbix_zabbix-web-apache-mysql_1
f96412915d59 zabbix/zabbix-server-mysql:centos-latest "/sbin/tini -- /usr/…" 25 hours ago Up 25 hours 0.0.0.0:10051->10051/tcp zabbix_zabbix-server_1
dd4a1123fa5d mysql:5.7 "docker-entrypoint.s…" 30 hours ago Up 25 hours zabbix_mysql-server_1
9a4c101679e2 zabbix/zabbix-snmptraps:centos-latest "/usr/bin/supervisor…" 30 hours ago Up 25 hours 0.0.0.0:162->162/udp zabbix_zabbix-snmptraps_1
[root@zabbix_server ~]# docker exec -it zabbix_zabbix-server_1 /bin/bash
[root@f96412915d59 zabbix]# zabbix_get -s 192.168.14.210 -p 10050 -k 'nginx.active'
1
2、添加監控選項(依次創建七個監控選項)
3、查看創建
4、創建圖形
5、添加圖形監控項
6、查看圖形結果