接上一篇
手把手教你搭建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集群的部署起一个抛砖引玉的作用,如果有问题请大家留言反馈。
|