搭建ES
# 搭建ESdocker pull elasticsearch:7.7.1# 启动镜像docker run -d -e ES_JAVA_POTS="-Xms512m -Xmx512m" -e "discovery.type=single-node" -p 9200:9200 -p 9300:9300 --name es7.7.1 830a894845e3# 访问测试http://192.168.1.39:9200/

搭建Kibana

# 搭建Kibanadocker pull kibana:7.7.1# 启动镜像docker run --link 7a11265d8a26:elasticsearch -p 5601:5601 -d --name kibana7.7.1 6de54f813b39

进入容器命令行模式
docker exec -it 16a056658293 /bin/bash
修改kibana.yml文件
vi config/kibana.yml

这里主要添加两个一个es的地址,http://xxx:9200,xxx就是刚刚link起的别名,另外就是‘i18n.locale’语言配置,kibana默认是英文界面,修改外为zh-CN就可以汉化。
server.name: kibanaserver.host: "0"elasticsearch.hosts: [ "http://elasticsearch:9200" ]monitoring.ui.container.elasticsearch.enabled: truei18n.locale: "zh-CN"
重启kibana容器
docker restart 16a056658293
访问 http://192.168.1.39:5601 如果成功进入界面,就说明启动成功了。
搭建FileBeat
docker pull elastic/filebeat:7.7.1
建立一份映射的配置文件filebeat.docker.yml,选择目录创建filebeat.docker.yml
#=========================== Filebeat inputs ==============filebeat.inputs:- type: logenabled: true##配置你要收集的日志目录,可以配置多个目录paths:- /root/logs/*.log##配置多行日志合并规则,已时间为准,一个时间发生的日志为一个事件multiline.pattern: '^\d{4}-\d{2}-\d{2}'multiline.negate: truemultiline.match: after## 设置kibana的地址,开始filebeat的可视化setup.kibana.host: "http://kibana:5601"setup.dashboards.enabled: true#-------------------------- Elasticsearch output ---------output.elasticsearch:hosts: ["http://192.168.1.39:9200"]index: "filebeat-%{+yyyy.MM.dd}"
docker run -d -v /root/filebeat.docker.yml:/usr/share/filebeat/filebeat.yml -v /root/logs/:/root/logs/ --link 7a11265d8a26:elasticsearch --link 16a056658293:kibana --name filebeat7.7.1 a4c1bdadf04d
