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資料夾尚存舊有內容
- 至volume/節點名稱/刪除_state資料夾
- 若要重新加入節點,也需要刪除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"