文章目錄
zabbix監控nginx狀態
1、nginx虛擬主機配置
server{
listen 80;
server_name www.stub.com;
location /stub_status {
stub_status on;
}
}
測試
2、編寫監控項採集腳本
#!/bin/bash
#active 當前活動的客戶端連接數,包括waiting連接數
#accepts 已接受的客戶端連接數
#handled 已處理的連接總數
#requests 客戶端請求的總數
#reading 正在讀取請求頭的當前連接數
#writing 將響應寫回客戶端的當前連接數
#waiting 等待請求空閒客戶端的當前連接數
result="/usr/bin/curl -s 127.0.0.1/stub_status"
case $1 in
active)
$result |awk '/Active/ {print $NF}'
;;
accepts)
$result |awk 'NR==3 {print $1}'
;;
handled)
$result |awk 'NR==3 {print $2}'
;;
requests)
$result |awk 'NR==3 {print $3}'
;;
reading)
$result |awk '/Reading/ {print $2}'
;;
writing)
$result |awk '/Writing/ {print $4}'
;;
waiting)
$result |awk '/Waiting/ {print $6}'
;;
*)
echo "USAGE:$0 {active|reading|writing|waiting|accepts|handled|requests}"
esac
3、配置文件定義監控項
#vim /etc/zabbix/zabbix_agentd.conf
#添加下面這行
UserParameter=nginx.status[*],/bin/bash /data/script/nginx_status.sh $1
#重啓服務
systemctl restart zabbix-agent.service
4、zabbix_get 測試
5、創建模板
創建監控項
創建圖形
6、應用模板,查看圖形
zabbix監控tcp狀態
詳細步驟可參照監控nginx的操作,這裏只記錄不同的地方
1、配置
vim /etc/zabbix/zabbix_agentd.conf
UserParameter=tcp.status[*],ss -antp | awk '{s[$$1]++};END{print s["'$1'"]}'
#重啓服務
systemctl restart zabbix-agent.service