Kibana 维护
Kibana 维护
最近发现Kibana经常不稳定,经常发生kibana进程莫名就挂掉了。
同时也发现没有日志可排查到导致崩溃的原因;
大胆的推测一下原因:
- 内存不足
- 一次性大量导入了查询索引请求
- 默认的配置需要调优
根据以上3点猜测,需
- 寻找错误日志验证想法
- 优化下kibana配置
- 另外优化自愈脚本,添加到轮训计划任务里
kibana 配置修改
kibana.yaml将以下默认值进行修改. kibana官方配置说明
1.增加日志
# Enables you specify a file where Kibana stores log output.
#logging.dest: stdout
logging.dest: /logs-path/kibana.log
- 调整maxPayloadBytes
server.maxPayloadBytes:
默认值: 1048576 服务器请求的最大负载,单位字节
# The maximum payload size in bytes for incoming server requests.
#server.maxPayloadBytes: 1048576 # 默认为1M
server.maxPayloadBytes: 52428800 # 现在调整为50M
- 只打印错误日志
logging.quiet:
默认值: false 该值设为 true 时,禁止除错误信息除外的所有日志输出。
# Set the value of this setting to true to suppress all logging output other than error messages.
#logging.quiet: false
logging.quiet: true
增加自愈脚本
keep_kibana_online.sh
#!/bin/bash
# author: derek
KB_PORT=5601
kibana_pid_num=`lsof -i:${KB_PORT} | wc -l`
KB_BIN=/data/elk/kibana/bin
# check count of kibana pid if 0, kibana may dead;
#
if [ "${kibana_pid_num}" = 0 ]
then
echo "kibana service is down, restarting in process now..."
cd ${KB_BIN}
./kibana > /dev/null 2>&1 &
else
kb_pid=`ps -ef|netstat -anp |grep ${KB_PORT} |grep -v grep |awk '{printf $7}'|cut -d / -f 1`
echo "kibana now is alive, pid is ${kb_pid}"
fi
添加到crontab 每10分钟轮训检查一次
# cronta -e
*/10 * * * * sh /BIN_PATH/keep_kibana_online.sh
后续观察一段时间

浙公网安备 33010602011771号