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. addRoutes进行权限控制

    用addRoutes实现动态路由:https://www.jianshu.com/p/0bea4a1b0350 详解基于vue,vue-router, vuex以及addRoutes进行权限控制:ht ...

  2. ARM 时区修改

    ARM时区修改 ARM开发板环境时间设置好之后,重启会又变了,与之前设置时间正好相差8个小时,应该是时区的问题. 使用date查看时间是UTC时间而不是CST,解决办法: 从ubuntu中拷贝/usr ...

  3. Compress and decompress string

    You are given a string with lower case letters only. Compress it by putting the count of the letter ...

  4. Linux系列(1):入门之基本命令详解

    Linux常用命令 声明: 作者使用的Linux是CentOS7版本. 本节主要讲解内容: 1.ls.date.bc.cal等指令的详细用法 2.介绍常用快捷键 3.了解磁盘分区以及挂载等概念 在Li ...

  5. Elastic Search中Query String常见语法

    1 搜索所有数据timeout参数:是超时时长定义.代表每个节点上的每个shard执行搜索时最多耗时多久.不会影响响应的正常返回.只会影响返回响应中的数据数量.如:索引a中,有10亿数据.存储在5个s ...

  6. 关于vs code文本编辑器的快捷键

    另一篇编辑器Sublime Text下载.使用教程.插件推荐说明.全套快捷键 基础编辑 快捷键 作用 Ctrl+X 剪切 Ctrl+C 复制 Ctrl+Shift+K 删除当前行 Ctrl+Enter ...

  7. T100——按xls格式批量导入数据

    弹出File Browser窗口 PRIVATE FUNCTION cxrt020_open_file() DEFINE l_dir LIKE type_t.chr500 DEFINE r_succe ...

  8. Web 开发和数据科学家仍是 Python 开发的两大主力

    由于 Python 2 即将退役,使用 Python 3 的开发者大约为 90%,Python 2 的使用量正在迅速减少.而去年仍有 1/4 的人使用 Python 2. Web 开发和数据科学家仍是 ...

  9. 牛客 40E 珂朵莉的数论题

    大意: 给定$x,y$, 求第$x$小的最小素因子为$y$的数, 若答案>1e9输出0. 若$y>=60$, 可以暴力筛出1e9/60以内的答案. 否则容斥+二分算出答案. #includ ...

  10. JSON函数表1

    jsoncpp 主要包含三个class:Value.Reader.Writer.注意Json::Value 只能处理 ANSI 类型的字符串,如果 C++ 程序是用 Unicode 编码的,最好加一个 ...