前提:已經安裝好了zabbix server和zabbix agent
下面的方式不適合諸如用qq郵箱作為mail服務器,毫無疑問,zabbix支持自定義的郵件發送腳本,今天時間有限,改天在寫!
1、為用戶配置media types,如下圖
選擇'Administration'->'Media types'->'Email'
SMTP server是郵件服務器的地址(可以是ip或者是域名或者是主機名,你的zabbix server必須能夠跟他通信,如果是域名或者是主機名,必須能夠解析);SMTP helo是一個域名,一般是admin@sh.99cloud.net當中的sh.99cloud.net;SMTP email是發送報警郵件的郵箱。
2、為用戶設置自己的接收報警郵件的郵箱
選擇->'Administration'->'Users'->'Users'->'Admin'->'Media'->'Add'
在Send to這里填上你想要接收報警發來的郵件,郵箱。其它保持默認,點擊Add。
這里的When active代表着時間可以自行設定,比如說想周一到周5報警的時間為全天候,而周六到周日的時間為早上8:00到晚上8:00那么可以這樣設置:1-5,00:00-24:00;6-7,8:00-20:00
3、監控一台Host:(如果已經完成那么跳過)
選擇'Configuration'->'Host'->'Create host'如下圖
這里需要注意的有兩個地方第一個是Host name,第二個是Agent interfaces,Host name等於在zabbix_agentd.conf文件中的Hostname的值,Agent interfaces等於zabbix agent的ip,Groups In groups的作用是為了方便管理,將具有相同特點的主機或者服務集合在一起,在查看的時候更加的方便、快捷。
4、添加Items如下圖
選擇'Configuration'->'Hosts'->'Items'->'Create item'
出現如下界面:
這里需要填入Name,Key,Type of information選擇Numeric(float)其它的保持默認就行,最后點擊Add
5、定義Items的觸發值Triggers
選擇'Configuration'->'Hosts'->'Triggers'->'Create trigger'
Name代表Trigger的名字,隨便填,Expression代表當compute002這台的cpu負載大於0的時候觸發報警(將compute002的小數點換成冒號,{compute002:system.cpu.load.last()}>0),報警程度為High,點擊Add;
6、定義Actions
定義了Items是為了收集數據,定義Triggers是為了報警條件,定義Actions是為了觸發報警;選擇'Configuration'->'Actions'->'Create action'
填上Name,隨便定義,選擇Conditions:
已Trigger name為例,后面填定義Items時的名字cpu load;選擇Operations:
在Send to Users點擊Add選擇用戶,最后點擊Add,在點擊Add。
重點:Default operation setp duration意味着發送多久執行operation details中Step的操作,operation details表示報警的步驟,這里可以定義發送郵件,執行命令,舉個例子,設置From 1 To 8 時間為600,操作為發送郵件,表示間隔10分鍾發送一次通知。
到這里便設置完成,可以進入Monitoring->Events進行查看,如若成功,則Actions自段是綠色的Ok,最后將會接收到一封系統默認信息的郵件:
這里的消息內容可以在Default message進行修改,支持內部自帶的變量諸如{HOST.IP}等。