1. 程式人生 > >5.22-zabbix監控Nginx

5.22-zabbix監控Nginx

浪費了“黃金五年”的Java程式設計師,還有救嗎? >>>   

在feature2上安裝Nginx

編輯yum倉庫: vi /etc/yum.repos.d/nginx.repo 貼上: [nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/7/$basearch/ gpgcheck=0 enabled=1

安裝: yum install -y nginx 配置Nginx狀態資訊

vi /etc/nginx/conf.d/default.conf #增加 location /nginx_status { stub_status on; access_log off; allow 127.0.0.1; deny all; } 測試

curl http://127.0.0.1/nginx_status 說明:

欄位 含義 Active Connections 當前活動連線數,其中也包括了等待狀態的連線 accepts 接收到的連線數 handled 已經處理完的連線數,該數字一般和accepts一致,如果不一致那麼說明Nginx出錯了 requests 總共處理的請求數,一個連線可以有多個請求,所以該值比accpets要大 Reading 正在讀取請求頭資訊的連線數 Writing 正在傳送響應報文的連線數 Waiting 處於閒置狀態,等待客戶端傳送請求的連線數 編寫監控指令碼

vi /usr/local/sbin/ngx_status.sh #內容如下 #!/bin/bash url="http://127.0.0.1/nginx_status" curl=/usr/bin/curl

檢測nginx程序是否存在

function ping { /sbin/pidof nginx | wc -l }

檢測nginx效能

function active { $curl $url 2>/dev/null| grep 'Active' | awk '{print $NF}' } function reading { $curl $url 2>/dev/null| grep 'Reading' | awk '{print $2}' } function writing { $curl $url 2>/dev/null| grep 'Writing' | awk '{print $4}' } function waiting { $curl $url 2>/dev/null| grep 'Waiting' | awk '{print $6}' } function accepts { $curl $url 2>/dev/null| awk NR3 | awk '{print $1}' } function handled { $curl $url 2>/dev/null| awk NR3 | awk '{print $2}' } function requests { $curl $url 2>/dev/null| awk NR==3 | awk '{print $3}' } $1

chmod 755 /usr/local/sbin/ngx_status.sh 編輯zabbix_agent.conf

vi /etc/zabbix/zabbix_agentd.conf # 增加 UserParameter=nginx.status[*],/usr/local/sbin/ngx_status.sh $1 重啟服務

systemctl restart zabbix-agent zabbix_get 測試

在服務端執行 zabbix_get -s 192.168.222.129 -k 'nginx.status[accepts] 匯入nginx模板

下載模板 https://github.com/aminglinux/linux2019/blob/master/zabbix_nginx_template/zbx_export_templates.xml

Configuration -> Templates -> 右上角Import 連結模板

Configuration -> Hosts -> feature2 -> Templates -> Select -