在企业级日志平台中,ELK(Elasticsearch + Logstash + Kibana) 是核心分析与可视化组件,而 Kafka 作为高吞吐消息队列,能有效解耦日志采集与处理,Filebeat 则是轻量级日志采集器。 典型架构如下:
[业务服务器]
↓ Filebeat
[Kafka 集群]
↓ Logstash
[Elasticsearch 集群]
↓ Kibana
[可视化与告警]
优势:
角色 | 节点数量 | 示例 IP | 主要组件 |
---|---|---|---|
ES Master + Kibana | 1 | 192.168.1.130 | Elasticsearch、Kibana |
ES Data Node | 2 | 192.168.1.131-132 | Elasticsearch |
Kafka Broker | 3 | 192.168.1.140-142 | Kafka、Zookeeper |
Logstash | 2 | 192.168.1.150-151 | Logstash |
Filebeat | N | 各业务服务器 | Filebeat |
版本建议:
yaml
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://192.168.1.130:9200"]
i18n.locale: "zh-CN"
启动:
bash
./bin/kibana &
filebeat.inputs:
- type: log
paths:
- /var/log/nginx/access.log
- /var/log/nginx/error.log
output.kafka:
hosts: ["192.168.1.140:9092","192.168.1.141:9092","192.168.1.142:9092"]
topic: "logs"
partition.round_robin:
reachable_only: true
required_acks: 1
compression: gzip
启动:
./filebeat -e -c filebeat.yml
log.retention.hours
控制日志保留时间bulk_max_size
优化批量发送kafka-topics.sh --describe
/_cluster/health
filebeat -e -d "publish"
通过 Filebeat → Kafka → Logstash → Elasticsearch → Kibana 的链路,可以构建一个高可用、可扩展、实时的企业级日志分析平台。Kafka 的引入不仅提升了系统的抗压能力,还为后续接入多种消费端(如大数据分析、实时告警)提供了可能性。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。