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日志实践(二)的更多相关文章

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

    原文:使用Docker快速部署ELK分析Nginx日志实践 一.背景 笔者所在项目组的项目由多个子项目所组成,每一个子项目都存在一定的日志,有时候想排查一些问题,需要到各个地方去查看,极为不方便,此前 ...

  2. Docker 部署 ELK 收集 Nginx 日志

    一.简介 1.核心组成 ELK由Elasticsearch.Logstash和Kibana三部分组件组成: Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引 ...

  3. 利用ELK分析Nginx日志生产实战(高清多图)

    本文以api.mingongge.com.cn域名为测试对象进行统计,日志为crm.mingongge.com.cn和risk.mingongge.com.cn请求之和(此二者域名不具生产换环境统计意 ...

  4. 利用ELK分析Nginx日志

    本文以api.mingongge.com.cn域名为测试对象进行统计,日志为crm.mingongge.com.cn和risk.mingongge.com.cn请求之和(此二者域名不具生产换环境统计意 ...

  5. 【原创】大叔经验分享(28)ELK分析nginx日志

    提前安装好elk(elasticsearch.logstach.kibana) 一 启动logstash $LOGSTASH_HOME默认位于/usr/share/logstash或/opt/logs ...

  6. ELK学习笔记之ELK分析nginx日志

    0x00 配置FIlebeat搜集syslog #安装 rpm -ivh filebeat-6.2.3-x86_64.rpm mv /etc/filebeat/filebeat.yml /etc/fi ...

  7. elk平台分析nginx日志的基本搭建

    一.elk套件介绍 ELK 由 ElasticSearch . Logstash 和 Kiabana 三个开源工具组成.官方网站: https://www.elastic.co/products El ...

  8. docker方式部署elk日志搜索平台

    Docker部署ELKF操作文档 前提介绍 1.之前搭建elk+f+k使用原生系统软件安装方式,由于docker镜像日趋成熟,docker官网和elastic官网都有相关镜像和各自安装文档可供参考,各 ...

  9. elk实战分析nginx日志文档

    elk实战分析nginx日志文档 架构: kibana <--- es-cluster <--- logstash <--- filebeat 环境准备:192.168.3.1 no ...

随机推荐

  1. 完整使用JDBC访问数据库

    Connection con = null; PreparedStatement statement = null; ResultSet res = null; List<Student> ...

  2. linux基础命令期末考试总结

    1.关闭防火墙:service iptables stop 2.启动防火墙:service iptables start 3.mount命令:挂载某一设备使之成为某个目录名称 4.NFS服务:linu ...

  3. bitset的简单用法

    1.头文件 #include<bitset> 2.基本操作 bitset<n> b; b有n位,每位都为0. 参数n可以为一个表达式.如bitset<5> b, 则 ...

  4. Java oop 多态

      1.多态指对象的多种形态:引用多态与方法多态   注意: A:继承是多态的实现基础 B:方法重写也是多态的体现   2.引用多态 A:父类的引用可以指向本类的对象:父类 对象名 = new 父类( ...

  5. 【Android】Field requires API level 4 (current min is 1): android.os.Build.VERSION#SDK_INT

    刚遇到了这个问题: Field requires API level 4 (current min is 1): android.os.Build.VERSION#SDK_INT 解决方法: 修改 A ...

  6. spring boot 学习笔记之前言----环境搭建(如何用Eclipse配置Maven和Spring Boot)

    本篇文档来源:https://blog.csdn.net/a565649077/article/details/81042742 1.1 Eclipse准备 (1)     服务器上安装JDK和Mav ...

  7. JAVA并发之阻塞队列浅析

    背景 因为在工作中经常会用到阻塞队列,有的时候还要根据业务场景获取重写阻塞队列中的方法,所以学习一下阻塞队列的实现原理还是很有必要的.(PS:不深入了解的话,很容易使用出错,造成没有技术深度的样子) ...

  8. JavaSE之——并没有多维数组

     近日在读<疯狂Java讲义>精粹第二版,部分语述摘自其中,自己边敲边理解 前言       我们知道,Java语言支持的类型有两种:            1.基本类型(即八大基本数据类 ...

  9. 湫湫系列故事——设计风景线 HDU - 4514

    题目链接:https://vjudge.net/problem/HDU-4514 题意:判断没有没有环,如果没有环,通俗的讲就是找出一条最长的路,相当于一笔画能画多长. 思路:dfs判环. 最后就是没 ...

  10. Xamarin 基础知识

    Xamarin 跨平台处理: C#: if (Device.OS == TargetPlatform.Android) { Code…… } else if (Device.OS == TargetP ...