莫鄰網(wǎng)站在線客服系統(tǒng)3步打造seo推廣方案
zabbix監(jiān)控nginx的狀態(tài)頁(yè)面
文章目錄
- zabbix監(jiān)控nginx的狀態(tài)頁(yè)面
- 1.環(huán)境說明
- 2.所涉及到的知識(shí)點(diǎn)
- 3.在nginx主機(jī)上安裝zabbix_agent
- 4.開啟nginx狀態(tài)顯示頁(yè)面
- 5.進(jìn)入zabbix的web頁(yè)面配置主機(jī),監(jiān)控項(xiàng),觸發(fā)器
- 5.1.添加主機(jī)
- 5.2.創(chuàng)建監(jiān)控項(xiàng)
- 5.3.創(chuàng)建觸發(fā)器
1.環(huán)境說明
主機(jī)名稱 | IP地址 | 充當(dāng)角色 | 所需軟件 |
---|---|---|---|
zabbbix | 192.168.195.130 | zabbix服務(wù)端 | zabbix_server、zabbix_agent(需在lamp或lnmp上部署) |
nginx | 192.168.195.133 | nginx、zabbix客戶端 | nginx+zabbix_agent |
2.所涉及到的知識(shí)點(diǎn)
1.安裝部署nginx請(qǐng)閱讀源碼編譯安裝部署lnmp
2.安裝部署zabbix服務(wù)端請(qǐng)閱讀監(jiān)控服務(wù)zabbix部署
3.配置郵箱告警和自定義監(jiān)控請(qǐng)閱讀zabbix服務(wù)配置郵箱告警(定義媒介、配置動(dòng)作和zabbix服務(wù)自定義監(jiān)控_碳烤小肥楊…的博客-CSDN博客
3.在nginx主機(jī)上安裝zabbix_agent
//通過zabbix主機(jī)將zabbix源碼包發(fā)送到nginx主機(jī)上
[root@zabbix src]# scp zabbix-6.4.6.tar.gz root@192.168.195.133:/root/
The authenticity of host '192.168.195.133 (192.168.195.133)' can't be established.
ECDSA key fingerprint is SHA256:KtCxYXSsV732izj+QL2uzJDCS2G/X1MOMV+uUkriDno.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.195.133' (ECDSA) to the list of known hosts.
root@192.168.195.133's password:
zabbix-6.4.6.tar.gz 100% 42MB 169.9MB/s 00:00
[root@zabbix src]#//在客戶端安裝代理,創(chuàng)建zabbix用戶用來運(yùn)行zabbix
[root@nginx ~]# useradd -r -M -s /sbin/nologin zabbix//前往nginx主機(jī)上查看,并將其解壓至/usr/lcoal/目錄
[root@nginx ~]# ls
anaconda-ks.cfg nginx-1.24.0.tar.gz php-8.2.11.tar.gz
mysql-5.7.39-linux-glibc2.12-x86_64.tar.gz oniguruma-6.9.4.tar.gz zabbix-6.4.6.tar.gz
[root@nginx ~]# tar xf zabbix-6.4.6.tar.gz -C /usr/local/
[root@nginx ~]# ls /usr/local/ && cd /usr/local/
bin include libexec nginx php8 share
etc lib mysql nginx-1.24.0 php-8.2.11 src
games lib64 mysql-5.7.39-linux-glibc2.12-x86_64 oniguruma-6.9.4 sbin zabbix-6.4.6
[root@nginx local]#//安裝編譯安裝所需要的軟件包
[root@nginx local]# yum -y install gcc gcc-c++ make//進(jìn)入zabbix-6.4.6的目錄進(jìn)行編譯
[root@nginx local]# cd zabbix-6.4.6/
[root@nginx zabbix-6.4.6]# ./configure --enable-agent
. . .
***********************************************************
* Now run 'make install' *
* *
* Thank you for using Zabbix! *
* <http://www.zabbix.com> *
***********************************************************
最后報(bào)這個(gè)則表示編譯成功,可直接使用make install安裝[root@nginx zabbix-6.4.6]# make install//修改zabbix客戶端的配置文件
[root@nginx zabbix-6.4.6]# cd /usr/local/etc
[root@nginx etc]# ls
zabbix_agentd.conf zabbix_agentd.conf.d
[root@nginx etc]# vim zabbix_agentd.conf
[root@nginx etc]# grep -A2 '# ServerActive=' zabbix_agentd.conf
# ServerActive=ServerActive=192.138.195.130 //改為server端的ip
[root@centos2 etc]# grep -A2 '# Server=' zabbix_agentd.conf
# Server=Server=192.168.195.130 //改為server端的ip
[root@centos2 etc]# grep -A2 '# Hostname=' zabbix_agentd.conf
# Hostname=Hostname=nginx //修改主機(jī)名,必須全局唯一//設(shè)置zabbix_agentd開機(jī)自啟,將zabbix主機(jī)上的service文件傳送到nginx主機(jī)
[root@zabbix src]# scp /usr/lib/systemd/system/zabbix_agentd.service root@192.168.195.133:/usr/lib/systemd/system/
root@192.168.195.133's password:
zabbix_agentd.service 100% 227 212.3KB/s 00:00
[root@zabbix src]#[root@nginx ~]# systemctl daemon-reload //重新加載
[root@nginx ~]# systemctl enable --now zabbix_agentd //設(shè)置開機(jī)自啟
Created symlink /etc/systemd/system/multi-user.target.wants/zabbix_agentd.service → /usr/lib/systemd/system/zabbix_agentd.service.
[root@nginx ~]# systemctl status zabbix_agentd
● zabbix_agentd.service - zabbix agentd daemonLoaded: loaded (/usr/lib/systemd/system/zabbix_agentd.service; enabled; vendor preset: disabled)Active: active (running) since Wed 2023-10-18 22:57:55 CST; 55s agoProcess: 12261 ExecStart=/usr/local/sbin/zabbix_agentd (code=exited, status=0/SUCCESS)Main PID: 12263 (zabbix_agentd)Tasks: 6 (limit: 23790)Memory: 3.1MCGroup: /system.slice/zabbix_agentd.service├─12263 /usr/local/sbin/zabbix_agentd├─12264 /usr/local/sbin/zabbix_agentd: collector [idle 1 sec]├─12265 /usr/local/sbin/zabbix_agentd: listener #1 [waiting for connection]├─12266 /usr/local/sbin/zabbix_agentd: listener #2 [waiting for connection]├─12267 /usr/local/sbin/zabbix_agentd: listener #3 [waiting for connection]└─12268 /usr/local/sbin/zabbix_agentd: active checks #1 [idle 1 sec]Oct 18 22:57:55 nginx systemd[1]: Starting zabbix agentd daemon...
Oct 18 22:57:55 nginx systemd[1]: Started zabbix agentd daemon.//查看10050端口是否存在
[root@nginx ~]# ss -antlp | grep 10050
LISTEN 0 128 0.0.0.0:10050 0.0.0.0:* users:(("zabbix_agentd",pid=12268,fd=7),("zabbix_agentd",pid=12267,fd=7),("zabbix_agentd",pid=12266,fd=7),("zabbix_agentd",pid=12265,fd=7),("zabbix_agentd",pid=12264,fd=7),("zabbix_agentd",pid=12263,fd=7))
4.開啟nginx狀態(tài)顯示頁(yè)面
[root@nginx ~]# vim /usr/local/nginx/conf/nginx.conf
[root@nginx ~]# cat /usr/local/nginx/conf/nginx.conf
......
location /status {stub_status on;allow 192.168.195.0/24; //放行的ip,要放行本機(jī)和zabbix服務(wù)端 }//重啟服務(wù)后查看nginx狀態(tài)頁(yè)面
[root@nginx ~]# nginx -s stop
[root@nginx ~]# nginx
[root@nginx ~]# curl http://192.168.195.133/status
Active connections: 1
server accepts handled requests1 1 1
Reading: 0 Writing: 1 Waiting: 0//為監(jiān)控nginx狀態(tài)編寫腳本文件
[root@nginx ~]# mkdir /scripts && cd /scripts
[root@nginx scripts]# vim nginx_status.sh
[root@nginx scripts]# chmod +x nginx_status.sh
[root@nginx scripts]# cat nginx_status.sh
#!/bin/bashif [ $1 == 'reading' ]; thencurl -s 192.168.195.133/status | awk 'NR==4{print $2}'elif [ $1 == 'writing' ]; thencurl -s 192.168.195.133/status | awk 'NR==4{print $4}'elif [ $1 == 'waiting' ]; thencurl -s 192.168.195.133/status | awk 'NR==4{print $6}'
fi
[root@nginx scripts]# //進(jìn)入配置文件,創(chuàng)建自定義監(jiān)控任務(wù)
[root@nginx ~]# vim /usr/local/etc/zabbix_agentd.conf
[root@nginx ~]# tail -1 /usr/local/etc/zabbix_agentd.conf
UserParameter=check_nginx[*],/scripts/nginx_status.sh $1//因?yàn)槲覀冃薷牧伺渲梦募?#xff0c;所以需要重啟服務(wù),重新讀取配置文件內(nèi)容
[root@nginx ~]# systemctl restart zabbix_agentd.service//創(chuàng)建自定義監(jiān)控任務(wù)后,我們需要在server端去測(cè)試一下是否能接受到被監(jiān)控端的值
[root@zabbix ~]# zabbix_get -s 192.168.195.133 -k check_nginx['reading']
0
[root@zabbix ~]# zabbix_get -s 192.168.195.133 -k check_nginx['writing']
1
[root@zabbix ~]# zabbix_get -s 192.168.195.133 -k check_nginx['waiting']
0
[root@zabbix ~]# //成功接收到值
主機(jī)上的配置完成
5.進(jìn)入zabbix的web頁(yè)面配置主機(jī),監(jiān)控項(xiàng),觸發(fā)器
5.1.添加主機(jī)
5.2.創(chuàng)建監(jiān)控項(xiàng)
5.3.創(chuàng)建觸發(fā)器
另外的writing數(shù)值和waiting數(shù)值與此相似,數(shù)值自己定義