Docker 运行ELK日志监测系统,汉化Kibana界面
1、ELK日志监控简介
ELK由Elasticsearch、Logstash和Kibana三部分组件组成;
Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。
Logstash是一个完全开源的工具,它可以对你的日志进行收集、分析,并将其存储供以后使用 。
Kibana 是一个开源和免费的工具,它可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志。
2、ELK镜像地址
我搭建的ELK版本为6.3.0,6+版本后,官方就没有将镜像上传到GitHub,只能去官网下载,速度超慢。
这里我将ELK镜像上传到我的网易云供大家拉取。
ES:docker pull hub.c.163.com/xiedongbin/elasticsearch:6.3.0
     
    Logstash:docker pull hub.c.163.com/xiedongbin/logstash:6.3.0 
     
    Kibana:docker pull hub.c.163.com/xiedongbin/kibana:6.3.0
拉取后,将镜像分别命名为 elasticsearch、logstash、kibana。
3、ELK目录下,新建logstash目录
进入 logstash,创建logstash.conf文件,文件内容如下:
input {
           tcp {
                add_field => {"myid"=>"APP"}
                mode => "server"
                port => 4567
                codec => json_lines
           }
           tcp {
                add_field => {"myid"=>"SQL"}
                mode => "server"
                port => 4568
                codec => json_lines
           }
    }
    filter {}
    output {
          if [myid] == "APP"{
             elasticsearch {
                 hosts => ["192.168.0.13:9200"]
                 index => "log-%{[service_name]}-%{+YYYY.MM.dd}"
             }
             file {
                 path => "ELK/log.log"
                 codec => line
             }
           }
     
           if [myid] == "SQL"{
              elasticsearch {
                  hosts => ["192.168.0.13:9200"]
                  index => "sql-%{[service_name]}-%{+YYYY.MM.dd}"
              }
              file {
                  path => "ELK/log.log"
                  codec => line
              }
           }
    }
创建dockerfile文件,内容如下:
FROM logstash:6.3.0
    COPY logstash.conf /some/config-dir/
    CMD ["-f","/some/config-dir/logstash.conf"]
以logstash.conf配置新建镜像my-logstash。
docker build -t my-logstash:6.3.0 .
4、修改内存权限设置
vim /etc/sysctl.conf
添加 vm.max_map_count=262144 参数,
保存文件后,使用命令 sysctl -p 使设置立即生效。
5、ELK目录下创建docker-compose.yml文件
version: '2'
    services:
      elasticsearch:
        image: elasticsearch:6.3.0
        container_name: elasticsearch
        restart: always
        ports:
          - "9200:9200"
          - "9300:9300"
        environment:
          ES_JAVA_OPTS: "-Xms1g -Xmx1g"
        networks:
          - elk
        volumes:
          - ./data:/usr/elasticsearch/data
      logstash:
        image: my-logstash:6.3.0
        container_name: logstash
        restart: always
        networks:
          - elk
        ports:
          - "4567:4567"
          - "4568:4568"
        depends_on:
          - elasticsearch
      kibana:
        image: kibana:6.3.0
        container_name: kibana
        restart: always
        networks:
          - elk
        ports:
          - "5601:5601"
        depends_on:
          - elasticsearch
    networks:
      elk:
以docker-compose运行文件。命令如下:
docker-compose up -d #后台启动,如果容器不存在根据镜像自动创建
docker-compose down -v #停止容器并删除容器
docker-compose start #启动容器,容器不存在就无法启动
docker-compose stop #停止容器
docker-compose、python的安装详见: 搭建Harbor私有镜像仓库
docker network 问题详见: docker 解决network has active endpoints
6、ELK各服务地址说明
ElasticSearch: http://IP:9200/
ElasticSearch日志:http://IP:9200/_search?pretty
Logstash(日志传输地址): IP:4567、IP:4568
Kibana: http://IP:5601
7、Kibana界面汉化
下载汉化工具并解压:
wget https://github.com/anbai-inc/Kibana_Hanization/archive/master.zip
unzip master.zip
将解压后文件夹重命名为master。
查看kibana容器ID, docker inspect -f '{{.Id}}' kibana
通过docker cp命令将本地文件夹复制到容器内部
docker cp master 容器ID:/
进入容器内部,docker exec -it kibana /bin/bash
切换根路径下,进入master目录,执行汉化程序。
python main.py “/opt/kibana/”
最后重启Kibana容器即可察看到汉化后的界面。
8、Zipkin链路追踪
Zipkin启动:
    docker run -p 9411:9411 --restart=always  --name zipkin --env STORAGE_TYPE=elasticsearch --env ES_HOSTS=IP:9200 --env ES_HTTP_LOGGING=BASIC --env RABBIT_URI=amqp://admin:admin@IP:5672 -d openzipkin/zipkin:2
     
    Zipkin-dependencies启动:
     docker run --restart=always  --name zipkin-dependencies --env STORAGE_TYPE=elasticsearch --env ES_HOSTS=IP:9200 --env ES_HTTP_LOGGING=BASIC -d openzipkin/zipkin-dependencies:2
     
    Zipkin管理页面地址:http://IP:9411
————————————————
版权声明:本文为CSDN博主「斌小哥」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_38319645/article/details/86514589
Docker 运行ELK日志监测系统,汉化Kibana界面的更多相关文章
- ELK 6安装配置 nginx日志收集 kabana汉化
		
#ELK 6安装配置 nginx日志收集 kabana汉化 #环境 centos 7.4 ,ELK 6 ,单节点 #服务端 Logstash 收集,过滤 Elasticsearch 存储,索引日志 K ...
 - Docker笔记(十):使用Docker来搭建一套ELK日志分析系统
		
一段时间没关注ELK(elasticsearch —— 搜索引擎,可用于存储.索引日志, logstash —— 可用于日志传输.转换,kibana —— WebUI,将日志可视化),发现最新版已到7 ...
 - ELK日志分析系统-Logstack
		
ELK日志分析系统 作者:Danbo 2016-*-* 本文是学习笔记,参考ELK Stack中文指南,链接:https://www.gitbook.com/book/chenryn/kibana-g ...
 - ELK 日志分析系统的部署
		
一.ELK简介 ElasticSearch介绍Elasticsearch是一个基于Lucene的搜索服务器. 它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口. Elasti ...
 - ELK日志分析系统简单部署
		
1.传统日志分析系统: 日志主要包括系统日志.应用程序日志和安全日志.系统运维和开发人员可以通过日志了解服务器软硬件信息.检查配置过程中的错误及错误发生的原因.经常分析日志可以了解服务器的负荷,性能安 ...
 - 《ElasticSearch6.x实战教程》之实战ELK日志分析系统、多数据源同步
		
第十章-实战:ELK日志分析系统 ElasticSearch.Logstash.Kibana简称ELK系统,主要用于日志的收集与分析. 一个完整的大型分布式系统,会有很多与业务不相关的系统,其中日志系 ...
 - Rsyslog+ELK日志分析系统
		
转自:https://www.cnblogs.com/itworks/p/7272740.html Rsyslog+ELK日志分析系统搭建总结1.0(测试环境) 因为工作需求,最近在搭建日志分析系统, ...
 - 十分钟搭建和使用ELK日志分析系统
		
前言 为满足研发可视化查看测试环境日志的目的,准备采用EK+filebeat实现日志可视化(ElasticSearch+Kibana+Filebeat).题目为“十分钟搭建和使用ELK日志分析系统”听 ...
 - elk 日志分析系统Logstash+ElasticSearch+Kibana4
		
elk 日志分析系统 Logstash+ElasticSearch+Kibana4 logstash 管理日志和事件的工具 ElasticSearch 搜索 Kibana4 功能强大的数据显示clie ...
 
随机推荐
- nodejs加解密
			
加密分类 可逆加密和不可逆加密 不可逆加密: 加密后不可解密,只能通过碰撞密文以极小的概率解密; 可逆加密: 加密后可以解密;包括对称加密与非对称加密; 对称加密双方采用共同密钥; 非对称加密: 这种 ...
 - (模板)hdoj5977 Garden of Eden(点分治)
			
题目链接:https://vjudge.net/problem/HDU-5977 题意:给一颗树,每个结点上有一个权值a[i],a[i]<=10,求有多少条路径满足这条路径上所有权值的结点都出现 ...
 - H2内嵌数据库的使用
			
H2内嵌数据库的使用 H2是一个开源的嵌入式数据库引擎,采用java语言编写,不受平台的限制. 同时H2提供了一个十分方便的web控制台用于操作和管理数据库内容. H2还提供兼容模式,可以兼容一些主流 ...
 - 第一章 impala的安装
			
目录 第一章 impala的安装 1.impala的介绍 imala基本介绍 impala与hive的关系 impala的优点 impala的缺点: impala的架构以及查询计划 2.impala的 ...
 - Java中的责任链设计模式,太牛了!
			
责任链设计模式的思想很简单,就是按照链的顺序执行一个个处理方法,链上的每一个任务都持有它后面那个任务的对象引用,以方便自己这段执行完成之后,调用其后面的处理逻辑. 下面是一个责任链设计模式的简单的实现 ...
 - linux下vi编辑器常用命令
			
最近折腾云主机centOS,不得不接触到各种命令,特别是vi编辑器. 时常悔恨当时没好好听金老伯的linux课,导致现在操作命令用的十分生疏,甚至跳转行首行尾都要查一查才知道. 所以〒▽〒有了下面这篇 ...
 - python中的with语句
			
https://www.ibm.com/developerworks/cn/opensource/os-cn-pythonwith/index.html
 - Python—None
			
None是一个特殊的常量. None不是False. None不是0. None不是空字符串. None有自己的数据类型NoneType,并且是NoneType中唯一的值. None只是一个空值的对象 ...
 - 屹今为止最好用的HTTP客户端命令行工具-接口调试神器HTTPie
			
一.思考❓❔ 1.你用过哪些http客户端调试工具? Postman 不够灵活 需要打开客户端, 麻烦 学习成本高 Jmeter 臃肿 麻烦 学习成本高 curl 参数多, 记不住 不够灵活 主要在L ...
 - ubuntu切换root用户
			
方法一:sudo su命令 方法二:sudo -i 方法三:su root