Zabbix日常監控(觸發器表達式、遠程執行命令、宏簡等)簡單記錄


 

 

 

 

 

 

 

 

 

 

 

主機的工作基本流程

Host group --> Host --> Application --> Item -->
Trigger(OK-->PROBLEM,trigger event) --> Action(
Conditon+Operation(send Message,Rend Command))
注釋:主機組、主機、模板、監控項、觸發器(OK或失敗,產生事件)、動作(通知動作)

 

、觸發器表達式

觸發器之間的依賴關系
例如一個主機DOWN就會出現很多報警,該主機的所有觸發器都應依賴於agent檢測觸發器(不至於出現告警風暴)

1、格式及說明

item key:
命名要求:只能使用字母、數字、下划線、點號、連接符

Trigger:
觸發器表達式:
{<server>:<key>.<function>(<parameter>)}<operator><constant>

示例:{www.kuaiyun.cn:system.cpu.load[all,avg1].last(0)}>3

注釋:
server 主機名稱(也可以是模板名);
key 主機上關系的相應監控項的key值;

function 評估采集到的數據是否在合理范圍內時所使用的函數,其
評估過程可以根據采取的數據、當前時間及其他因素進行:
目前,觸發器所支持的函數有
avg  平均值
count  數據統計
change  返回最后的一個值和倒數第二個值對比
date   時間
dayofweek  本周的第幾天
delta  指定時間范圍內和數值內的
diff   文件是否有改變

iregexp  忽略字符大小寫,正則表達式
regexp  檢查最后一次采樣的數據是否能夠被制定的模式所匹配,
1表示匹配,0表示不匹配   主要用來監控日志內容的關鍵字

last  最近幾次采樣
max   最近采樣最大值
min
nodata  (對於采集不到數據)沒有數據判斷異常
now 返回自unix元年只此刻經歷的秒數
prev:倒數第二個采樣值;

str 從最后一個采樣中,查找此次指定的字符,1找到0沒找到
sum

parameter 函數參數:大多數數值函數可以接受秒數為其參數,
而如果在數值參數之前使用”#“做為前綴,則表示為最近幾次的取值,
如sum(300)表示300秒內所有取值之和,而sum(#10)則表示最近
10次取值之和;
此外,avg、count、last、min和max 還支持使用第二個參數,
用於完成時間限定;例如:max(1h,7d)將返回一周之前的最大值;

注釋:參考官方文檔:https://www.zabbix.com/documentation/3.0/manual/config/triggers

 

2、示例

1、Less than 5% free in the value cache
{Template App Zabbix Server:zabbix[vcache,buffer,pfree].min(10m)}<5
說明:
Template App Zabbix Server:主機名或模板名(模板套用到主機上) zabbix:key
vcache buffer pfree key值
min 函數
10m 函數范圍
< 條件
5 預設值
注釋:十分鍾內采集到的最小值如果小於5則進入PROBLEM狀態; 2、{www.kuaiyun.cn:system.cpu.load[all,avg1].last(0)}>3 說明: www.kuaiyun.cn 主機名或模板名(模板套用到主機上) system.cpu.load key值 all 所有的 avg1 過去一分鍾內 avg5 過去五分鍾內 last 函數“last()”獲取最近一次獲取的值 “>5”表示來自主機www.kuaiyun.cn的最后一次獲取的負載值大於5時觸發器就會進入PROBLEM狀態。

 

 二、遠程執行命令

遠程命令是個非常危險的操作,對於zabbix用戶的授權要根據具體情況給予相應的權限,本次僅為測試使用

1、概述

remote command 遠程執行命令:
1、給zabbix定義sudo規則: zabbix ALL=(ALL) ALL (根據現實需求自己定義) 2、不支持active模式的agent (主動模式,zabbix默認為被動模式) 3、不支持代理模式; 4、命令長度不得超過255個字符 5、可以使用宏; 6、10050的端口允許進入 7、zabbix-server近執行命令,而不關心命令是否執行成功;

 

 

2、修改agent配置文件

/etc/zabbix/zabbix_agentd.conf
EnableRemoteCommands=1  開啟遠程執行命令權限
LogRemteCommands=1   記錄執行日志
Defaults requiretty  #這項默認是開啟的,我們要注釋掉
解釋:任何一個執行sudo命令時必須使用htty執行

 

 

3、例如遠程執行重啟httpd服務

 

 

 

 

 

 

 

 

執行命令本身:
如果用到以root用戶執行命令,必須使用sudo命令
sudo /etc/rc.d/init.d/httpd restart

 

 

 

 

三、宏

宏:
一個已經定義好的變量

兩類:
內建:{MACRO_NAME}
自定義:{$MACRO_NAME}

可使用的級別
優先級:host Template global (主機 模板 全局)
找到后直接使用,不再想后續查找

 

模板:
一系列配置的集合,此配置可通過“鏈接”的方式應用於指定的主機


User Parmeters:
zabbix內置可許多的item key;
實現用戶自定義item key,實現特有數據指標監控;
只能在agent實現key的定義
語法:
UserParameter=<key>,<command>

不允許沒有被監控的主機上線


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM