核心监控工具
-
Prometheus + Grafana(推荐组合)

-
Prometheus:时序数据库,主动拉取指标
-
Grafana:可视化仪表盘
-
Node Exporter:收集服务器硬件/OS指标
-
安装:
# Node Exporter wget https://github.com/prometheus/node_exporter/releases/download/v1.6.1/node_exporter-1.6.1.linux-amd64.tar.gz tar xvfz node_exporter-*.tar.gz cd node_exporter-*/ && ./node_exporter & # Prometheus (配置文件示例 prometheus.yml) global: scrape_interval: 15s scrape_configs: - job_name: 'node' static_configs: - targets: ['localhost:9100'] # Node Exporter端口
-
-
Zabbix
- 企业级监控,支持自动发现、复杂告警
- 安装:
sudo apt install zabbix-server-mysql zabbix-frontend-php
-
云平台工具
AWS CloudWatch / Azure Monitor / Google Cloud Monitoring

关键监控指标
| 类别 | 监控项 | 工具命令 | 告警阈值 |
|---|---|---|---|
| CPU | 使用率、负载 | top -bn1 | grep "Cpu(s)" |
>80% 持续5分钟 |
| 内存 | 使用率、Swap | free -m |
>85% |
| 磁盘 | 使用率、IOPS、延迟 | df -h, iostat -x 1 3 |
>90% / IO延迟>20ms |
| 网络 | 带宽、丢包、TCP连接数 | iftop -nP, netstat -ant | wc -l |
丢包率>1% |
| 服务 | 进程状态、端口响应 | systemctl status nginx |
服务宕机 |
| 温度 | 硬件传感器 | lm-sensors |
>80°C |
告警配置示例
-
Prometheus Alertmanager
# alert.rules.yml groups: - name: server-alerts rules: - alert: HighCPU expr: 100 - (avg by(instance)(irate(node_cpu_seconds_total{mode="idle"}[5m])) * 100) > 85 for: 10m labels: severity: critical -
Zabbix触发器
{Template OS Linux:system.cpu.util[,idle].avg(5m)}<15%
日志监控
- ELK Stack (Elasticsearch + Logstash + Kibana)
- 集中分析系统日志(
/var/log/syslog)
- 集中分析系统日志(
- Loki + Grafana
- 轻量级日志聚合:
# 安装Loki和Promtail docker run -d --name=loki -p 3100:3100 grafana/loki docker run -d --name=promtail -v /var/log:/var/log --link loki grafana/promtail
- 轻量级日志聚合:
安全监控
-
入侵检测
- Fail2Ban:防暴力破解
sudo apt install fail2ban cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
- OSSEC:HIDS主机入侵检测
- Fail2Ban:防暴力破解
-
审计日志
- 启用
auditd监控敏感文件:auditctl -w /etc/passwd -p wa -k passwd_change
- 启用
最佳实践
-
分层监控:
- 硬件层(RAID状态/IPMI)
- OS层(内核错误/OOM)
- 应用层(Web服务/DB响应时间)
-
备份监控数据
定期备份Prometheus数据到对象存储

-
自动化修复
- 示例:磁盘空间不足时自动清理日志
# 添加到crontab */30 * * * * find /var/log -name "*.log" -mtime +7 -exec rm -f {} ;
- 示例:磁盘空间不足时自动清理日志
-
仪表盘模板
- 导入Grafana官方模板:Dashboards | Grafana Labs
重要提示:
- 测试告警通道(邮件/Slack/钉钉)确保可达
- 监控系统自身资源消耗(避免递归监控问题)
- 为每台服务器打标签(如
env=prod, role=db)
通过以上配置,可构建覆盖服务器全生命周期的监控体系,建议从基础资源监控起步,逐步增加应用层和业务层指标。
图片来源于AI模型,如侵权请联系管理员。作者:酷小编,如若转载,请注明出处:https://www.kufanyun.com/ask/291706.html

