使用Docker快速部署ELK分析Nginx日志实践

Posted 汤青松

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Docker快速部署ELK分析Nginx日志实践相关的知识,希望对你有一定的参考价值。

Kibana汉化使用中文界面实践

一、背景

笔者在上一篇文章使用Docker快速部署ELK分析Nginx日志实践当中有提到如何快速搭建ELK分析nginx日志,但是这只是第一步,后面还有很多仪表盘需要配置,而对于大部分人来说,英文并不是那么好,但Kibana都是英文界面,这就阻碍了笔者熟悉Kibana的一些操作;

所以笔者思考能不能将其汉化,在搜索引擎中找到了一些文章,发现汉化相对来说成本还算比较低,因此进行了一番实践,整个操作流程即便是将前人的汉化包拿过来使用,但使用的过程汉化包的作者并没有过多的讲解,本文主要是讲解如何使用汉化包以及操作过程的记录。

笔者上一篇文章使用Docker快速部署ELK分析Nginx日志实践URL地址:https://segmentfault.com/a/1190000016144694

二、操作概述

  1. 汉化包下载
  2. 运行环境安装
  3. 汉化效果演示

三、汉化包下载

笔者所使用的汉化包项目名称为Kibana_Hanization,在Github上进行了开源,URL地址如下

https://github.com/anbai-inc/Kibana_Hanization

在上一篇文章当中笔者已经将/Users/song/dockerFile/挂载在容器的/data当中,因此可以直接在宿主机中通过git拉取汉化包,然后去容器里面运行它,参考命令如下

cd /Users/song/dockerFile/ && git clone https://github.com/anbai-inc/Kibana_Hanization.git

四、运行环境安装

安装汉化包,需要完成三个步骤,首先需要有执行汉化包里面工具的Python2.7环境,然后需要找到Kibana的安装目录,最后才能执行安装,具体操作如下

4.1 安装Python2.7

笔者直接运行汉化包的时候发现此汉化工具依赖于Python2.7,而ELK中默认安装的是Python3,因此笔者需要先安装Python2.7的运行环境,操作如下

首先需要拉取Python仓库地址

apt update

然后执行安装,参考命令如下

apt install python2.7

4.2 查找安装位置

安装好Python的运行环境之后,笔者还需要找到kibana的安装位置,参考命令如下所示

find / -iname kibana

命令执行后返回的结果

/opt/logstash/x-pack/modules/azure/configuration/kibana
/opt/logstash/x-pack/modules/arcsight/configuration/kibana
/opt/logstash/modules/netflow/configuration/kibana
/opt/logstash/modules/fb_apache/configuration/kibana
/opt/kibana
/opt/kibana/src/core_plugins/kibana
/opt/kibana/node_modules/x-pack/plugins/ml/server/models/data_recognizer/modules/apache2/kibana
/opt/kibana/node_modules/x-pack/plugins/ml/server/models/data_recognizer/modules/nginx/kibana
/opt/kibana/node_modules/x-pack/plugins/monitoring/server/lib/kibana
/opt/kibana/node_modules/x-pack/plugins/monitoring/server/lib/metrics/kibana
/opt/kibana/node_modules/x-pack/plugins/monitoring/server/routes/api/v1/kibana
/opt/kibana/node_modules/x-pack/plugins/monitoring/public/views/kibana
/opt/kibana/node_modules/x-pack/plugins/monitoring/public/components/kibana
/opt/kibana/node_modules/x-pack/plugins/monitoring/public/directives/kibana
/opt/kibana/node_modules/@kbn/pm/src/utils/__fixtures__/kibana
/opt/kibana/bin/kibana
/etc/logrotate.d/kibana
/etc/init.d/kibana

根据返回结果和以往的经验,大致猜测出安装位置在/opt/kibana下,在得到安装目录之后,现在笔者需要进入此前在宿主机通过git下载的汉化包目录,因为运行elk容器的时候已经将宿主机目录挂载进去,因此容器中可以进入,参考吗命令如下

cd /data/Kibana_Hanization

4.2 汉化包安装

执行汉化命令

python2.7 main.py /opt/kibana/

返回结果

文件[/opt/kibana/optimize/bundles/kibana.bundle.js]已翻译。
文件[/opt/kibana/optimize/bundles/commons.bundle.js]已翻译。
文件[/opt/kibana/optimize/bundles/login.bundle.js]已翻译。
文件[/opt/kibana/optimize/bundles/ml.bundle.js]已翻译。
文件[/opt/kibana/optimize/bundles/monitoring.bundle.js]已翻译。
文件[/opt/kibana/optimize/bundles/timelion.bundle.js]已翻译。
文件[/opt/kibana/optimize/bundles/vendors.bundle.js]已翻译。
文件[/opt/kibana/optimize/bundles/apm.bundle.js]已翻译。
文件[/opt/kibana/src/core_plugins/kibana/ui_setting_defaults.js]已翻译。
文件[/opt/kibana/src/core_plugins/kibana/index.js]已翻译。
文件[/opt/kibana/src/core_plugins/kibana/translations/en.json]已翻译。
文件[/opt/kibana/src/core_plugins/kibana/server/tutorials/docker_metrics/index.js]已翻译。
文件[/opt/kibana/src/core_plugins/kibana/server/tutorials/netflow/elastic_cloud.js]已翻译。
文件[/opt/kibana/src/core_plugins/kibana/server/tutorials/netflow/on_prem_elastic_cloud.js]已翻译。
文件[/opt/kibana/src/core_plugins/kibana/server/tutorials/netflow/on_prem.js]已翻译。
文件[/opt/kibana/src/core_plugins/kibana/server/tutorials/netflow/common_instructions.js]已翻译。
文件[/opt/kibana/src/core_plugins/kibana/server/tutorials/kubernetes_metrics/index.js]已翻译。
文件[/opt/kibana/src/core_plugins/kibana/server/tutorials/apache_metrics/index.js]已翻译。
文件[/opt/kibana/src/core_plugins/kibana/server/tutorials/redis_metrics/index.js]已翻译。
文件[/opt/kibana/src/core_plugins/kibana/server/tutorials/apm/apm_server_instructions.js]已翻译。
文件[/opt/kibana/src/core_plugins/kibana/server/tutorials/apm/apm_client_instructions.js]已翻译。
文件[/opt/kibana/src/core_plugins/kibana/server/tutorials/nginx_metrics/index.js]已翻译。
文件[/opt/kibana/src/core_plugins/kibana/server/tutorials/system_metrics/index.js]已翻译。
文件[/opt/kibana/src/core_plugins/kibana/server/tutorials/system_logs/index.js]已翻译。
文件[/opt/kibana/src/core_plugins/kibana/server/tutorials/apache_logs/index.js]已翻译。
文件[/opt/kibana/src/core_plugins/kibana/server/tutorials/nginx_logs/index.js]已翻译。
文件[/opt/kibana/src/core_plugins/kibana/server/tutorials/redis_logs/index.js]已翻译。
文件[/opt/kibana/src/core_plugins/kibana/server/tutorials/mysql_metrics/index.js]已翻译。
文件[/opt/kibana/src/core_plugins/kibana/server/tutorials/mysql_logs/index.js]已翻译。
文件[/opt/kibana/src/core_plugins/kibana/common/tutorials/filebeat_instructions.js]已翻译。
文件[/opt/kibana/src/core_plugins/kibana/common/tutorials/metricbeat_instructions.js]已翻译。
文件[/opt/kibana/src/core_plugins/kibana/public/dashboard/index.js]已翻译。
文件[/opt/kibana/src/core_plugins/timelion/index.js]已翻译。
文件[/opt/kibana/src/core_plugins/kbn_vislib_vis_types/public/line.js]已翻译。
文件[/opt/kibana/src/core_plugins/kbn_vislib_vis_types/public/area.js]已翻译。
文件[/opt/kibana/src/core_plugins/kbn_vislib_vis_types/public/heatmap.js]已翻译。
文件[/opt/kibana/src/core_plugins/kbn_vislib_vis_types/public/horizontal_bar.js]已翻译。
文件[/opt/kibana/src/core_plugins/kbn_vislib_vis_types/public/histogram.js]已翻译。
文件[/opt/kibana/src/ui/public/chrome/directives/global_nav/global_nav.js]已翻译。

恭喜,Kibana汉化完成!

笔者执行这条命令时间大约在10秒钟左右。

五、汉化效果演示

经过上一步操作,已经完成了汉化包的安装,现在笔者进入Kibana的主页来验证汉化的效果,Kibana主页的URL地址如下

http://localhost:5601/app/kibana#/home?_g=()

但在实际汉化后发现并没有完全汉化,笔者所使用的ELK版本为6.4.0,效果如下图所示

技术分享图片

而汉化包中介绍的汉化效果效果却如下图所示

技术分享图片

笔者猜测可能是自己使用的ELK版本比较新,而汉化包还没用跟上节奏所导致,不过效果已经很棒了;笔者接着又打开了几个页面,发现汉化效果大都在80%左右,视图创建URL地址如下

http://localhost:5601/app/kibana#/visualize/new?_g=()

在浏览器中打开视图创建页面后,展现汉化如下图所示

技术分享图片


作者:汤青松

微信:songboy8888

日期:2018-08-31

以上是关于使用Docker快速部署ELK分析Nginx日志实践的主要内容,如果未能解决你的问题,请参考以下文章

基于Docker容器部署ELK日志分析系统

Docker 部署ELK 日志分析

Docker 部署ELK 日志分析

Docker 部署ELK 日志分析

Docker 部署ELK 日志分析

在linux中快速使用docker搭建ELK日志监控分析系统