zabbix自定義監控腳本
㈠ zabbix的自定義KEY(linux)
謝謝你的回答。問題已經解決了,不過解決的方法和你的有所不同。
第一個KEY是正常的;
第二個KEY監控的是新安裝的redis,redis-cli
info的絕對路徑是/usr/local/bin/,而zabbix客戶端默認的腳本的PATH不存在此路徑。因此KEY中的命令應該是/usr/local/bin/redis-cli
info;
第三個KEY沒有值返回,因此報ZBX_NOTSUPPORTED
㈡ zabbix伺服器需要怎麼樣的硬體配置
配置方式:
1. 完成自定義監控腳本的編寫(windows或linux腳本)
腳本要求:(1)既然是監控,那必然要有輸出結果值(字元串,數字皆可)
(2)必須要求zabbix用戶有執行許可權,當然可以直接設置所有用戶都有執行許可權(chmod 777 腳本文件)
(3)若腳本需要傳入參數,按照參數傳入的順序,在腳本中可用$1-$9來引用傳入的參數
2 找到zabbix agent的配置文件zabbix_agentd.conf,修改如下兩個參數
UnsafeUserParameters=0 => UnsafeUserParameters=1並去掉前面的注釋符
UserParameter= => UserParameter=aaa.bbb[*], /usr/local/script/monitor.sh $1 $2 …
說明:aaa.bbb[*] ---zabbix伺服器添加監控信息時需要用到的key值,
格式:aaa.bbb[*](例:system.file.size[*])
/usr/local/script/monitor.sh ----監控腳本絕對路徑
為了便於靈活監控,有時腳本需要傳入參數,此參數可從zabbix伺服器端傳入,所有參數按順序分別從$1-$9表示
註:(1)若無需傳入參數,則紅色部分可省略
(2)該自定義腳本可由zabbix伺服器控制收集數據的頻率(如:每30s運行一次),無需再添加計劃任務
(3)以上參數請根據實際情況填寫,並注意去除參數前注釋符(#)
(4)注意在key值和後面的腳本之間有個逗號隔開
至此,自定義監控腳本zabbix agent端配置結束
3. 測試
測試命令: /usr/local/bin/zabbix_agentd -t key[參數]
示例:/usr/local/bin/zabbix_agentd -t system.file.size[/etc/a.txt,abc,…]
4. 監控腳本舉例:
腳本名稱:/usr/local/script/monitor.sh
腳本內容:echo `date +"%F %T"`
腳本要求:必須在控制台輸出值,該值將作為返回值返回給zabbix伺服器端
㈢ zabbix-agnet擴展監控腳本多次調用失敗
1.修改zabbix server端的配置文件,啟用AlertScriptsPath,使其支持腳本功能
1.編輯zabbix server端的配置文件,並重啟服務
# vim /etc/zabbix/zabbix_server.conf
AlertScriptsPath=/usr/local/zabbix/alertscripts
# /etc/init.d/zabbix_server restart
2.在服務端添加郵件報警的python腳本,並給腳本執行許可權
郵件報警,並記錄日誌
# vim /usr/local/zabbix/alertscripts/zabbix_sendmail.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import pdb
import smtplib
import string
import time
import sys
reload(sys)
sys.setdefaultencoding(『utf-8『)
#pdb.set_trace()
#HOST = "mail.gw.com.cn"
def S_Mail():
HOST = "smtp.exmail.qq.com" #郵件伺服器
SUBJECT = sys.argv[2].decode(『utf-8『).encode(『gbk『) #主題
TO =sys.argv[1] #收件郵箱
FROM = "[email protected]"
text = sys.argv[3].decode(『utf-8『).encode(『gbk『) #發件內容
BODY = string.join((
"FROM: %s" % FROM,
"To: %s" % TO,
"Subject: %s" %SUBJECT,
"",
text
),"\r\n")
server = smtplib.SMTP()
server.connect(HOST,25)
#server.starttls()
server.login("發件郵箱","密碼")
server.sendmail(FROM,[TO],BODY)
server.quit()
# email log 記錄日誌
with open(『/data/logs/zabbix/Email.log『, 『a『) as f:
date=time.strftime("%y-%m-%d %H:%M:%S")
str = date + " " + TO +" " + SUBJECT + "\r\n" + "\n"
str1 = str.decode(『gbk『).encode(『utf-8『)
# print("%s" %str1)
f.write(str1)
if __name__==『__main__『:
S_Mail()
㈣ 如何自定義zabbix snmp監控項
看報錯我猜測可能你安裝的時候沒有開啟snmp模塊,--with-net-snmp看看編譯的時候是否加了這個參數。
㈤ zabbix3.2中媒介腳本的參數怎麼傳
配置方式: 1. 完成自定義監控腳本的編寫(windows或linux腳本) 腳本要求:(1)既然是監控,那必然要有輸出結果值(字元串,數字皆可) (2)必須要求zabbix用戶有執行許可權,當然可以直接設置所有用戶都有執行許可權(chmod 777 腳本文件)
㈥ 用python怎麼可以給zabbix添加監控像到某個模板下的某個應用集,而不是某個主機嗎下面是我的
到zabbix 的web頁面,點擊配置----> 主機---->點擊右上角的 添加主機。 主機名稱 : 在 agent 端配置文件裡面配置的 hostname 是什麼這里就寫什麼 可見的名稱 : 自定義 群組 : 自定義 agent代理程序的介面 : agent 的IP 跟 埠 然後點擊模板 -----> 添加模板
㈦ zabbix自定義腳本執行時間過長,怎樣設置監控項
具體示例和格式就是這樣的:system.cpu.util[0,user,avg5]默認的參數是這樣的system.cpu.util[,,]cpu具體編號就是CPU的具體核心,為空就代筆CPU所以核心type就是CPU的不同狀態值idle,nice,user(default),system(defaultforWindows),iowait,interrupt,softirq,steal其中idle表示空閑,user表示用戶使用最後的avg5表示平均每5分鍾的值,為空表示當前值,要改成平均每15分鍾只需要寫成avg15當前CPU使用率寫成system.cpu.util[,user]即可,同理system.cpu.util[,idle]
㈧ zabbix自定義腳本執行時間過長,怎樣設置監控項呢
好辦法!之前我曾經想過讓zabbixagent調用BAT文件,先用BAT的start功能讓VBS在旁邊運行著,自己讀取VBS上次執行的結果。可惜zabbixagent似乎在BAT執行完畢後,會將它start出來的子進程也結束掉,無法實現我要的效果。不過還真沒想過用windows的任務計劃來先執行VBS把結果放在那再獲取。謝樓上提醒! 查看原帖>>
