有時候我們想讓被監控端執行一個zabbix沒有預定義的檢測,zabbix的使用者自定義參數功能提供了這個方法。我們可以在用戶端配置檔案zabbix_angentd.conf裡面配置UserParameter.
<code>文法如下:</code>
使用者自定義參數包含一個key和一個指令,key必須整個系統唯一,配置好之後,重新開機用戶端。 然後配置item,在key的位置填上我們自定義的key即可。
如果調用ping這個key,将會收到傳回值1.
如果傳回1表示MySQL運作中,如果傳回0表示MySQL挂了
<code>參數</code> <code>描述</code>
<code>Key</code> 唯一. [*]表示裡面可以傳遞多個參數
<code>Command</code> 需要執行的腳本,key的[]裡面的參數一一對應到9,一共9個參數。$0表示腳本指令.
我們這個參數可以查出記憶體空閑了多少,如果我們zabbix要監控,但是zabbix伺服器上面沒有這個key怎麼辦呢,我們就要自定義了
1、用戶端必須安裝了<code>zabbix-agentd用戶端</code>,修改<code>zabbix_agentd.conf</code>
2、重新開機<code>用戶端</code>
3、在<code>zabbix服務端</code>上面zabbix_get測試能否擷取資料
我們都知道/proc是核心的反射區,/proc/meminfo 中顯示的記憶體資訊
上面顯示出來了記憶體的詳細資訊,我們如何定義key讓zabbix服務端監控我們主機的記憶體資訊
1、執行正規表達式指令可以把資訊過濾出來,但是每個參數都用一個正規表達式來做,這不符合我們這些進階的搬伺服器能幹的出來的的,從上面的簡單案例可以看出,我們可以使用<code>[*]</code>然後<code>$1</code>,<code>$2</code>這樣的來調用
2、我們就監控這些參數,用一個key實作
3、修改<code>zabbix_agentd.conf</code>
<code>$1 是調用前面的[*]裡面的參數的,為什麼使用$$2,如果使用一個$會讓這個shell指令認為是調用第二個[*]裡面的參數</code>
4、我們在伺服器用zabbix_get測試,看能不能擷取key定義的值(<code>完全不用質疑,可以</code>)
5、到zabbix伺服器上面添加對應的參數監控項,然後集中到一個圖裡面,應該不是什麼事吧,不會設定監控項和圖的,可以參考前面的文章
1、nginx server的主配置檔案 都配置status子產品 代碼端如下
2、nginx-status的取值腳本
3、加上執行權限
4、修改<code>zabbix_agentd.conf</code>
5、zabbix服務端zabbix_get測試自定義key
6、自定義已經執行成功,在web上面添加監控項
7、添加好,把監控項做成一張圖
版權聲明:本文轉自 好筆記運維 51CTO部落格,原文連結:http://blog.51cto.com/zhang789/1869798,如需轉載請自行聯系原作者