ELK 日誌分析系統

2022-08-12 01:48:10 字數 2731 閱讀 3693

elk就是一套完整的日誌分析系統

elk=logstash+elasticsearch+kibana

統一官網

elk模組說明

logstash

作用:用於處理傳入的日誌,負責收集、過濾和寫出日誌

logstash分為三個元件input,filter,output

輸入input

常用file,redis,kafka

示例:input

file "  //自定義變數

input %"} 

overwrite => ["message"]  //重寫message

grok內建變數 

可以自定義變數

1.自定義變數路徑

/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-patterns-core-2.0.2/patterns

2. 自定義變數存放在 /opt/logstash/patterns

在配置中新增

filter %"}}

}openstack_normal ^% % % %%

2016-04-27 15:19:14.455 4392 debug nova.api.openstack.wsgi [req-fde66cf0-6d28-4b0d-8671-bce33bb48665 0f288a5b5f19437db670ef94269bfd36 629fb63dd82e46fa937accc99d417059 - - -] action: 'create', calling method: >, body: ]}} _process_stack /usr/lib/python2.7/site-packages/nova/api/openstack/wsgi.py:789

output

常用elasticserch、儲存為檔案、輸出到hdfs、標準輸出

示例:output "

workers => 2

index => "logstash-%-%"  //索引名稱

output

get  查詢

post 更新

put  建立

delete刪除

head獲取基礎資訊

集群(cluster)

es集群是乙個或多個節點的集合,它們共同儲存了整個資料集,並提供了聯合索引以及可跨所有節點的搜尋能力。

es集群需要修改配置檔案

config/elasticsearch.yml

每台es機器的配置檔案中 cluster.name相同,node.name不一致

es集群內部實現ha,避免單點故障

集群內部自動選擇乙個主節點,監聽node節點狀態,如果發生故障提取節點副本分片,均衡分發給其他節點。

節點(node)

執行了單個例項的es主機稱為節點,它是集群的乙個成員,可以儲存資料、參與集群索引及搜尋操作。

分片(shard)

分片儲存索引,乙個索引可能會存在多個分片上。

shard有兩種型別:primary和replica,即主shard及副本shard。

primary shard建立完成,其primary shard的數量將不可更改,預設是5

replica shard是primary shard的副本,用於冗餘資料及提高搜尋效能,預設是1。

說明:elasticsearch優化方案

使用ssd 在elasticsearch.yml配置資料存放位置

path.data: /mnt/data/elasticsearch  #資料存在掛載硬碟 進行配置

根據索參數量,調整分片數量

根據實際情況調整記憶體

index中缺省會有_all的域,這個會給查詢帶來方便,但是會增加索引時間和索引尺寸

"_all" :

執行語句

put my_index

"my_type": %"}

overwrite => ["message"]

if "traceback" in [message] or "file" in [message] or "runtimeerror" in [message] or "command" in [message] or "exit" in [message] or "stdin" in [message]"

what => "previous"

date

elasticsearch

"workers => 16

index => "logstash-%-%"

elasticsearch  

按照模組query dsl 語句

nova-api

curl-xget"" -d

'},},

nova-scheduler

curl-xget"" -d

'},}],

"must_not": [ ],"should": [ ]

nova-conductor

curl-xget""  -d

'},}],

"must_not": [ ],

"should": [ ]

nova-compute

curl-xget""  -d

'},},

}}],

"must_not":

[},},

}],"should": [ ]

server.log

curl-xget""  -d

'},},

ELK日誌分析系統簡介

當我們部署集群伺服器的時候,日誌檔案就會散落在多台伺服器上。檢視日誌資訊就需要到各個伺服器上去取和檢視,我們把這些日誌檔案歸集到乙個地方統一管理。這個時候elk系統出現了,elk是elasticsearch logstashh和kibana三個系統的首字母組合。當然elk不只是檢視日誌功能這麼簡單,...

部署elk日誌分析系統

日誌分析是運維工程師解決系統故障,發現問題的主要手段。日誌主要包括系統日誌 應用程 序日誌和安全日誌。系統運維和開發人員可以通過日誌了解伺服器軟硬體資訊 檢查配置過程中的 錯誤及錯誤發生的原因。經常分析日誌可以了解伺服器的負荷,效能安全性,從而及時採取措施糾 正錯誤。通常,日誌被分散的儲存在不同的裝...

elk日誌分析系統(二)

上篇部落格介紹關於elk的原理和搭建 elk日誌分析系統 一 但這種架構只適合資料量不大且可靠性不強的業務使用,當大併發情況下,由於日誌傳輸峰值比較大,沒有訊息佇列來做緩衝,就會導致 elasticsearch 集群丟失數,所以需要對架構做進一步的擴充套件,引入kafka集群。filebeat收集日...