温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎样监控服务器日志用ELK

发布时间:2026-10-26 10:34:02 来源:亿速云 阅读:100 作者:小樊 栏目:系统运维

使用 ELK(Elasticsearch + Logstash + Kibana) 监控服务器日志,一般流程是:采集日志 → 传输/过滤 → 存储 → 可视化/告警。下面给你一套从 0 到 1 的实战方案(也包含更常见的 Filebeat + ELK 架构)。


一、ELK 基础架构(推荐)

生产推荐架构:

服务器日志
   ↓
Filebeat(轻量采集)
   ↓
Logstash(过滤/解析)
   ↓
Elasticsearch(存储/检索)
   ↓
Kibana(可视化/监控/告警)

✅ 为什么用 Filebeat?
比 Logstash 更轻量,不占用服务器资源,专门干“采集+发送”。


二、部署 ELK(以 Linux 为例)

1️⃣ 安装 Elasticsearch

# 以 CentOS 为例
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
vim /etc/yum.repos.d/elasticsearch.repo

内容:

[elasticsearch]
name=Elasticsearch
baseurl=https://artifacts.elastic.co/packages/8.x/yum
gpgcheck=1
enabled=1

安装:

yum install elasticsearch -y
systemctl start elasticsearch

验证:

curl http://localhost:9200

2️⃣ 安装 Kibana

yum install kibana -y
systemctl start kibana

访问:

http://服务器IP:5601

3️⃣ 安装 Logstash

yum install logstash -y

示例配置 /etc/logstash/conf.d/server-log.conf:

input {
  beats {
    port => 5044
  }
}

filter {
  grok {
    match => { "message" => "%{TIMESTAMP_ISO8601:timestamp} %{LOGLEVEL:level} %{GREEDYDATA:msg}" }
  }
}

output {
  elasticsearch {
    hosts => ["http://localhost:9200"]
    index => "server-log-%{+YYYY.MM.dd}"
  }
}

4️⃣ 安装 Filebeat(在需要监控的服务器上)

yum install filebeat -y

配置 /etc/filebeat/filebeat.yml:

filebeat.inputs:
- type: log
  paths:
    - /var/log/messages
    - /var/log/nginx/access.log

output.logstash:
  hosts: ["logstash服务器IP:5044"]

启动:

systemctl start filebeat

三、Kibana 中查看日志

  1. 打开 Kibana
  2. Stack Management → Index Patterns
  3. 创建 server-log-*
  4. Discover 中即可搜索日志
  5. 用 Dashboard 做可视化(折线图、错误数统计等)

四、常见监控场景

✅ 1. 错误日志监控

  • 过滤 level: ERROR
  • 统计每分钟错误数

✅ 2. 服务器异常告警

  • Kibana → Alerting
  • 规则:ERROR 日志 5 分钟 > 10 条 → 邮件/钉钉/Webhook

✅ 3. Nginx / 应用日志分析

  • 解析 IP、URL、状态码
  • 监控 5xx 错误率

五、进阶优化建议

✅ 使用 ILM(索引生命周期) 自动清理旧日志
✅ Filebeat 开启 multiline(多行日志合并)
✅ 日志加 host.name 字段区分多台服务器
✅ 生产环境启用 Elasticsearch 安全认证


六、简化方案(不想部署 Logstash)

如果你日志格式简单:

Filebeat → Elasticsearch → Kibana

跳过 Logstash,性能更好,适合中小规模。


如果你愿意,我可以:

  • 给你 Docker 一键 ELK 方案
  • 按 Nginx / Java / Spring Boot / 系统日志 定制配置
  • 教你 Kibana 告警接入钉钉

你现在的服务器是 什么系统 + 什么日志类型?

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手