1. 程式人生 > >logstash日誌收集展示與郵件報警

logstash日誌收集展示與郵件報警

有時候我們需要對一些伺服器日誌進行分析,並對其中錯誤的日誌進行報警,在這裡我們採用logstash來收集這些日誌,和採用自己開發的郵件傳送系統來發送錯誤日誌資料。

     例如我們有幾個檔案需要監控(BI日誌)

我們可以通過配置logstash來收集這些檔案日誌

input{

     file{

        path=> "/diskb/bidir/smartbi_prd_*/apache-tomcat-5.5.25_prd_*/logs/catalina.out"

        start_position=> "beginning"

        sincedb_path=> "/diskb/logstashlog/log"

        codec => plain {

             charset => "GBK"

        }

     }

}

filter {

     multiline {

            pattern => "^\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}"

            negate => true

            what => "previous"

        }

    mutate{

        add_field =>   {

                "logmessage" => "%{[message]}"

         }

        split => ["message"," "]

        add_field =>   {

                "logdate" => "%{[message][0]}"

                "logtime" => "%{[message][1]}"

                "logstate" => "%{[message][2]}"

        }

        remove_field => ["message"]

    }

    if [logdate] !~ /\d{2}-\d{2}/ {

        drop{}

     }    

     urldecode {

         all_fields => true 

     }

}

output{

       #對錯誤的日誌寫入到檔案中,供郵件傳送使用的附件

       #其實在這裡可以直接使用logstash自帶的郵件傳送系統,只不過部門要求郵件傳送的頻率不能

#高於一分鐘,故只能採用外部定時傳送

       if [logstate] =~ /ERROR/ {

         file {

           path => "/diskb/bi_error_log/bi_error.log"

          }

       }

        elasticsearch{

          hosts => [ "10.130.2.53:9200","10.130.2.46:9200","10.130.2.54:9200" ]

          flush_size=>50000

          workers => 5

          index=> "logstash-bi-tomcat-log"

        }

}

通過啟動這個conf檔案,就可以把全部資料匯入ES中,可由kibana展示,具體展示不再贅述;而同時把狀態為error的日誌匯入到一個文字中,供郵件傳送系統使用。至此完畢。

下附上:傳送郵件指令碼

#!/bin/sh

#sendmail error log to someone

#傳送的附件路徑

attachement="/diskb/bi_error_log/*.log"

if [ ! -f $attachement ];then

echo "file is not exist"

exit 1

fi

#收件人

maillist="[email protected]"

 cat > /etc/nail.rc<<EOF

set [email protected]

set smtp=60.28.250.158

set [email protected]

set smtp-auth-password=******

set smtp-auth=login

EOF

#echo "郵件內容" | /usr/local/mailx-12.4/mailx -v -s "郵件標題" [-a "附件路徑"] [-c "密送人mail"] 收件人

echo "Hello, please receive the error log for BI from hexun.bdc." | /usr/local/mailx-12.4/mailx -v -s "[The system sends]" -a $attachement $maillist

#傳送成功,刪除檔案

rm -fr $attachement

相關推薦

logstash日誌收集展示郵件報警

有時候我們需要對一些伺服器日誌進行分析,並對其中錯誤的日誌進行報警,在這裡我們採用logstash來收集這些日誌,和採用自己開發的郵件傳送系統來發送錯誤日誌資料。      例如我們有幾個檔案需要監控(BI日誌) 我們可以通過配置logstash來收集這些檔案日誌 in

ELK6.4安裝ES叢集kibana展示logstash日誌收集

ELK6.4安裝ES叢集kibana展示logstash日誌收集## 場景1: 業務:**功能掛了,讓開發看下問題吧 開發A:(運維)哥們幫忙查一下日誌 這時候運維就熟練的使用了grep,awk等命令,獲取開發想要的資訊。遇到多維度,複雜檢索時還是蠻費勁的,文字檢索也比

zabbix的短信郵件報警腳本

install .get mat spa 信息 問題 主題 會有 限制 #!/usr/bin/python # -*- coding: utf-8 -* import sys import smtplib from email import encoders from

es redis logstash 日誌收集系統排錯

bsp pos keys allow light 通過命令 bash 系統排錯 man 用logstash收集日誌並發送到redis,然後通過logstash取redis數據寫入到es集群,最近kibana顯示日誌總是中斷,日誌收集不過來,客戶端重啟發現報錯: Faile

簡單操作Zabbix安裝配置郵件報警(centos 7.4)

zabbix 監控 學習 Zabbix官網下載地址:https://www.zabbix.com/download 實驗拓撲:zabbix server端: 192.168.80.101 公網環境 centos 7.4 LAMP架構zabbix angent端: 1

Logstash日誌收集葵花寶典大整合

之前有做過一篇關於ELK日誌收集分析平臺的博文,而這片博文這是一個後續的版本,在這裡我將通過五個案例向大家詳細的講述Logstash集中、轉換和儲存資料的過程和相關配置使用,Logstash它的強大之處在於他可以通過非常多的方式去進行轉換日誌格式然後進行儲存,而支援儲存的方式也非常的多,但這裡主要結合

elasticsearch整合logstash日誌收集

Elasticsearch+Logstash+Kiabana環境安裝  虛擬機器建議記憶體設定為2G Elasticsearch環境安裝 https://blog.csdn.net/qq_38270106/article/details/84309702 Logstash環

rsyslog+elk 網路裝置日誌收集及釘釘報警

目錄 一.概要 二.實施 1.資料來源 2.rsyslog 3.elasticsearch 4.logstash 5.kibana  三.日誌展示 1.開啟kibana頁面 四·釘釘報警 1.elastalert 2.dingtalk 3

ELK實戰篇--logstash日誌收集eslaticsearch和kibana

前篇: ELK6.2.2日誌分析監控系統搭建和配置 ELK實戰篇 好,現在索引也可以建立了,現在可以來輸出nginx、apache、message、secrue的日誌到前臺展示(Nginx有的話直接修改,沒有自行安裝) 編輯nginx配置檔案,修改以下內容(在http模組下新增

日誌關鍵字監控及郵件報警

find_error.sh 編寫如下: todayday=$(date +%Y-%m-%d) thismoment=$(date +"%Y-%m-%d %H") echo $thismoment prg=/home/hoho/logs cd $prg iserror=`grep '$thismom

Android 日誌收集原理實踐

導讀 Android應用在開發和測試的過程中,如果出現crash,我們一般通過logcat日誌資訊就可以定位到crash的原因,從而排除BUG。但是如果我們的應用已經發布到了市場上,到時候再發生crash的話,我們想拿到crash的日誌資訊就很麻煩了,因為我們

shell腳本***檢測郵件報警

error change else bash 檢測 err shell then sum #!/bin/bashwebdir=/var/www/htmlcd $webdirmd5sum -c --quiet /opt/sumfile.db &>/opt/sum

logstash日誌收集

.mm index art tags true arc stat iou val input {file {path => "/home/nflow/logs/nisp-service/nisp-service.log" type => &q

ELK logstash郵件報警

ava port test mov message 2.6 cor line gem input { beats { type => beats port => 5089 }}filter { multiline {

ELK之生產日誌收集構架(filebeat-logstash-redis-logstash-elasticsearch-kibana)

mes 日誌log ruby 直接 search debug 存儲 code stdout  本次構架圖如下   說明:   1,前端服務器只啟動輕量級日誌收集工具filebeat(不需要JDK環境)   2,收集的日誌不進過處理直接發送到redis消息隊列   3,

ELK日誌收集監控

.data ear sta 直接下載 fig logstach apr jdk 估算 一、ELK介紹 分析數據,日誌,統計,聚合分析,了解用戶使用使用虛擬機情況。 openstack使用elk的原因:組件多日誌多。排查定位問題方便,統一收集錯誤。創建虛擬機時會生成日誌,若

Linux搭建ELK日誌收集系統:FIlebeat+Redis+Logstash+Elasticse

uri 對數 exp 取數 網速 docker useradd 通過 演示 Centos7部署ELK日誌收集系統 一、ELK概述: ELK是一組開源軟件的簡稱,其包括Elasticsearch、Logstash 和 Kibana。ELK最近幾年發展迅速,已經成為目前最流行的

ELK+kafka收集 Nginxtomcat日誌

思路 格式 site npr rip sna proto 是否 tables ELK日誌收集 ELK原理與介紹為什麽用到ELK:一般我們需要進行日誌分析場景:直接在日誌文件中 grep、awk 就可以獲得自己想要的信息。但在規模較大的場景中,此方法效率低下,面臨問題包括

logstash-使用日誌的生成時間戳替換日誌收集時間戳@timestamp

預設情況下ELK收集到的日誌在kibana上展示出來的時間戳和日誌的生成時間是不一致的,或許很多朋友來說和日誌生成的時間相差無幾, 那我只能說,你的日誌系統可能資源比較充足,處理的比較及時,所以你看到的日誌收集時間戳和日誌產生時間戳是相差無幾的效果, 但如果是想匯入歷史日誌資料進行相應的分析,這個時候

docker 部署 ELK (elasticsearch + logstash + kibana) 收集分析 nginx 日誌

git 專案地址 https://github.com/Gekkoou/docker-elk 目錄結構 ├── elasticsearch elasticsearch目錄 │ └── es