成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

elk 日志分析-logstash配置

tomorrowwu / 3213人閱讀

摘要:是一個(gè)完全開源的工具,他可以對你的日志進(jìn)行收集分析,并將其存儲(chǔ)供以后使用。也是一個(gè)開源和免費(fèi)的工具,他可以為和提供的日志分析友好的界面,可以幫助您匯總分析和搜索重要數(shù)據(jù)日志。

ELK 由 ElasticSearch 、 Logstash 和 Kiabana 三個(gè)開源工具組成。官方網(wǎng)站: https://www.elastic.co/products

Elasticsearch 是個(gè)開源分布式搜索引擎,它的特點(diǎn)有:分布式,零配置,自動(dòng)發(fā)現(xiàn),索引自動(dòng)分片,索引副本機(jī)制, restful 風(fēng)格接口,多數(shù)據(jù)源,自動(dòng)搜索負(fù)載等。

Logstash 是一個(gè)完全開源的工具,他可以對你的日志進(jìn)行收集、分析,并將其存儲(chǔ)供以后使用。

kibana 也是一個(gè)開源和免費(fèi)的工具,他 Kibana 可以為 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以幫助您匯總、分析和搜索重要數(shù)據(jù)日志。

elk工作流程:
數(shù)據(jù)--[輸入數(shù)據(jù)]-->Logstash--[過濾輸出數(shù)據(jù)]-->Elasticsearch--[展示分析數(shù)據(jù)]-->kibana

這里主要說下Logstash的配置(其他安裝配置都比較簡單,且文檔豐富)
常規(guī)日志格式
1、 首先是配置Nginx訪問日志的格式,根據(jù)日志分析需求配置

 log_format access "$http_host $remote_addr - $remote_user [$time_local] "$request" "
            "$status $body_bytes_sent "$http_referer" "
            ""$http_user_agent" "
            "$request_time $upstream_response_time "
            ""$http_x_forwarded_for"";

2、 Logstash,它主要是連接數(shù)據(jù)和es的管道,一切數(shù)據(jù)源,過濾,輸出地址均在logstash配置文件中進(jìn)行配置,寫配置文件的時(shí)候需要根據(jù)elk的版本號(hào)對應(yīng)配置,比如我在配置過程中filter中沒有type設(shè)置項(xiàng),執(zhí)行時(shí)就會(huì)有報(bào)錯(cuò),可以根據(jù)報(bào)錯(cuò)信息進(jìn)行對應(yīng)修改

 input {
            file {
                    path => "/Users/User/log/access.log"
                    type => "web_nginx_access"
            }
    }
    filter {
    if [type] == "web_nginx_access" {
            grok {
                    match => [
                    "message", "%{IPORHOST:http_host} %{IPORHOST:user_ip} - - [%{HTTPDATE:timestamp}] "(?:%{WORD:verb} %{NOTSPACE:request}(?: HTTP/%{NUMBER:httpversion:float})?|%{DATA:rawrequest})" %{NUMBER:response:int} (?:%{NUMBER:bytes:int}|-) %{QS:referrer} %{QS:useragent} (?:%{NUMBER:request_time:float}|-) (?:%{NUMBER:upstream_time:float}|-)"
                    ]
            }
    }
            geoip {
                    source => "user_ip"
            }
    
    if [type] == "web_nginx_access" {
            date {
                    match => [ "timestamp" , "dd/MMM/YYYY:HH:mm:ss Z" ]
            }
    }
            useragent {
                    target => "ua"
                    source => "useragent"
            }
    }
    output {
        elasticsearch {
             hosts => "127.0.0.1"
            index => "logstash-web_nginx_access-%{+YYYY.MM.dd}"
        }
    }

Json日志格式
1、nginx配置使用json格式,logstash的配置會(huì)非常簡單

2、logstash配置

input {
        file {
                path => "/Users/User/log/access.log"
                type => "web_nginx_access"
                start_position => beginning
                codec => "json"
        }
}

filter {
}
output {
    elasticsearch {
        hosts => "127.0.0.1"
        index => "logstash-web_nginx_access-%{+YYYY.MM.dd}"
    }
}

自定義格式
1、例如程序記錄的日志格式是這樣的:[NOTICE] [2017-04-05 12:00:00] [404] [/index.php] [500] [id=123&btime=2017&etime=2018] [路徑不存在];就可以在logstash自定義正則匹配,重命名字段
2、logstash配置

input {
    file {
        path => ["/opt/logs/applog/applog_*.log", "***.log"] #日志路徑,可以是數(shù)組形式
        start_position => beginning #從日志開始位置導(dǎo)入數(shù)據(jù)
        sincedb_path => "/etc/logstash/conf.d/sincedb" #存儲(chǔ)導(dǎo)入進(jìn)度,刪除后會(huì)重新導(dǎo)入所有數(shù)據(jù)
    }
}
filter {
    grok {
        match => { "message" => "(?[(.*?)])s*(?[(.*?)])s*(?[(.*?)])s*(?[(.*?)])s*(?[(.*?)])s*(?[(.*?)])s*(?[(.*?)])s*"} #匹配規(guī)則,match可以是多個(gè),自動(dòng)匹配合適的規(guī)則表達(dá)式
    }
}
output {
   elasticsearch {
       hosts => "127.0.0.1:9200"
       index => "logstash-%{+YYYY.MM.dd}" #生成es文件名稱
   }
}

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/39461.html

相關(guān)文章

  • log4j2+ELK

    摘要:問題初衷最近有個(gè)項(xiàng)目需求,需要統(tǒng)計(jì)下用戶的使用情況,比如什么時(shí)候登錄的,查詢了什么內(nèi)容等信息。缺點(diǎn)擴(kuò)展能力需要靠自己設(shè)計(jì),統(tǒng)計(jì)展示畫面需要自己做。可輕松應(yīng)對分布式,數(shù)據(jù)量大的情況。通過,如下修改,在重啟后又會(huì)恢復(fù)原值。 問題初衷 最近有個(gè)項(xiàng)目需求,需要統(tǒng)計(jì)下用戶app的使用情況,比如:什么時(shí)候登錄的,查詢了什么內(nèi)容等信息。 解決方案 1.定義用戶軌跡模型,每步操作都寫到數(shù)據(jù)庫中,然后在...

    Sunxb 評論0 收藏0
  • 使用ELK處理Docker日志(一)

    摘要:編者的話產(chǎn)品經(jīng)理為了紀(jì)念四歲生日,撰寫一系列文章,介紹如何使用收集和處理環(huán)境日志。在將日志發(fā)送到的上下文中,使用日志驅(qū)動(dòng)可能是最簡單的方法。如果使用或日志記錄驅(qū)動(dòng)程序,則需要將定義為輸入。 [編者的話] Daniel Berman ( Logz.io 產(chǎn)品經(jīng)理)為了紀(jì)念 Docker 四歲生日,撰寫一系列文章,介紹如何使用 ELK 收集和處理 Dockerized 環(huán)境日志。小數(shù)今天...

    singerye 評論0 收藏0
  • ELK結(jié)合logback搭建日志中心

    摘要:日志監(jiān)控和分析在保障業(yè)務(wù)穩(wěn)定運(yùn)行時(shí),起到了很重要的作用。本文搭建的的是一個(gè)分布式的日志收集和分析系統(tǒng)。對于隊(duì)列上的這些未處理的日志,有不同的幾臺(tái)進(jìn)行接收和分析。再由統(tǒng)一的進(jìn)行日志界面的展示。如等配置文件可以配置,等日志報(bào)表可視化熟練 ELK簡介ELKStack即Elasticsearch + Logstash + Kibana。日志監(jiān)控和分析在保障業(yè)務(wù)穩(wěn)定運(yùn)行時(shí),起到了很重要的作用。比...

    tracy 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<