每天都在被ELK折磨

Hachibye
2 min readFeb 21, 2024

--

Debug ELK errors / Dev tools command

掃雷筆記

elasticsearch起不來

  • 第一步:虛擬記憶體不足

max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

sudo vim /etc/sysctl.conf 

#追加以下内容:
#vm.max_map_count=262144
#保存退出

#套用
sysctl -p
  • 第二步:volume資料夾尚存舊有內容
  1. 至volume/節點名稱/刪除_state資料夾
  2. 若要重新加入節點,也需要刪除indices資料夾(資料會不見)

logstash起不來

  • 檢查logstash/pipeline/logstash.conf
output {
elasticsearch {
#主機名稱,檢查ip或節點名稱
hosts => "elasticsearch01:9200"
#用戶名稱
user => "logstash_internal"
#用戶密碼
password => "${LOGSTASH_INTERNAL_PASSWORD}"
}
}

kibana起不來

  • 確保elasticsearch已起來
#需要輸入帳號密碼
curl http://節點ip:9200 -u <帳號>
  • 檢查kibana/config/kibana.yaml
server.name: kibana
#檢查是否對外開放
server.host: 0.0.0.0
#檢查節點名稱
elasticsearch.hosts: [ http://elasticsearch01:9200 ]

elasticsearch無法建立集群/加入節點

master not discovered yet, this node has not previously joined a bootstrapped (v7+) cluster, and this node must discover master-eligible nodes [xxx] to bootstrap a cluster: have discovered [{xxx}]

      #檢查是否對外開放
network.host: 0.0.0.0
#檢查是否向外宣告自己ip
network.publish_host: <節點ip>
node.name: elasticsearch01

#節點角色
node.master: true
node.data: true

#其他節點ip
discovery.seed_hosts: "192.168.10.2,192.168.10.3"
#只需要填寫master主機名稱
cluster.initial_master_nodes: elasticsearch01

elasticsearch重啟之後無法加入/找到節點

  • 刪除_state文件夾內的(若刪除indices文件夾,資料會不見)
  • 刪除之後重啟其他節點

elasticsearch重啟之後節點健康狀態為Yellow

Missing Replica Shards

  • 確認index是否具備alias,並正確套用lifecyle policy
  • 調整之後需要靜待一段時間,待index滾動更新
#查看健康接口
GET /_cluster/health
#查看集群配置
GET /_cluster/settings
#查看分片狀態
GET /_cat/shards

檢查數據完整性

  • 檢查是否有數據丟失
#在Kibana的開發工具下
GET /_count?pretty

#直接在宿主機上
curl -X GET "localhost:9200/$index/_count?pretty" -u <elasticsearch的帳號>
  • 列出索引及別名
# 列出所有索引
curl -X GET "localhost:9200/_cat/indices?v"

# 列出所有别名
curl -X GET "localhost:9200/_cat/aliases?v"

--

--

Hachibye
Hachibye

Written by Hachibye

字幕組退休勞工 ... DevOps/系統/雲端/資安

No responses yet