使用docker安装elk同时使用kafka做消息队列
使用docker 安装 Filebeat logstash elasticsearch kibana
这里有2台服务器
EKServer 192.168.0.101
logServer 192.168.0.102
前要说明:
EKServer
1. 安装Jdk及docker
2.拉取 elasticserarch kibana 镜像(elaticsearch kibana 版本尽量一致)
3. 安装 elaticsearch(大家尽量做文件夹映射。如果是文件映射无法docker不会更新,如果不做映射有可能配置报错导致容器启动不了无法修改错误的配置)
4. 安装kibana
4.1复制安装后的kibana.yml文件
编辑kibana.yml添加 i18n.locale: zh-CN 到配置文件将kibana改成中文 同时添加elasticsearch 地址
4.2重新安装kibana同时映射kibana.yml文件
LogServer
1.安装docker jdk 拉取 kafka filebeat logstash 镜像
2.安装zookeeper
3.安装kafka
4.安装filebeat
4.1 创建filebeat.yml 放在/opt目录下
4.2 复制filebeat.yml 到指定filebeat 容器指定目录下 当然还是最好做文件夹映射 我这里没有做这个
4.3重启 filebeat
5.安装logstash
5.1创建logstash.conf 配置文件并添加input 及output
5.2复制 logstash.conf 到 logstash容器目录下
5.3 进入logstash 容器修改 logstash.yml
path.config: /usr/share/logstash/config/*.conf
5.4 重启logstash
docker restart logstash
测试kafka是否接收到信息
docker exec -it kafka bash /opt/kafka/bin/kafka-console-consumer.sh --bootstrap-server PLAINTEXT://kafka:9092 --topic test-log --from-beginning
zookeeper 查看 kafka注册信息:
docker exec -it zookeeper bash bin/zkCli.sh
ls /brokers/ids