type
status
date
slug
summary
tags
category
icon
password
Java
Elasticsearch
rpm 安裝
調整設定檔
啟動並測試
logstash
rpm 安裝
調整設定檔
設定 logstash 線程
啟動並檢查
kibana
rpm 安裝
調整設定檔
啟動並打開 kibana 網頁
設定 Elasticsearch Index Template
這部分可以從
Management / Elasticesearch / index Management
中建立也可透過 Dev Tools
使用 PUT 指令建立,建立完畢之後可以透過 GET 確認。
inedx template 參考
- mysql-error
- mysql-slow
拉 Kibana 圖表範例
首先到
Management / Kibana / index Management
建立以下 2 個 pattern
接著就可以用這些 pattern 拉圖表了
- Visualize:單一圖表。
- Dashboard:整合多個 Visualize 圖表。
啟動權限認證
調整 ES 設定權限認證功能
透過指令設定帳號密碼
使用 kibana 的 keystore 將帳號密碼加密儲存在本地,讓 kibana 在啟動時就自動載入
使用 logstash 的 keystore 將帳號密碼加密儲存在本地,讓 logstash 在啟動時就自動載入
elastalert
安裝
- 安裝 python3
- 安裝 elastaleret
- 方法A:使用 pip3 安裝
- 方法B:從 git 獲取最新版本進行安裝
- 安裝 elastalert 需要的 elasticsearch
- 配置設定檔,可以從
elastalert/config.yaml.example
複製一份進行調整
參考
另外可以看到上面有使用到
match_enhancements
此設定的用途是在發送告警之前修改內容,但這部分需要自行編寫 python 實現,以下是將時間轉為 utc+8 的擴充案例:- 在 Elasticsearch 上建立 Elastalert 所需要的 index:
建立完畢後就可以在
Mangement / Index Management
看到多了這些 Index:
- 為 elastalert 建立 role 和 user:

- 建立告警規則,可以從
elastalert/example_rules/example_frequency.yaml
複製一份進行調整
參考
- 使用
elastalert-test-rule
測試剛剛建立的告警規則,確認是否有正確的過濾出來。
- 運行 ElastAlert
- 透過 crontab 定時運行查詢特定範圍內是否有符合的 log 進行告警
- run on daemon,讓 ElastAlert 始終保持運行,一收到 log 就進行告警
- 方法A:透過 Python 運行
- 方法B:透過 sytemd 運行