Zabbix系列文章目錄
第一章 Zabbix5.0版本的安裝教程
第二章 Zabbix監控平臺部署實驗——自定義zabbix監控專案
目錄
Zabbix系列文章目錄
前言
二、操作步驟
1.安裝配置環境
2、授權zabbix-server可以進來拉資料
3、關閉防火墻和selinux
第一步:打開nginx的狀態統計功能
第二步:設定zabbix-agent的引數檔案
第四步: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,下次還可以用這樣的方法試著監控其他的資料,
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/292311.html
標籤:其他
