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收集日...