👨💻簡介
🔰ELFK-stack:使用docker-compose建立起tick-stack的架構,撈取的指標從config/telegraf.conf設定,並送往influxdb從起來,chronograf為ui介面,查看撈取的時間序列指標狀態,最後kapacitor則是處理告警的部分.
流程
- ⚙️TICK-stack : telrgraf(送資料) - influxdb(存資料) - chronograf(ui) - kapacitor(alert)
環境建置
telegraf設定
使用telegraf.conf設定輸出資料庫
[[outputs.influxdb]]
urls = ["http://influxdb:8086"]
database = "telegraf" # 要使用的資料庫
username = "admin"
password = "admin"
influxdb設定
使用configuration.env設定帳密以及資料庫
# InfluxDB options
INFLUXDB_DB=telegraf
INFLUXDB_ADMIN_USER=admin
INFLUXDB_ADMIN_PASSWORD=admin
kapacitor設定
使用kapacitor.conf
[[influxdb]]
enabled = true
name = "telegraf"
default = false
urls = ["http://influxdb:8086"]
username = "admin"
password = "admin"
[telegram]
enabled = true
url = "https://api.telegram.org/bot"
token = "bot-token"
啟動環境 docker-compose up
接著去本地chronograf http://IP:8888 設定influxdb以及kapacitor
- http:// IP :8086 for influxdb
- http:// IP :9092 for kapacitor
告警設計
參考cpu_alert.tick.example
使用告警
透過kapacitor cd /var/lib/kapacitor
# cpu_alert為任務task_id
# 定義任務
kapacitor define cpu_alert -tick cpu_alert.tick -type stream -dbrp telegraf.autogen
# 啟動任務
kapacitor enable cpu_alert
# 停止任務
kapacitor disable cpu_alert
# 刪除任務
kapacitor delete tasks cpu_alert
# 列出所有任務
kapacitor list tasks