Docker ELK+Filebeat安装与配置

来源:互联网 发布:蓝光碟播放软件 编辑:程序博客网 时间:2024/04/29 22:58

前言:
为什么要写个博文,在用Docker安装ELK实在遇到太大的坑了,我在安装的时候刚好ELK三个版本更新到了6.X,Filebeat也是6.X版本,但无论是谷歌还是百度,都是些5.X的文章,花了我几天时间一直找问题原因调不通,对于我这个英文水平只有小学生水平的人来说,只能啃官方文档,还好官方文档对各个版本的描述还是详细的,通过描述,才发现5.X与6.X的差别。特此记录下过程,但愿后来的人,不要再给坑了。
架构
此图为其它博客的图片,借用下

  • Linux版本:
    Centos 7
  • Docker安装
 在线安装吧,如果自定义安装请搜索下安装方法,这里就不再描述了 yum install docker    启用服务 systemctl start docker systemctl enable docker
  • 关于ELK
  • ELK实际上是Elasticsearch+Logstash+Kibana的缩写,关于三个组件的详细介绍,请自己查看各大网站文章,这里就不再描述。
  • 最近都在研究Docker,出于快速安装方法,本文使用的是ELK For Docker
    sudo docker pull sebp/elk
  • 运行ELK镜像需要vm.max_map_count至少需要262144内存
  • [root@elk ~]# vi /etc/sysctl.conf
  • 在尾行添加以下内容
    vm.max_map_count=262144

  • 运行ELK镜像

  • sudo docker run -p 5601:5601 -p 9200:9200 -p 5044:5044 -it --name elk sebp/elk

如无意外打开浏览器即可以访问 http://ip:5601 是不是感受到Docker带来更捷

  • 安装Filebeat
  • wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.1.1-x86_64.rpm
    官网址址查看最新版本:https://www.elastic.co/downloads/beats/filebeat
  • 配置Filebeat
cd /etc/filebeatvi filebeat.yml

注意:Filebeat 6.0后,enabled默认为关闭,如红圈外,必须要修改成true,就是因为这个是新版本,我网上搜的贴子都是旧版本信息,没这个开关选项,最后还是参看官方文档啃出来的,另外,千万别用某度,你会发现最后很呕血的。
paths:为你想要抓取分析的日志内容
这里写图片描述

如果你直接将日志发送到Elasticsearc,请编辑此行Elasticsearc output
如果你直接将日志发送到Logstash,请编辑此行Logstash output
只能使用一行输出,其它的注掉即可
这里写图片描述

启动:filebeat

/etc/init.d/filebeat start
  • 进入ELK容器
  • 修改
    cd /etc/logstash/conf.d/
vi 02-beats-input.conf

默认配置如下:
这里写图片描述

将以下三行删除掉,意思是否使用证书,本例是不使用证书的,如果你需要使用证书,将logstash.crt拷贝到客户端,然后在filebeat.yml里面添加路径即可

    ssl => true     ssl_certificate => "/pki/tls/certs/logstash.crt"    ssl_key => "/pki/tls/private/logstash.key"

注意:sebp/elk docker是自建立了一个证书logstash.crt,默认使用*通配配符,如果你使用证书,filebeat.yml使用的服务器地址必须使用域名,不能使用IP地址,否则会报错,这个坑是我踩后得出来的心得,说见官网文档说明即可

打开kibana管理页面:http://ip:5601 新建filebeat-*

这里写图片描述

这里写图片描述

第一次写图文代码博客,格式控制不好,写得美观的难了,现在看到哪些精美的博客,原来是这么辛苦的,致敬他们

ELK就写到这里了,这里只是一个基础环境,具体配置的还没有去深入研究

原创粉丝点击