总结了一下ELK的集成应用,主要功能应用,应用场景、相关配置等,形成了一个总结报告,一是为了指导新手从哪些方面入手,另外是为相关技术人员加深理解,在使用中提供帮助。希望能给大家带来帮助。
数据源 → Logstash/Beats → Elasticsearch → Kibana
应用场景:
技术实现:
Filebeat 配置示例:
filebeat.inputs:
- type: log
paths:
- /var/log/nginx/access.log
output.logstash:
hosts: ["logstash:5044"]
Logstash 处理管道(解析 Nginx 日志):
conf
复制
input { beats { port => 5044 } }
filter {
grok { match => { "message" => "%{COMBINEDAPACHELOG}" } }
date { match => [ "timestamp", "dd/MMM/yyyy:HH:mm:ss Z" ] }
}
output { elasticsearch { hosts => ["es:9200"] } }
应用场景:
技术实现:
Metricbeat 采集应用指标:
metricbeat.modules:
- module: http
metricsets: ["json"]
hosts: ["http://app:8080/metrics"]
Kibana 告警规则:
{
"rule_type_id": "threshold",
"params": {
"aggType": "avg",
"threshold": [500],
"index": "app-metrics-*",
"timeField": "@timestamp"
}
}
应用场景:
技术实现:
Logstash 集成 MQTT 插件:
input { mqtt { host => "mqtt://broker:1883" topic => "sensors/#" } }
output { elasticsearch { index => "iot-sensors-%{+YYYY.MM.dd}" } }
Kibana 时间序列分析:使用 Timelion 绘制多传感器数据叠加图。
multiline
配置合并多行日志(如 Java 异常堆栈)。
queue.type: persisted
)防止数据丢失。
app-logs-YYYY-MM-dd
滚动)。
index.number_of_replicas: 1
)。
host.name
),实现仪表盘交互。
host.name: ${host}
动态过滤主机日志。
xpack.security.transport.ssl.enabled: true
)。
logs_viewer
角色仅允许读索引 app-logs-*
)。
场景 | 数据流 | 核心配置 |
---|---|---|
Web 应用日志分析 | Nginx → Filebeat → Logstash → Elasticsearch → Kibana | Filebeat 多行合并、Logstash Grok 解析、Kibana 地理热力图。 |
微服务监控 | 微服务 → Prometheus → Metricbeat → Elasticsearch → Kibana | Metricbeat 抓取 Prometheus 指标、Kibana 告警规则配置。 |
安全事件分析 | 防火墙日志 → Logstash → Elasticsearch → Kibana SIEM | Logstash 解析 IP 与威胁类型、Elasticsearch 机器学习异常检测。 |
IoT 设备管理 | 传感器 → MQTT → Logstash → Elasticsearch → Kibana | Logstash MQTT 输入插件、Elasticsearch 时序索引优化。 |
refresh_interval
为 30s(写入密集型场景)。
_bulk
API 提升数据写入吞吐量。
size
参数)。
通过本报告,新手可系统理解 ELK 的集成设计与核心应用,技术人员可深入优化架构与配置,构建高性能、高可用的数据驱动系统。