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界面的更多相关文章

  1. ELK 6安装配置 nginx日志收集 kabana汉化

    #ELK 6安装配置 nginx日志收集 kabana汉化 #环境 centos 7.4 ,ELK 6 ,单节点 #服务端 Logstash 收集,过滤 Elasticsearch 存储,索引日志 K ...

  2. Docker笔记(十):使用Docker来搭建一套ELK日志分析系统

    一段时间没关注ELK(elasticsearch —— 搜索引擎,可用于存储.索引日志, logstash —— 可用于日志传输.转换,kibana —— WebUI,将日志可视化),发现最新版已到7 ...

  3. ELK日志分析系统-Logstack

    ELK日志分析系统 作者:Danbo 2016-*-* 本文是学习笔记,参考ELK Stack中文指南,链接:https://www.gitbook.com/book/chenryn/kibana-g ...

  4. ELK 日志分析系统的部署

    一.ELK简介 ElasticSearch介绍Elasticsearch是一个基于Lucene的搜索服务器. 它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口. Elasti ...

  5. ELK日志分析系统简单部署

    1.传统日志分析系统: 日志主要包括系统日志.应用程序日志和安全日志.系统运维和开发人员可以通过日志了解服务器软硬件信息.检查配置过程中的错误及错误发生的原因.经常分析日志可以了解服务器的负荷,性能安 ...

  6. 《ElasticSearch6.x实战教程》之实战ELK日志分析系统、多数据源同步

    第十章-实战:ELK日志分析系统 ElasticSearch.Logstash.Kibana简称ELK系统,主要用于日志的收集与分析. 一个完整的大型分布式系统,会有很多与业务不相关的系统,其中日志系 ...

  7. Rsyslog+ELK日志分析系统

    转自:https://www.cnblogs.com/itworks/p/7272740.html Rsyslog+ELK日志分析系统搭建总结1.0(测试环境) 因为工作需求,最近在搭建日志分析系统, ...

  8. 十分钟搭建和使用ELK日志分析系统

    前言 为满足研发可视化查看测试环境日志的目的,准备采用EK+filebeat实现日志可视化(ElasticSearch+Kibana+Filebeat).题目为“十分钟搭建和使用ELK日志分析系统”听 ...

  9. elk 日志分析系统Logstash+ElasticSearch+Kibana4

    elk 日志分析系统 Logstash+ElasticSearch+Kibana4 logstash 管理日志和事件的工具 ElasticSearch 搜索 Kibana4 功能强大的数据显示clie ...

随机推荐

  1. gitlab 安装升级

    GitLab,是一个使用 Ruby on Rails 开发的开源应用程序,与Github类似,能够浏览源代码,管理缺陷和注释,非常适合在团队内部使用. 安装方式: Bitnami一键安装:https: ...

  2. python -- TypeError: 'module' object is not callable

    文件: 代码: import pprintmessge = 'It was a bringht cold day in April,and the clocks were striking thrir ...

  3. 洛谷 P4198 楼房重建 题解

    题面 首先你要知道题问的是什么:使用一种数据结构,动态地维护以1为起点地最长上升子序列(把楼房的高度转化成斜率地序列)的长度: 怎么做?线段树! 我们在线段树上维护两个东西:1.这个区间内斜率的最大值 ...

  4. matplotlib库的基本使用与折线图

    matplotlib:最流行的Python底层绘图库,主要做数据可视化图表,名字取材于MATLAB,模仿MATLAB构建 基本使用: x和y的长度必须一致 figure()方法用来设置图片大小 x,y ...

  5. Python3迭代器与生成器

    迭代器 迭代是Python最强大的功能之一,是访问集合元素的一种方式. 迭代器是一个可以记住遍历的位置的对象. 迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束.迭代器只能往前不会后退 ...

  6. T100——英文版凭证报表

    范例:cxrr001 效果:增加英文版报表选择 1.azzi301,复制cxrr001_g01,把样板编号改为cxrr001_g01_01: 2.下载cxrr001_g01的GR样板,把cxrr001 ...

  7. 什么是Web和www

    什么是Web和www 通过之前课程的学习,我们已经对计算机网络有了一些了解,这里我主要想说一个点,也是计算机网络中一个很容易被误解的概念,就是什么是Web,它和HTTP.HTML.Internet.i ...

  8. win10上使用php与python实现与arduino串口通信

    注意: php 需要php7,安装及开启php_dio.dll com口按照实际的进行设置,如果不知道可以打开arduino编辑器进行查看 可以与用户实现命令行交互,但是效率过慢,不清楚如何优化,使用 ...

  9. java实现spark常用算子之mapPartitionsWithIndex

    import org.apache.spark.SparkConf;import org.apache.spark.api.java.JavaRDD;import org.apache.spark.a ...

  10. 深入理解hive(1)

    1.安装和配置: 1.1可以通过这个下载链接去下载hive源码来安装一个一个稳定版本的hive.https://cwiki.apache.org/confluence/display/Hive/Get ...