• filebeat+elk 在docker下的简单部署和使用


    描述

    本文中主要是filebeat和elk在docker下的部署实践。各个服务之间大概的关系如下

    搭建Elasticsearch服务

    编写配置文件

    拉取镜像elasticsearch:6.62并运行

    docker pull elasticsearch:6.62
    docker run elasticsearchtest -p 9200:9200 elasticsearch:6.62

    搭建kibana服务

    docker pull kibana:6.62
    docker run --name kibana -p 5601:5601 kibana:6.62

    制作logstash镜像

    logstash.conf配置如下

    input {
      beats {
        port => 5044
      }
    }
    
    output {
      elasticsearch {
        hosts => ["192.168.2.29:9200"]
      }
      stdout {
        codec => rubydebug
      }
    }

    logstash.yml配置如下

    xpack.monitoring.elasticsearch.url: http://192.168.2.29:9200

    192.168.2.29是本机IP地址 如果这些服务都是放在同一个network环境中的 可以用network替代

    Dockerfile如下

    From logstash:6.6.2
    COPY logstash.conf  /usr/share/logstash/pipeline/logstash.conf
    COPY logstash.yml  /usr/share/logstash/config/logstash.yml

    制作镜像并运行

    docker build -t logstashtest .
    docker run --name mylogstash -p 5044:5044 logstashtest

    制作filebeat镜像并运行

     filebeat.yml的配置如下

    filebeat.inputs:
    - type: log
      enabled: true
      paths:
        - /usr/share/filebeat/logs/*.log
    
    #============================= Filebeat modules ===============================
    filebeat.config.modules:
      # Glob pattern for configuration loading
      path: ${path.config}/modules.d/*.yml
      # Set to true to enable config reloading
      reload.enabled: true
    
    output.logstash:
      # The Logstash hosts
        hosts: ["192.168.2.29:5044"]

    Dockerfile如下

    From store/elastic/filebeat:6.6.2
    COPY filebeat.yml /usr/share/filebeat/filebeat.yml
    USER root
    RUN chown root:filebeat /usr/share/filebeat/filebeat.yml
    RUN filebeat modules enable logstash

    制作镜像并运行

    docker build -t filebeattest .
    docker run --name filebeat -v /e/log/:/user/share/filebeat/logs/ filebeattest

    挂在卷在windows和linux下会有所区别。完成这一步所有的服务就已经搭配完成 ,然后再e:/logs文件下添加一个日志文件。

    查看logstash的日志

     docker logs -f -t --tail 1000 mylogstash

    显示的日志如下

    在kibana中查看日志

     

    第一次进入时需要创建索引,如果在Elasticsearch 中定义了index,就使用该index,否则logstash-* 来命名index,用来做index匹配

    --------行千里路,看万卷书
  • 相关阅读:
    word2vec原理(一) CBOW与Skip-Gram模型基础
    条件随机场CRF(三) 模型学习与维特比算法解码
    条件随机场CRF(二) 前向后向算法评估标记序列概率
    linux下如何强制卸载设备?
    docker build时如何使用代理?
    如何配置docker使用代理?
    linux下tar解压时报"gzip: stdin: unexpected end of file"如何处理?
    ubuntu下如何安装valgrind?
    linux下如何睡眠1ms?
    linux用户空间如何控制gpio?
  • 原文地址:https://www.cnblogs.com/galen-huang/p/10669208.html
Copyright © 2020-2023  润新知