接上一篇
手把手教你搭建Kafka(带SASL认证)+ELK集群 - 四
https://blog.csdn.net/lwlfox/article/details/119803107
部署Kibana
- 创建kibana账号
useradd kibana
- 将kibana-7.14.0-linux-x86_64.tar.gz 文件上传到服务器并解压到/data目录
tar -zxvf kibana-7.14.0-linux-x86_64.tar.gz -C /data/ chown -R kibana:kibana /data/kibana-7.14.0-linux-x86_64
- 用以下内容覆盖/data/kibana-7.14.0-linux-x86_64/config/kibana.yml文件,其中elasticsearch-ca.pem是安装elasticsearch时生成的证书文件,直接拷贝到kibana的服务器上
server.port: 5601 server.host: "0.0.0.0" elasticsearch.hosts: ["https://10.228.82.9:9200","https://10.228.82.232:9200","https://10.228.82.36:9200" ] elasticsearch.ssl.certificateAuthorities: [ "config/elasticsearch-ca.pem" ]
- 将kibana安装成为服务, 将以下内容写入文件: /etc/systemd/system/kibana.service
[Unit] Description=kibana After=network.target [Service] Type=simple User=kibana ExecStart=/data/kibana-7.14.0-linux-x86_64/bin/kibana PrivateTmp=true [Install] WantedBy=multi-user.target
- 启动kibana
systemctl daemon-reload && systemctl start kibana
部署Filebeat
filebeat部署到需要采集日志的服务器上
- 创建filebeat 用户
useradd filebeat
- 将文件filebeat-7.14.0-linux-x86_64.tar.gz上传到服务器并解压到/data/目录
tar -zxvf filebeat-7.14.0-linux-x86_64.tar.gz -C /data/ chown -R filebeat:filebeat /data/filebeat-7.14.0-linux-x86_64
- 将以下内容写入文件: /data/filebeat-7.14.0-linux-x86_64/filebeat.yml ,其中的inputs部分,根据实际的业务日志进行调整,outputs部分是输出到kafka中
filebeat.inputs: - type: log enabled: true paths: - /data/service/open/open-api/logs/info/*.log multiline: pattern: '^\{\"' negate: true match: after fields: app.name: "openapi" log.level: "info" json.keys_under_root: true json.add_error_key: true json.message_key: message json.overwrite_keys: true output.kafka: enabled: true hosts: ["10.228.82.156:9092","10.228.82.214:9092","10.228.82.57:9092"] username: "beats" password: "123456" sasl.mechanism: "SCRAM-SHA-256" topic: "Test" client_id: "filebeat-node-1"
- 将filebeat安装为服务 , /etc/systemd/system/filebeat.service 内容如下:
[Unit] Description=filebeat Wants=network-online.target After=network-online.target [Service] User=filebeat Group=filebeat ExecStart=/data/filebeat-7.14.0-linux-x86_64/filebeat -e -c /data/filebeat-7.14.0-linux-x86_64/filebeat.yml Restart=always [Install] WantedBy=multi-user.target
- 启动filebeat服务
systemctl daemon-reload && systemctl start filebeat
验证测试
在kibana中查看filebeat采集的日志文件已经成功的上传到elasticsearch中了
写在最后
整体系统部署完成后可以将服务器上的日志文件收录到ES集群中,由于Kafka的存在,可以很好的起到保护后端服务的作用,在日志量猛增的时候也可以平稳的过渡。
整体系统各个组件的参数配置,只进行了必要的设置,需要根据实际的业务情况调整比如JVM相关的,是否开启SSL等。不同系统,不同业务的日志可以通过独立的Topic来进行区分,logstash可以配置多条流水线,大家自由发挥吧。整篇文章为ELK集群的部署起一个抛砖引玉的作用,如果有问题请大家留言反馈。