精华内容
下载资源
问答
  • 使用Docker部署ELK

    千次阅读 2018-06-29 17:51:15
    这篇文章主要是将之前部署的ELK改为docker...非Docker部署ELK:https://blog.csdn.net/fuckluy/article/details/80430732 环境:Centos 7 、 安装好了docker 、关闭防火墙 1、先安装Compose $ sudocurl -L https...

    这篇文章主要是将之前部署的ELK改为docker部署,都使用5.6的镜像,因为最新的elk镜像改地址了,国内一直拉不下来

    非Docker部署ELK:https://blog.csdn.net/fuckluy/article/details/80430732

    环境:Centos 7   、 安装好了docker 、关闭防火墙

    1、先安装Compose

    $ sudo curl -L https://github.com/docker/compose/releases/download/1.17.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

    $ sudo chmod +x /usr/local/bin/docker-compose

    测试是否安装成功:

     

    $ docker-compose --version

     

    2、创建相应的目录

    mkdir  /root/elk

    3、进入相应的目录编写配置文件

    cd   /root/elk/

    vim logstash.conf

    输入以下内容:

    input {
      tcp {
            port => 4567
            }
    }
     
    filter {
    }
     
    output {
      elasticsearch {
        hosts => ["elasticsearch:9200"]
        index => "logstash-%{type}-%{+YYYY.MM.dd}"
        document_type => "%{type}"
     }
    }

    4、制作自己的logstash镜像:

    cd  /root/elk/

    vim  dockerfile

    输入以下内容

    FROM logstash:5.6
    COPY logstash.conf  /some/config-dir/
    CMD ["-f","/some/config-dir/logstash.conf"]

    然后build镜像:

    docker build -t my-logstash:5.6 .

    该image做好后可以推送到自己的镜像仓库,便于以后重复使用

     

    5、my-logstash镜像做好后编写docker-compose.yml文件

    cd   /root/elk

    vim   docker-compose.yml

    在yml文件中输入以下内容:

    version: '2'
    services:
      elasticsearch:
        image: elasticsearch:5.6
        container_name: elasticsearch 
        restart: always
        networks:
          - elk
        ports:
          - "9200:9200"
          - "9300:9300"
        volumes:
           - ./data:/usr/share/elasticsearch/data

      logstash:
        image: my-logstash:5.6
        container_name: logstash
        restart: always
        networks:
           - elk
        ports:
          - "4567:4567"
        depends_on:
          - elasticsearch

      kibana:
        image: kibana:5.6
        container_name: kibana
        restart: always
        networks:
           - elk
        ports:
           - "5601:5601"
        depends_on:
           - elasticsearch 
       
    networks:
        elk:

    然后保存退出,并在该路径下使用下面的命令运行该docker-compose.yml文件

     

    docker-compose  up  -d

    直接把compose中的内容复制过去可能会出现格式的问题,需要重新调整个是,在线编辑yml文件

    logstash的conf文件也不要直接复制,否则会有格式问题,如果logstash的input是读文件,需要挂载主机目录到容器中,要修改docker-compose文件内容

    至此,完成

     

     

     

     

     

     

     

     

     

     

     

     

     

    展开全文
  • 使用docker部署elk

    2019-10-10 11:40:20
    网上的那些零零碎碎的,基本你都不...1、拉取elk镜像 docker pull wallbase/elasticsearch-head:6-alpine docker pull docker.elastic.co/logstash/logstash:6.4.3 docker pull docker.elastic.co/elasticsearc...

    网上的那些零零碎碎的,基本你都不好用。自己将网上的以及自己的整理成一个版本。

    1、拉取elk镜像

    docker pull wallbase/elasticsearch-head:6-alpine

    docker pull docker.elastic.co/logstash/logstash:6.4.3

    docker pull docker.elastic.co/elasticsearch/elasticsearch:6.4.3

    docker pull docker.elastic.co/kibana/kibana:6.4.3

     

    2、创建elasticsearch.yml文件

    创建文件夹

    mkdir -p /mnt/sdc/es/config

    编写elasticsearch.yml

    vim elasticsearch.yml

    network.host: 0.0.0.0
    http.cors.enabled: true
    http.cors.allow-origin: "*"
    xpack:
      ml.enabled: false
      monitoring.enabled: false
      security.enabled: false
      watcher.enabled: false
    

     

    启动时如果报VM的错,执行以下命令

    编辑/etc/sysctl.conf

    vi /etc/sysctl.conf

    追加以下内容:

    vm.max_map_count=655360

    保存后执行:

    sysctl -p

    3、配置logstash

    3.1 、创建文件夹/mnt/sdc/logstash/config

    mkdir -p /mnt/sdc/logstash/config

    config下存放两个文件logstash.yml、pipelines.yml

    logstash.yml:

    config:
      reload:
        automatic: true
        interval: 3s
    xpack:
      management.enabled: false
      monitoring.enabled: false
    

    pipelines.yml:

    - pipeline.id: cscw
      path.config: "/usr/share/logstash/pipeline/logstash.conf"#指向配置的pipeline配置
    

    3.2、创建文件夹/mnt/sdc/logstash/pipeline

    pipeline下存放logstash.conf配置

    input {
    stdin { }
    tcp {
            port => 9600
        }
    }
    output {
      elasticsearch {
        hosts => "IP:9200"
      }
     stdout { codec => rubydebug }
    }
    

    4、新建kibana.yml文件

    创建文件夹/mnt/sdc/kibana/config

    mkdir -p /mnt/sdc/kibana/config

    将kibana.yml文件放入config文件夹下

    vim kibana.yml

    server.host: "0.0.0.0"
    elasticsearch.url: http://ES的IP:9200
    xpack:
      apm.ui.enabled: false
      graph.enabled: false
      ml.enabled: false
      monitoring.enabled: false
      reporting.enabled: false
      security.enabled: false
      grokdebugger.enabled: false
      searchprofiler.enabled: false
    

     

    5、分别启动elk

    docker run -d -it --name=elasticsearch -p 9200:9200 -p 9300:9300 -v /mnt/sdc/es/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml docker.elastic.co/elasticsearch/elasticsearch:6.4.3

     

    docker run -d -it --name=logstash -p 5044:5044 -p 9600:9600  -v /mnt/sdc/logstash/config/:/usr/share/logstash/config/ -v /mnt/sdc/logstash/pipeline:/usr/share/logstash/pipeline/ docker.elastic.co/logstash/logstash:6.4.3

     

    docker run -d -it --name=kibana -p 5601:5601 -v /mnt/sdc/kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml docker.elastic.co/kibana/kibana:6.4.3

    docker run -d -it --name=head -p 9100:9100 wallbase/elasticsearch-head:6-alpine 

    注意:防火墙开启9600、5601、9100、9200、9300端口

    分别在浏览器执行

    http://IP:5601查看kibana

    http://IP:9100打开es的head链接9200查看数据

     

     

     

    展开全文
  • 使用docker部署elk时,使用docker镜像部署的Kibana部署完成后进入默认是英文界面 docker exec -it elk /bin/bash 进入容器后使用命令查找Kibana.yml文件修改配置 在该镜像中该配置文件的路径为 /opt/kibana/...

    在使用docker部署elk时,使用docker镜像部署的Kibana部署完成后进入默认是英文界面

    docker exec -it elk /bin/bash
    

    进入容器后使用命令查找Kibana.yml文件修改配置
    在这里插入图片描述
    在该镜像中该配置文件的路径为

    /opt/kibana/config/kibana.yml
    

    修改该文件 在文件最后加上一行配置

    i18n.locale: zh-CN
    

    号: 和 zhe-CN 之间必须有个空格,否则kibana无法启动

    再次重启镜像后 语言变为中文
    在这里插入图片描述

    展开全文
  • 今天给给位小伙伴带来的文章是使用docker无脑部署elk,废话不多说,直接上干货!! 每条命令下方的文字为命令的解释注释!! systemctl stop firewalld #关闭防火墙; systemctl disable firewalld #禁止开机自启; ...
  • 通过优锐课的java学习分享中,在本教程中,我们将了解如何使用这些工具来收集日志并通过Elasticsearch + Logstash + Kibana(又名ELK)对其进行管理。 java面试必备之JVM+GC教程 开发网络应用程序时,我喜欢参考十二...

    通过优锐课的java学习分享中,在本教程中,我们将了解如何使用这些工具来收集日志并通过Elasticsearch + Logstash + Kibana(又名ELK)对其进行管理。

    java面试必备之JVM+GC教程

    开发网络应用程序时,我喜欢参考十二要素应用程序建议。 他们处理应用程序日志的方法在第十一条“命令”中:
    它不应尝试写入或管理日志文件。 而是,每个正在运行的进程将其未缓冲的事件流写入stdout。

    似乎Docker的人们也阅读了此宣言,从而为我们提供了出色的工具来管理容器中应用程序生成的日志。 在本教程中,我们将了解如何使用这些工具来收集日志并通过Elasticsearch + Logstash + Kibana(又名ELK)对其进行管理。

    你将学到什么

    在这篇文章中,我将介绍:

    ELK的简要说明。
    如何在Exoscale帐户上创建所需的计算机:一台用于承载ELK堆栈,另一台用于承载演示Web应用程序。
    如何使用Docker compose启动ELK。
    如何使用Docker日志记录驱动程序将Web应用程序日志路由到ELK。

    先决条件
    Mac用户:您将需要最新的Docker工具箱。
    Linux用户:您将需要Docker引擎,机器和组成。

    在这两个系统上,您都需要安装Exoscale的CS工具,您可以使用Python生态系统的pip来获取它:

    pip install cs

    我们将使用docker-machine在Exoscale上创建所需的实例,然后使用CS修改安全组以允许连接到我们新安装的ELK堆栈。

    cs和docker-machine都依赖于Exoscale API,因此他们将需要访问您的API凭据。
    使用以下命令导出您外壳程序中的凭据:

    export EXOSCALE_ACCOUNT_EMAIL=<your exoscale account email>
    export CLOUDSTACK_ENDPOINT=https://api.exoscale.ch/compute
    export CLOUDSTACK_KEY="<your exoscale API Key>"
    export CLOUDSTACK_SECRET_KEY="<your exoscale Secret Key>"
    

    最后,您需要一些我在git repo中提供的文件。 在本地克隆它:

    git clone https://github.com/MBuffenoir/elk.git
    cd elk
    

    首先,什么是ELK?

    ELK是由Elastic.co维护的开源工具的集合,该工具结合了以下内容:
    Elasticsearch:我们将用于存储日志的索引器和搜索引擎。
    Logstash:收集并解析日志,然后将其存储在Elasticsearch索引中的工具。
    Kibana:一种工具,可查询Elasticsearch REST API以获取我们的数据,并有助于创建有洞察力的可视化效果。

    创建实例

    让我们使用docker-machine在Exoscale上创建一个将托管ELK的Ubuntu实例:

    docker-machine create --driver exoscale \
        --exoscale-api-key $CLOUDSTACK_KEY \
        --exoscale-api-secret-key $CLOUDSTACK_SECRET_KEY \
        --exoscale-instance-profile small \
        --exoscale-disk-size 10 \
        --exoscale-security-group elk \
        elk
        
    

    这将花费一些时间来运行,并且将为您提供类似于以下结果:

    Running pre-create checks...
    Creating machine...
    (elk) Querying exoscale for the requested parameters...
    (elk) Security group elk does not exist, create it
    [...]
    Setting Docker configuration on the remote daemon...
    Checking connection to Docker...
    Docker is up and running!
    

    对于本演示,我主要使用默认参数,但是当然,您可以根据需要自定义此参数。 查看驱动程序文档以了解更多信息。 您还可以稍后扩展实例(通过Web界面手动或使用CS和Exoscale API手动扩展)。

    此时,您应该能够使用以下命令连接到远程Docker守护程序:
    eval $(docker-machine env elk)

    让我们确保一切正常:

    docker version
    docker info
    

    现在,让我们创建第二台计算机,在该计算机上运行演示应用程序:

    docker-machine create --driver exoscale \
        --exoscale-api-key $CLOUDSTACK_KEY \
        --exoscale-api-secret-key $CLOUDSTACK_SECRET_KEY \
        --exoscale-instance-profile tiny \
        --exoscale-disk-size 10 \
        --exoscale-security-group demo \
        demo
    

    docker-machine已经打开了所有必需的端口,供您连接到新的远程Docker守护程序。 您可以在新创建的麋鹿安全组中查看这些端口。

    现在,您需要打开访问正在运行的应用程序并使它们相互通信所需的端口。
    让我们使用cs来做到这一点。 我们首先打开端口以连接到Kibana:

    cs authorizeSecurityGroupIngress protocol=TCP startPort=5600 endPort=5600 securityGroupName=elk cidrList=0.0.0.0/0
    

    现在,让我们的应用程序将其日志发送到Logstash:

    cs authorizeSecurityGroupIngress protocol=UDP startPort=5000 endPort=5000 securityGroupName=elk 'usersecuritygrouplist[0].account'=$EXOSCALE_ACCOUNT_EMAIL 'usersecuritygrouplist[0].group'=demo
    

    最后,我们将打开演示Web服务器的端口80:

    cs authorizeSecurityGroupIngress protocol=TCP startPort=80 endPort=80 securityGroupName=demo cidrList=0.0.0.0/0
    

    启动ELK

    现在我们的实例和安全组已准备就绪,可以启动ELK了。
    首先,您将需要上传ELK所需的配置文件。 我们将这样做:

    docker-machine scp -r conf-files/ elk:
    

    请注意,此处使用的证书是自签名的。 如果愿意,可以用以下方法替换或重新生成它:

    sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout ./kibana-cert.key -out ./kibana-cert.crt
    

    现在,您可以连接到远程Docker守护程序,并使用以下命令启动ELK:

    
    eval $(docker-machine env elk)
    docker-compose -f docker-compose-ubuntu.yml up -d
    

    享受出色完成的工作的美妙之处:

    docker-compose -f docker-compose-ubuntu.yml ps
    

    哪个应该给您类似于此的输出:
    Name Command State Ports

    elasticdata     /docker-entrypoint.sh chow ...   Exit 0
    elasticsearch   /docker-entrypoint.sh elas ...   Up       9200/tcp, 9300/tcp
    kibana          /docker-entrypoint.sh kibana     Up       5601/tcp
    logstash        /docker-entrypoint.sh -f / ...   Up       0.0.0.0:5000->5000/udp
    proxyelk        nginx -g daemon off;             Up       443/tcp, 0.0.0.0:5600->5600/tcp, 80/tcp
    

    你可以在此处看到构成ELK堆栈的三个应用程序和用于保护它们的反向NGINX代理。
    运行演示Web服务器并将其日志发送到ELK

    让我们再次使用Docker运行一个简单的NGINX Web服务器,该服务器将模拟典型的Web应用程序:

    eval $(docker-machine env demo)
    docker run -d --name nginx-with-syslog --log-driver=syslog --log-opt syslog-address=udp://$(docker-machine ip elk):5000 -p 80:80 nginx:alpine
    

    使用以下命令确保您的Web服务器正常运行:

    docker ps
    

    使用您喜欢的Web浏览器或使用curl连接到它:

    curl http://$(docker-machine ip demo)
    

    使用Kibana查看日志
    现在是您一直在等待的时刻!
    浏览到您的ELK安装:https:// <elk实例ip>:5600
    默认的用户名和密码为admin / Kibana05。
    由于这是您第一次连接到它,因此将需要几秒钟来进行设置。
    准备就绪后,点击绿色的创建按钮,然后点击发现标签来创建第一个索引。 现在,您应该能够看到您的NGINX演示Web服务器的日志:

    结论
    在这里,我们已经看到了使用ELK和Docker收集日志的最低要求。
    下一步可能是增强Logstash配置,以检测日志中的特殊字段,还可能删减一些敏感信息,并且当然要在Kibana中创建漂亮的可视化文件。 我们可以再来看一次。
    完美收集日志!

    喜欢这篇文章的可以点个赞,欢迎大家留言评论,记得关注我,每天持续更新技术干货、职场趣事、海量面试资料等等
    如果你对java技术很感兴趣也可以+ qq群:907135806 交流学习,共同学习进步。
    不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代

    文章写道这里,欢迎完善交流。最后奉上近期整理出来的一套完整的java架构思维导图,分享给大家对照知识点参考学习。有更多JVM、Mysql、Tomcat、Spring Boot、Spring Cloud、Zookeeper、Kafka、RabbitMQ、RockerMQ、Redis、ELK、Git等Java干货加vx:ddmsiqi 领取啦
    在这里插入图片描述

    展开全文
  • 使用Docker部署ELK最快捷的方案

    千次阅读 2019-03-22 13:57:37
    说明:本例采用Filebeat直接往ElasticSearch发送日志的方案,省去了...docker pull docker.elastic.co/elasticsearch/elasticsearch:6.4.2 运行容器之前先设置服务器的vm.max_map_cout参数;执行命令: sysctl ...
  • docker 部署ELK

    2021-08-27 15:46:16
    docker 部署ELK ELK 到底是什么呢? “ELK”是三个开源项目的首字母缩写,这三个项目分别是:Elasticsearch、Logstash和Kibana。 Elasticsearch是一个搜索和分析引擎。 Logstash是服务器端数据处理管道,能够同时从...
  • docker部署elk

    2020-04-19 12:15:58
    本技术文档记录docker部署elk,满足研发部门对日志的需求 #### 配置docker挂载的时区 ``` cat > /etc/timezone <<-EOF Asia/Shanghai EOF ``` #### 部署 ##### es 配置elasticsearch.yml...
  • 这里主要是记录一次使用docker部署elk5.5.0版本,并在springboot项目中配置的记录和遇到的坑,以及跳坑操作,希望对遇到相同问题的同行提供一个参考。
  • Docker部署elk

    2020-11-18 13:39:07
    docker run --name elk --restart always \ -d -p 5601:5601 -p 9200:9200 -p 5044:5044 \ -e ES_MIN_MEM=128m -e ES_MAX_MEM=1024m \ -m 2048M \ --memory-swap 4096M \ -v /opt/docker/software/elk/data:/...
  • docker部署ELK集群

    2021-07-12 15:14:37
    docker deploy ELK: 1:Docker 安装 Elasticsearch docker pull elasticsearch:7.8.0 docker network create elknet 单机部署docker run -d --name elasticsearch --...
  • Docker 部署 ELK

    千次阅读 2020-03-10 21:38:24
    # 拉取 ELK + Filebeat docker pull docker.elastic.co/elasticsearch/elasticsearch:7.6.1 docker pull docker.elastic.co/kibana/kibana:7.6.1 docker pull docker.elastic.co/logstash/logstash:7.6.1 docker pu....
  • Docker 部署ELK

    2019-10-06 19:35:43
    这里我们使用elk集成镜像,地址:https://hub.docker.com/r/sebp/elk/tags [root@centos-mq ~]# docker pull sebp/elk:660 注:660为elk版本 2、启动 [root@centos-mq ~]# echo "vm.max_map_count=262144...
  • docker部署ELK

    2021-04-09 14:04:11
    ES部署 创建数据目录 mkdir -pv /data/elasticsearch/{config,data,logs} chown 1000 /data/elasticsearch/{data,logs} 修改主机配置 vim /etc/sysctl.conf 加入 vm.max_map_count=655360 sysctl -p vim /etc/...
  • Docker 部署ELK 日志分析elk集成镜像包 名字是 sebp/elk安装 docke、启动yum install dockeservice docker startDocker至少得分配3GB的内存;不然得加参数 -e ES_MIN_MEM=128m -e ES_MAX_MEM=1024m 加了-e参数限制...
  • Docker部署ELK

    2020-12-12 23:41:59
    Docker部署ELK 下拉镜像 max_map_count问题以及解决 配置logstash.yml 运行 docker方式 启动 / 重启 / 停止 / 状态 引用链接 下拉镜像 首先启动docker [root@localhost /]#systemctl start docker 下拉镜像 [root@...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 7,867
精华内容 3,146
关键字:

使用docker部署elk