Zabbix Agent active主動模式監控日誌(多關鍵字)
需求:監控/data/app/app/logs/det.log日誌檔案,出現關鍵字BDRC_WARNING則告警,級別為Warning;出現關鍵字:BDRC_EROROR則告警,級別為Information。
日誌監控原理
1、Zabbix Server和Zabbix Agent會追蹤日誌檔案的大小和最後修改時間,並且分別記錄在位元組計數器和最新的時間計數器中。
2、Agent會從上次讀取日誌的地方開始讀取日誌。
3、位元組計數器和最新時間計數器的資料會被記錄在Zabbix資料庫,並且傳送給Agent,這樣能夠保證Agent從上次停止的地方開始讀取日誌。
4、當日志檔案大小小於位元組計數器中的數字時,位元組計數器會變為0,從頭開始讀取檔案。
5、所有符合配置的檔案,都會被監控。
6、一個目錄下的多個檔案如果修改時間相同,會按照字母順序來讀取。
7、到每個Update interval的時間時,Agent會檢查一次目錄下的檔案。
8、Zabbix Agent每秒傳送日誌量,有一個日誌行數上限,防止網路和CPU負載過高,這個數字在zabbix_agentd.conf中的MaxLinePerSecond。
log檔案的item解釋
log[file,<regexp>,<encoding>,<maxlines>,<mode>,<output>,<maxdelay>]
file - 日誌檔案的全路徑。
regexp - 過濾日誌的正規表示式。
encoding - 字元編碼,預設為英文單位元組SBCS(Single-Byte Character Set)。
maxlines - agent每秒傳送給server(或proxy)的資料的最大行數,這個引數會覆蓋掉zabbix_agentd.conf配置檔案裡的’MaxLinesPerSecond’引數。
mode - 可填引數:all(預設),skip(跳過舊資料)。
output - 自定義格式化輸出,預設輸出regexp匹配的整行資料。轉義字元’\0’表示regexp。
maxdelay-The ‘maxdelay’ parameter in log items allows ignoring some older lines from log files in order to get the most recent lines analyzed within the ‘maxdelay’ seconds.(這一句我翻譯不準,所以上上英文~)備註:我推薦大家使用第二個引數,如果只使用第一個引數,將會導致日誌檔案裡的內容統統丟給zabbix_server記錄。加上第二個引數時,過濾後的日誌內容才會傳給zabbix server,大大減少了日誌內容佔用的空間。
監控端 zabbix_Agentd.conf 的配置調整
zabbix客戶端配置主動模式尤為重要。在/etc/zabbix/zabbix-agentd.conf中進行修改
LogFile=/tmp/zabbix_agentd.log
StartAgents=0 #客戶端agent模式,設定為0表示關閉被動模式
Server=**.**.**.** 如果設定為純被動模式,則應該註釋掉這一條指令
ServerActive=**.**.**.** #主動模式的server IP地址
Hostname=test_host #重要:客戶端的hostname,一般使用本機ip
RefreshActiveChecks=120 #被監控端到伺服器獲取監控項的週期,預設120s即可
BufferSize=200 #被監控端儲存監控資訊的空間大小
Timeout=10 #超時時間
建立監控項
在zabbix後臺管理頁面中,選中主機新增監控項。
其中:型別選擇Zabbix客戶端(主動式)
鍵值:log[/eric/error_log-20170724.log,”abc|yyy”,,,skip,,]
鍵值含義見前面item解釋。
日誌時間格式:yyyy-MM-dd hh:mm:ss,為“年-月-日:小時-分鐘-秒”。
型別:Zabbix主動式。zabbix agent檢測分為主動(agent active)和被動(agent)兩種形式,主動與被動的說法均是相對於agent來討論的。簡單說明一下主動與被動的區別如下:
主動:agent請求server獲取主動的監控項列表,並主動將監控項內需要檢測的資料提交給server/proxy
被動:server向agent請求獲取監控項的資料,agent返回資料。
建立觸發器
另一個觸發器配置同上,不做重複新增哦~
檢視資料
手動新增此兩個關鍵字的日誌記錄,然後在檢測中——最新資料中,可以看到攔截這兩個關鍵字的日誌記錄。出現此兩個關鍵字說明攔截到。
在首頁-儀表盤中會看到相關警報(Waring或Information)。
注意:
讀取日誌時,有時會顯示cannot open ‘/data/app/app/logs/det.log’: [13] Permission denied。
原因是:zabbix使用者無法讀取該日誌檔案。需要在該日誌檔案的許可權中加入讀的許可權。即+r
0823日更新
今天開發小哥反應,日誌裡有關鍵字報錯,然而我們並沒有監控到。
反思:昨天還可以的,今天為什麼不闊以?
1.難道路徑不對,上機器看路徑,發現沒變。
2.路徑都對,難道許可權不對?ll一把看看日誌許可權,發現其他組裡面那個r不見了,就是不能讀了,怪不得監控不到。
but為什麼r不見了呢?原因是每天會新產生一個日誌檔案,覆蓋掉這個檔案,然後許可權就無效了。
解決方法:
將zabbix使用者加入到app使用者組(就是檔案的擁有者的群組)
usermod -a -G app zabbix
檢視是否加入成功
id zabbix
檢視日誌許可權
ll /data/app/app/logs/xx.log
相關文章
- Zabbix Agent active主動模式監控模式
- Zabbix學習(五)之Zabbix Agent Active 主動模式監控模式
- Zabbix Agent active主動模式配置模式
- Zabbix Agent active批量調整客戶端為主動模式監控客戶端模式
- Zabbix Agent active主動模式配置圖文版本模式
- Zabbix-agent主動模式模式
- Zabbix——zabbix-agent被動模式變主動模式模式
- zabbix的主動模式監控和zabbix-proxy分散式監控模式分散式
- zabbix-agent修改主動模式模式
- zabbix agent(Active)模式 /克隆修改模板模式
- zabbix-agent主動模式zabbix-proxy配置模式
- zabbix-agent被動模式變為主動模式模式
- 日誌監控實踐 - 監控Agent整合Lua引擎實現多維度日誌採集
- Zabbix如何監控Oracle的告警日誌Oracle
- 使用zabbix監控oracle的後臺日誌Oracle
- zabbix agent 日誌檔案輪詢分析
- 分散式監控系統之Zabbix主動、被動及web監控分散式Web
- 黑盒監控、日誌監控
- 日誌監控
- 分散式監控系統Zabbix-新增windows監控主機分散式Windows
- Zabbix新增主機監控-zabbix+grafana從零設計自己的監控平臺Grafana
- zabbix監控
- Zabbix 主被動模式解析模式
- zabbix的主動模式和被動模式模式
- 把zabbix_agent 預設模板Template OS Linux 克隆為主動模式Linux模式
- zabbix server壓力大問題:啟用agent客戶端主動模式Server客戶端模式
- Mysql事件監控日誌MySql事件
- 用zabbix監控mysql的主從複製MySql
- 用zabbix監控oracle dg從庫是否應用日誌的指令碼Oracle應用日誌指令碼
- Zabbix設定主動模式與被動模式模式
- FCS程式日誌的關鍵字說明
- Zabbix監控ActiveMQMQ
- MySQL監控--zabbixMySql
- Zabbix監控之遷移Zabbix
- zabbix應用-監控mysql slave 主從狀態MySql
- 小程式日誌監控工具
- DG 日誌傳輸監控
- Python監控日誌程式Python