ELK下Kibana性能调优

介绍

Kibana是一个单页Web应用
首先,Kibana是一个单页的web应用。何为单页web应用?即所有的页面的读取都是在浏览器上完成,而与后台服务器无关。与后台服务器的通信只关乎数据,而非页面。所以,应用上所有的UI都被打包在一起,一次性的发送到了浏览器端,而不是通过URL到后台进行获取。所以,我们看到kibana的首页是下面这样的:

http://localhost:5601/app/kibana#/

注意这里的#后,代表#后面的内容会被浏览器提取,不往服务器端进行url的情况,而是在浏览器上进行内部重新渲染。因为所有的页面都是存储在浏览器的,所有在初次访问的时候,会加载大量的代码到浏览器端,这些代码都是被压缩过的bundle文件
Kibana可视化管理页面详细使用说明

Discover:日志管理视图 主要进行搜索和查询

Visualize:统计视图 构建可视化的图表

Dashboard:仪表视图 将构建的图表组合形成图表盘

Timelion:时间轴视图 随着时间流逝的数据

APM:性能管理视图 应用程序的性能管理系统

Canvas:大屏展示图

Dev Tools: 开发者命令视图 开发工具

Monitoring:健康视图 请求访问性能预警

Management:管理视图 管理工具
其中最主要也是最常用到的是前三个以及最后一个管理角色和用户包括创建索引,

Kibana优化过程(Optimize)过长或无法结束的解决方案

注意 : 需要在kibana下安装x-pack,生成optimize。

Nodejs内存机制对Kibana优化的影响

因为Kibana的代码体量越来越大,将所有的代码加载到内存之后,再解析语法树,进行bundle的转换所耗费的内存已经接近1.4G的限制了,当你安装更多插件,比如sentinl的时候,系统往往已经无法为继,导致Kibana无法启动

解决方案

这种情况下,我们需要在Kibana启动的时候,指定NodeJs使用更多的内存。这个可以通过设置Node的环境变量办到。

NODE_OPTIONS="--max-old-space-size=4096"

当然,我的建议是直接指定在kibana的启动脚本当中,修改/usr/share/kibana/bin/kibana文件为:

#!/bin/sh
SCRIPT=$0

# SCRIPT may be an arbitrarily deep series of symlinks. Loop until we have the concrete path.
while [ -h "$SCRIPT" ] ; do
  ls=$(ls -ld "$SCRIPT")
  # Drop everything prior to ->
  link=$(expr "$ls" : '.*-> \(.*\)$')
  if expr "$link" : '/.*' > /dev/null; then
    SCRIPT="$link"
  else
    SCRIPT=$(dirname "$SCRIPT")/"$link"
  fi
done

DIR="$(dirname "${SCRIPT}")/.."
NODE="${DIR}/node/bin/node"
test -x "$NODE" || NODE=$(which node)
if [ ! -x "$NODE" ]; then
  echo "unable to find usable node.js executable."
  exit 1
fi

NODE_ENV=production exec "${NODE}" $NODE_OPTIONS --max_old_space_size=3072 --no-warnings "${DIR}/src/cli" ${@}

改动在最后一句:NODE_ENV=production exec “${NODE}” N O D E O P T I O N S − − m a x o l d s p a c e s i z e = 3072 − − n o − w a r n i n g s " NODE_OPTIONS --max_old_space_size=3072 --no-warnings " NODEOPTIONSmaxoldspacesize=3072nowarnings"{DIR}/src/cli" ${@}

这样,我们可以保证Kibana能顺利的完成optimize的过程。

kibana内存设置

在kibana的bin目录下的脚本kibana或kibana.bat中添加如下配置。

NODE_OPTIONS="$NODE_OPTIONS --max-old-space-size=200"

修改后重新启动kibana即可生效。

参考链接 :

kibana内存设置 : https://blog.csdn.net/asty9000/article/details/97668067
Kibana优化过程(Optimize)过长或无法结束的解决方案 : https://blog.csdn.net/u013613428/article/details/84966701

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ELK是指Elasticsearch、Logstash和Kibana这三个开源软件的组合。而KibanaELK中的一个组件,它是一个用于数据可视化和分析的工具。Kibana可以通过连接到Elasticsearch来实现对数据的搜索、分析和可视化展示。\[1\] 在安装和配置Kibana时,需要上传Kibana的安装包到指定目录,并进行相应的配置。具体的步骤包括: 1. 将Kibana安装包上传到/opt目录。 2. 进入/opt目录,使用rpm命令安装Kibana。 3. 进入/etc/kibana/目录,备份kibana.yml配置文件。 4. 使用vim编辑kibana.yml文件,取消注释并修改相应的配置,如设置Kibana打开的端口、侦听的地址和与Elasticsearch建立联系的URL等。 5. 启动Kibana服务并设置开机自启动。\[2\] 在连接Elasticsearch时,Kibana需要使用一个专属的用户进行认证。可以在kibana.yml配置文件中设置elasticsearch.username和elasticsearch.password来指定该用户的用户名和密码。\[3\] 综上所述,ELK中的Kibana是一个用于数据可视化和分析的工具,它可以通过连接到Elasticsearch来实现对数据的搜索、分析和可视化展示。在安装和配置Kibana时,需要上传安装包并进行相应的配置,同时在连接Elasticsearch时需要指定专属的用户名和密码。 #### 引用[.reference_title] - *1* *3* [ELKKibana入门及使用](https://blog.csdn.net/weixin_44717560/article/details/123848449)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [企业日志分析ELK(Logstash+Elasticsearch+Kibana)介绍及搭建](https://blog.csdn.net/IHBOS/article/details/116654910)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值