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. mysql 插入数据后返回自增 ID 的七种方法

    参考地址:https://blog.csdn.net/qq_30715329/article/details/80868411 其中使用函数方式.存储过程方式.注解方式.xml属性方式设置都可. 常用 ...

  2. Apollo分布式部署总结

    环境 操作系统为centOS7 Apollo服务端为Java版本为1.8 MySQL5.8.x 环境DEV 注意事项 按文档安装config与admin的数据库,并修改相关配置 在修改Apollo P ...

  3. 2019年5月份最热门的JavaScript开源项目

    五一假期后工作的第一天,不知道你们调整好状态没有呢? 1-libpku https://github.com/lib-pku/libpku     Star 15820 该项目是由一名北大在读大学生整 ...

  4. Netty的那些”锁”事

    Netty锁事的五个关键点: ① 在意锁的对象和范围  --> 减少粒度 ②  注意锁的对象本身大小   --> 减少空间占用 ③ 注意锁的速度 --> 提高速度 ④不同场景选择不同 ...

  5. X-UA-Compatibles

    今天在看京东网页代码的时候,发现了X-UA-Compatibles 这个元信息属性,不是很清楚,百度了一下,做下记录 X-UA-Compatible 属性是 IE 浏览器在 IE8 版本开始提供的一个 ...

  6. python-迭代器实现异步(在串行中)

    import timedef consumer(name): print('%s 准备吃包子啦!' %name) while True: baozi = yield #yield不但可以返回值还可以接 ...

  7. java——ArrayList中remove()方法疑问总结

    其实remove方法和contains方法大同小异,它的原理和contains方法相同https://www.cnblogs.com/lyxcode/p/9453213.html在这篇博客里面有详细说 ...

  8. Winfrom 定时锁屏

    #region 锁屏 public struct LASTINPUTINFO { [MarshalAs(UnmanagedType.U4)] public int cbSize; [MarshalAs ...

  9. JS基础_if语句

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  10. BZOJ4241历史研究题解--回滚莫队

    题目链接 https://www.lydsy.com/JudgeOnline/problem.php?id=4241 分析 这题就是求区间权值乘以权值出现次数的最大值,一看莫队法块可搞,但仔细想想,莫 ...