通過logstash進(jìn)行日志關(guān)鍵字監(jiān)控
本文檔介紹通過logstash,結(jié)合運(yùn)維事件中心的標(biāo)準(zhǔn)集成,進(jìn)行日志關(guān)鍵字監(jiān)控。
日常運(yùn)維過程中,很多場景都會有訴求,需要對日志關(guān)鍵字進(jìn)行監(jiān)測,以便第一時(shí)間發(fā)現(xiàn)應(yīng)用/業(yè)務(wù)相關(guān)異常,如jvm日志的gc關(guān)鍵字、業(yè)務(wù)日志的error關(guān)鍵字。本文檔將使用logstash對異常日志進(jìn)行采集及推送。
日志構(gòu)造
為了便于說明,本文檔將以不斷打印如下test.log進(jìn)行驗(yàn)證、演示。
2021-08-11T00:34:06+08:00 in shanghai,tradeplatform occur P1 ,112.11.12.11keywords error,message:Warning tradeplatform has some exception,content service exception;envirment type:online;group:aliyun;tags:xxxxx
日志推送至標(biāo)準(zhǔn)集成
下載并安裝logstash8.15.1組件。
修改logstash配置文件logstash.conf,對異常日志進(jìn)行推送。
查找logstash.conf路徑:
sudo find / -name logstash.conf
若沒有此文件可創(chuàng)建至以下路徑:
sudo vi /etc/logstash/conf.d/logstash.conf
logstash.conf配置文件參考如下:
input { beats { port => 5044 } file { path => "/home/test.log" type => "test" } } filter { if [type]=="test" { grok { match => { "message" => "%{TIMESTAMP_ISO8601:timestamp} in %{DATA:region},%{DATA:application} occur %{DATA:level},%{IPV4:source}%{DATA:name},message:%{DATA:summary},content%{DATA:details};envirment type:%{DATA:class};group:%{DATA:group};tags:%{DATA:tag}" } } mutate { remove_field => ["host"] remove_field => ["@version"] remove_field => ["@timestamp"] remove_field => ["path"] remove_field => ["message"] } } } output { if [type]=="test" { http { url => " 請?zhí)鎿Q為標(biāo)準(zhǔn)集成中的URL " http_method => "post" format => "json" } } }
說明上述的URL為標(biāo)準(zhǔn)集成的對接URL,可至運(yùn)維事件中心左側(cè)導(dǎo)航欄選擇 ,進(jìn)入標(biāo)準(zhǔn)集成中獲取,格式類似為:https://public-alert.aliyuncs.com/event/standard/8cd0b46766dd4e2488a5cd5663xxxxxx。
啟動(dòng)logstash,開始將異常日志推送至運(yùn)維事件中心。
為了便于標(biāo)準(zhǔn)集成中查看對應(yīng)數(shù)據(jù)格式,本示例手動(dòng)生成一條日志。
sudo echo '2021-08-11T00:34:06+08:00 in shanghai,tradeplatform occur P1 ,112.11.12.11keywords error,message:Warning tradeplatform has some exception,content service exception;envirment type:online;group:aliyun;tags:xxxxx' >> /home/test.log
在運(yùn)維事件中心的標(biāo)準(zhǔn)集成頁面,單擊集成。
驗(yàn)證集成配置:
在運(yùn)維事件中心的
頁面,已集成中的標(biāo)準(zhǔn)集成若顯示已接收告警,集成配置成功。若顯示未接收告警,則表示失敗。
集成配置及流轉(zhuǎn)
在運(yùn)維事件中心左側(cè)導(dǎo)航欄選擇 ,單擊標(biāo)準(zhǔn)集成,可以看最新推送的10條數(shù)據(jù)記錄。
在策略中心>流轉(zhuǎn)規(guī)則里新增對應(yīng)的規(guī)則,由于日志error是核心異常場景,此處示例優(yōu)先級選擇P1、個(gè)人通知勾選電話通知。
為了便于演示,本示例手動(dòng)生成一條日志,以便生成對應(yīng)事件,執(zhí)行以下命令即可。
sudo echo '2021-08-11T00:34:06+08:00 in shanghai,tradeplatform occur P1 ,112.11.12.11keywords error,message:Warning tradeplatform has some exception,content service exception;envirment type:online;group:aliyun;tags:xxxxx' >> /home/test.log
在運(yùn)維事件中心控制臺的事件中心>事件,即可看到最新推送告警所生成的事件。同時(shí)分派對象會接收到對應(yīng)的電話、短信、郵件通知。
其他
以上為如果通過logstash進(jìn)行日志推送,并在運(yùn)維事件中心中配置對應(yīng)關(guān)鍵字,以便準(zhǔn)確生成對應(yīng)事件進(jìn)行流轉(zhuǎn)處理。實(shí)際場景中,也可通過其他技術(shù)手段實(shí)現(xiàn)推送,如將logstash替換為filebeat等常見開源日志組件、應(yīng)用程序打印日志通過Shell腳本進(jìn)行讀取并推送等。