zabbix默認自帶了不少有用的監控模板,一般對主機運行狀態使用默認的模板就能夠了,有時候咱們須要根據實際狀況自定義一些監控信息。本文記錄一下zabbix監控nginx服務的配置過程。捋一捋思路,整個配置過程大體以下:nginx
思考一下nginx有哪些信息能夠監控,nginx內置了一個status狀態的功能,經過配置能夠看到nginx的運行狀況,status顯示的內容包括當前鏈接數,處於活動狀態的鏈接數,已經處理的請求數等等,關於status狀態頁的配置在nginx啓用status狀態頁文章有介紹,這裏再也不多說。web
經過腳本獲取status頁面信息的關鍵值,zabbix server經過這些關鍵值才能生成數據圖像,獲取status的關鍵值腳本以下:shell
#! /bin/bash #date: 2018-05-04 # Description:zabbix監控nginx性能以及進程狀態 # Note:此腳本須要配置在被監控端,不然ping檢測將會獲得不符合預期的結果 HOST="gudaoyufu.com" PORT="80" # 檢測nginx進程是否存在 function ping { /sbin/pidof nginx | wc -l } # 檢測nginx性能 function active { /usr/bin/curl "http://$HOST:$PORT/status/" 2>/dev/null| grep 'Active' | awk '{print $NF}' } function reading { /usr/bin/curl "http://$HOST:$PORT/status/" 2>/dev/null| grep 'Reading' | awk '{print $2}' } function writing { /usr/bin/curl "http://$HOST:$PORT/status/" 2>/dev/null| grep 'Writing' | awk '{print $4}' } function waiting { /usr/bin/curl "http://$HOST:$PORT/status/" 2>/dev/null| grep 'Waiting' | awk '{print $6}' } function accepts { /usr/bin/curl "http://$HOST:$PORT/status/" 2>/dev/null| awk NR==3 | awk '{print $1}' } function handled { /usr/bin/curl "http://$HOST:$PORT/status/" 2>/dev/null| awk NR==3 | awk '{print $2}' } function requests { /usr/bin/curl "http://$HOST:$PORT/status/" 2>/dev/null| awk NR==3 | awk '{print $3}' } # 執行function $1
腳本寫完先在本地測試一下
[root@web ~]# sh /home/scripts/ngx_status.sh active 2
要使用腳本監控須要將zabbixd.conf文件中的
UnsafeUserParameters=1
開啓
在腳本中添加定義如下各項的鍵值centos
UserParameter=nginx.status[*],/home/scripts/ngx_status.sh $1
配置好後重啓zabbix-agentbash
service zabbix-agent restart
[root@centos ~]# zabbix_get -s 45.76.195.97 -k nginx.status[active] 3
服務端測試正常後就能夠在web界面配置監控了,zabbix配置都是經過界面配置,要熟練配置監控,要了解zabbix的每一個組件的功能及各個組件之間的關係,不然看着一堆菜單選項會無從下手。
zabbix的配置流程大體以下:curl
建立主機組 -》添加主機 -》 建立監控模板 -》 建立應用集 -》建立監控項 -》 建立圖像—》建立觸發器 -》 建立事件 -》建立處理動做 -》 建立用戶組與用戶 -》建立告警方式
因爲前面已經建立了主機組和主機,這裏從配置模板開始,咱們能夠經過配置監控模板的方式,讓全部相同的監控需求的主機都統一調用這個監控模板,這樣就不用一個一個地添加監控項了。
這篇文章只作 建立監控模板 -》 建立應用集 -》建立監控項 -》 建立圖像 這三項的步奏,監控告警的內容之後再作。性能
定義模板信息,在建立模板的過程中,就能夠把該模板添加到指定的主機組或者主機中
返回模板頁已經看到建立的模板已經生成,這時建立的模板是空模板,要在這個模板中建立應用集,監控項等,點擊下圖中的應用集就能夠直接建立。
測試
建立應用集我理解爲只是給整個模板組中的一部分監控項模板分類,一個模板組中能夠建立不一樣類別的監控項,建立應用集只是起一個名字,從上圖中的應用集進入後建立好應用集而後就能夠在應用集中建立監控項了,見下圖
url
建立監控項要注意命名方式,可以見名知意,最關鍵的是 鍵值 ,這裏的鍵值一點要和agent端的配置文件中定義的鍵值一致rest
在監控腳本中,一共定義了7個監控項,因此這裏的監控項頁要建立7個,重複上面的步奏,建立腳本中相應的監控項
監控項建立好後就能夠建立圖像了
建立圖像在選擇要顯示的圖像的監控項時能夠選擇多個監控項,這樣就能夠在一個圖像中顯示多個數據的線圖
圖像建立完成之後就能夠在看到建立的監控模板已經在工做了,在 最新數據 中能夠看到建立的模板信息
進入主機查看,建立的應用集已經在主機的應用集中,由於在剛開始建立模板時已經把模板加到該主機中了
最後看看效果圖吧
看到建立的圖像模板已經出圖像了,建立圖像模板時定義了4個監控項,因此這裏有4個線圖。