环境
- centos 7.0(至少需要3G内存,该安装包较大)
- docker 19.0
- ELK镜像 sebp/elk(7.6.0版本)
Docker安装部署ELK
选择的是sebp/elk镜像,这里基本没有什么需要配置的,docker search elk 找到stars最多的pull下来。
docker pull sebp/elk
先把对应的文件都拷贝到宿主机当中
1.创建文件夹 mkdir /root/data/es/{conf,data} mkdir /root/data/logstash/config 2.在运行容器并且把容器里的配置cp到宿主机当中 docker run --tid --name elk sebp/elk docker cp -a elk:/opt/kibana/config/kibana.yml docker cp -a elk:/opt/logstash/config 3.然后删除刚才创建的容器 docker rm -f elk
1 .运行elk
pull下来之后,因为需要修改kibana配置,和logstash配置,所以把一些常用的配置挂载到容器目录
1.命令 docker run -tid -p 5601:5601 -p 5044:5044 -p 9200:9200 -p 9300:9300 \ -v /root/data/es/conf/kibana.yml:/opt/kibana/config/kibana.yml \ -v /root/data/es/data:/var/lib/elasticsearch \ -v /root/data/logstash/config:/opt/logstash/config \ --restart=always --name elk sebp/elk 2.命令解释 -p 5601:5601 映射kibana端口 -p 9200:9200 映射es端口 -p 5044:5044 映射logstash端口 -v /root/data/es/conf/kibana.yml:/opt/kibana/config/kibana.yml 挂载kibana配置文件 -v /root/data/es/data:/var/lib/elasticsearch 挂载es数据源 -v /root/data/logstash/config:/opt/logstash/config 挂载logstash配置 --restart=always 自动启动
2.配置logstash
进入到logstash的配置文件夹,会看到如下的配置,examlogstash.conf是新添加的配置文件,pilelines.yml是管理配置文件的路径。
这里我把配置文件加载的目录改成了opt可以不用改,在挂载目录的时候把/etc/logstash/conf.d/*.conf路径给挂载出来。
修改配置,输入端口可以根据需求自定义一个对外提供的端口号,注意格式一定要正确,不然会报错。
配置完成之后,在重启一下elk就ok了
1.docker restart elk
3.汉化kibana
在宿主机找到刚才挂载到容器里的kibana.yml文件,在里面加入i18n.locale: "zh-CN"这行配置,然后重启下容器就ok了。
windows安装filebeat客户端
从官网下载windows版本的filebeat客户端,配置filebeat.yml
这里配置了logstash的路径,还有要抓取的本机目录
运行抓取日志
.\filebeat -e -c filebeat.yml
kibana配置
成功抓取的日志以后进入到kibana当中创建索引模式,如果未抓取到日志,那么看下filebeat或者docker logs 是否有错误。通常是配置文件语法格式错误。
如果成功抓取,点击kibana左上方的绿色背景的D字。然后点击索引模式=>创建索引模式,如果已经存在索引那么会显示你的索引字段,没有索引的话系统也会给提示的。
有索引直接输入索引名匹配就ok了。
来源:https://www.cnblogs.com/zhengyazhao/p/12517966.html