日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ELK环境搭建

發布時間:2024/9/20 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ELK环境搭建 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
線上地址:http://kibana.apuscn.com/ 編輯此區域

什么是ELK

ELK Stack 是 Elasticsearch、Logstash、Kibana 三個開源軟件的組合。在實時數據檢索和分析場合,三者通常是配合共用,而且又都先后歸于 Elastic.co 公司名下,故有此簡稱。

  • Elasticsearch 開源的搜索引擎,基于lucene,負責數據的索引和存儲

  • Logstash 日志采集器,負責日志的采集和格式化。(可以被替代,例如fluentd,kafka等)

  • Kibana 一個基于瀏覽器頁面的Elasticsearch前端展示工具,負責數據的可視化

編輯此區域

ELK系統的搭建

使用版本:

  • ElasticSearch 2.2

  • Logstash 2.2

  • Kibana 4.4

要求:JDK 1.7以上

其他:解壓后即可使用,簡單方便

ElasticSearch的配置

  • shards:主分片與復制分片 (數據的重要性,查詢qps)

  • node:系統的可靠性

默認5主分片,1復制片

node起兩組

編輯此區域

ELK系統的使用

編輯此區域

日志采集

logstash配置文件的結構

# This is a comment. You should use comments to describe # parts of your configuration. input {... }filter {... }output {... }

Inputs,Outputs,Filters構成了Logstash的核心配置項。Logstash通過這3項的配置,建立一條事件處理的管道。

各個配置項下的的配置都是以插件的形式存在,這也為logstash提供了強大的擴展能力。

編輯此區域

input

input的機制是讓日志數據進入logstash。比如下面常用的:

  • file: 以文件來讀取日志數據,像linux的tail -0a命令。

  • syslog:監聽514端口的系統日志消息,并根據RFC3164格式解析。

  • redis: 采用redis來讀取。

  • kafka: 從kafka消息隊列中讀取

常用的file配置舉例:

input {file {path => "/var/log/messages"type => "syslog"}file {path => "/var/log/apache/access.log"type => "apache"} } 編輯此區域

filter

filter通常使用是介入logstash的鏈中處理數據。它的處理是管道化的,根據配置的順序進行處理。一些常用的filter:

  • grok: 幾乎可以解析任何文本的數據,它能把數據格式化成你需要的查詢格式。系統提供了120種正則,很多都是你需要的。

  • mutate: 你可以使用它重命名,刪除,替換和修改field。

  • geoip: 增加有關ip地理位置的信息

  • json: 解析json格式的數據

grok語法

https://www.elastic.co/guide/en/logstash/current/plugins-filters-grok.html

grok 里寫標準的正則,像下面這樣(類似perl): \s+(?<request_time>\d+(?:\.\d+)?)\s+grok使用的正則語法oniguruma: https://github.com/kkos/oniguruma/blob/master/doc/RE內置匹配樣式的使用: %{SYNTAX:SEMANTIC}

內置的匹配樣式

https://github.com/logstash-plugins/logstash-patterns-core/blob/master/patterns/grok-patterns

編輯此區域

output

輸出時logstash的最后處理階段了。一個事件可以通過多個輸出來處理,但是一旦所有的輸出都完成,這事件將運行結束。

  • elasticsearch: 如果你打算把你的數據保存在一個高效、便捷、容易的地方,elasticsearch是不錯的選擇。

  • file: 保存入文件

  • stdout: 標準輸出

編輯此區域

線上配置示例

input { file {type => "offerinfo_wf"path => "/mnt/logs/api/offerinfo/offerinfo.log.wf*"exclude => "*.monitor.old"close_older => 3600} file {type => "radar_wf"path => "/mnt/logs/api/radar/radarwf.*"exclude => ["*.monitor.old", "*.gz"]close_older => 3600} }filter {if [type] == "offerinfo_wf" {grok {match => { "message" => "%{WORD:level}: %{TIMESTAMP_ISO8601:timestamp} \[%{DATA:errorfile}:%{NUMBER:errorline}\] errno\[%{NUMBER:errno}\] ip\[%{IP:ip}\] logId\[%{NUMBER:log_id}\] uri\[%{DATA:uri}\] %{GREEDYDATA:loginfo}"}remove_field => ["message"]} }elseif [type] == "radar_wf" {grok {match => { "message" => "\[%{WORD:level}\] \[%{TIMESTAMP_ISO8601:timestamp}\] \[log_id:%{NUMBER:log_id},%{DATA:log_message}\] \|%{DATA:log_data}\|%{GREEDYDATA:baseinfo}"}remove_field => ["message"]} json {source => baseinforemove_field => ["baseinfo"]} }}output {elasticsearch {hosts => "172.31.4.209:9200"index => "logstash-%{type}-%{+YYYY.MM.dd}"document_type => "%{type}"} } 編輯此區域

kibana入門?

編輯附件

2Zo3bPa3.png?查看?(90.6 KB)?鄭 銘興, 2016-03-08 14:12

新建文件

總結

以上是生活随笔為你收集整理的ELK环境搭建的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。