在Linux系统中,监控和查看告警信息是系统运维的核心工作之一,及时掌握系统状态、服务运行情况及硬件健康状况,能够有效预防故障发生并快速定位问题,本文将详细介绍Linux系统中查看告警信息的多种方法,涵盖系统日志、服务监控、硬件状态及第三方工具等维度,帮助运维人员构建高效的告警管理机制。

通过系统日志查看告警信息
Linux系统的日志是记录系统运行状态、应用程序行为及错误信息的重要载体,通过分析日志,可以快速定位告警根源。
1 核心日志文件
Linux系统的主要日志文件位于/var/log/目录下,常见的日志文件及其作用如下:
| 日志文件名 | 作用描述 |
|——————|——————————|
| /var/log/messages | 记录系统核心日志和应用程序通用日志 |
| /var/log/syslog | 系统事件日志(部分发行版使用) |
| /var/log/kern.log | 内核日志,包含硬件驱动和内核错误 |
| /var/log/auth.log | 用户认证日志,记录登录失败/成功信息 |
| /var/log/cron.log | 定时任务执行日志 |
查看方法:
- 使用
cat/less命令查看全文:less /var/log/messages # 分页查看,支持上下翻页和关键词搜索
- 使用
grep过滤告警关键词:grep -i "error\|fail\|warning" /var/log/syslog # 忽略大小写过滤错误、失败、警告信息
- 使用
tail实时监控日志新增内容:tail -f /var/log/messages # 实时跟踪日志更新,适合动态监控告警
2 使用journalctl查看系统日志(Systemd系统)
对于采用Systemd作为初始化系统的Linux发行版(如Ubuntu 16+、CentOS 7+),journalctl是强大的日志管理工具。
常用操作:
- 查看所有日志:
journalctl -xe # -x显示可读信息,-e跳转到最新日志
- 按时间范围查询:
journalctl --since "2023-10-01 10:00:00" --until "2023-10-01 12:00:00"
- 过滤特定服务日志:
journalctl -u nginx.service # 查看nginx服务的日志
- 查看内核日志:
journalctl -k
通过系统监控工具查看告警
Linux系统提供了多种内置监控工具,可实时查看CPU、内存、磁盘等资源的使用情况,帮助发现资源瓶颈或异常。
1 top/htop:进程资源监控
top是动态监控系统进程和资源占用的基础工具,htop是其增强版(需安装),支持彩色显示和交互操作。
关键指标:

%CPU:进程CPU占用率%MEM:进程内存占用率LOAD AVG:系统负载(1分钟/5分钟/15分钟平均值)
操作示例:
htop # 启动htop,按F1查看帮助,按F9结束进程
告警场景:若某进程CPU占用率持续超过90%,或系统负载核数(如4核系统负载>4),需进一步排查原因。
2 free:内存使用监控
free -h # 以人类可读格式(GB/MB)显示内存使用情况
关注项:
available:可用内存(包含可回收的缓存内存),若持续低于10%可能触发OOM(内存不足)。buff/cache:缓存和缓冲区占用,正常情况下可被程序回收使用。
3 df:磁盘空间监控
df -h # 查看各文件系统磁盘使用情况
告警阈值:文件系统使用率超过85%时需及时清理,避免因空间不足导致服务异常。
4 iostat:磁盘I/O监控
iostat -xz 1 # 每秒更新一次,显示详细I/O统计
关键指标:
%util:磁盘I/O时间占比,持续超过70%说明磁盘繁忙。await:I/O请求等待时间,过高(如>100ms)可能存在磁盘性能问题。
通过服务监控工具查看告警
对于运行中的服务(如Nginx、MySQL、Docker等),需通过专用工具监控其状态和日志。
1 systemctl:服务状态管理
systemctl status nginx.service # 查看nginx服务状态 systemctl --failed # 列出所有失败的服务单元
告警场景:若服务状态为failed,需结合journalctl -u nginx.service查看具体错误日志。
2 docker logs:容器日志监控
docker logs -f --tail 100 my_container # 实时查看容器最近100行日志 docker inspect my_container | grep "LogPath" # 查看容器日志存储路径
优化建议:通过--log-opt max-size和--log-opt max-file限制容器日志大小,避免磁盘被日志占满。

通过硬件监控工具查看告警
硬件故障(如磁盘坏道、温度过高)可能导致系统异常,需通过工具监控硬件状态。
1 smartctl:磁盘健康监控
smartctl -a /dev/sda # 检查磁盘SMART信息
关键指标:
Reallocated_Sector_Ct:重分配扇区数,非0表示存在坏道。Temperature_Celsius:磁盘温度,持续超过60℃需关注散热。
2 lm-sensors:硬件传感器监控
sensors-detect # 初始化硬件传感器(需安装lm-sensors) sensors # 显示CPU、主板温度、风扇转速等信息
告警阈值:CPU温度持续超过85℃可能触发降频或硬件损坏。
使用第三方工具集中管理告警
对于复杂系统,可通过第三方工具实现日志收集、告警聚合和通知,提升运维效率。
1 ELK Stack(Elasticsearch + Logstash + Kibana)
- Elasticsearch:存储和搜索日志数据
- Logstash:收集、解析日志
- Kibana:可视化展示告警信息
适用场景:大规模分布式系统日志分析,支持自定义告警规则(如关键词匹配、阈值触发)。
2 Prometheus + Grafana
- Prometheus:采集系统和服务指标数据
- Grafana:构建监控仪表盘,支持设置告警规则
示例:通过Grafana配置“CPU使用率>80%持续5分钟”触发告警,并通过邮件或钉钉通知。
告警处理最佳实践
- 分级告警:根据严重程度划分告警等级(如紧急、重要、提示),避免告警风暴。
- 定期清理日志:通过
logrotate工具自动轮转和压缩日志,避免磁盘空间不足。 - 保留关键日志:对
/var/log/auth.log、内核日志等关键日志设置长期保留策略。 - 自动化运维:结合Ansible、Shell脚本实现自动处理常见告警(如自动清理临时文件、重启异常服务)。
通过以上方法,运维人员可以全面掌握Linux系统的告警信息,结合工具和流程化管理,有效提升系统稳定性和故障响应速度。

















