Linux 日志查看与分析命令:从报错定位到日常巡检
服务器出问题时,日志往往是第一线索。很多新手习惯只看报错截图,其实系统和服务早已把关键信息写进了日志。掌握几条常用查看命令,就能在故障时快速定位原因,平时也能用它做健康巡检。
一、先分清日志存在哪里
传统服务多把日志写在 /var/log 目录下。采用 systemd 的系统则统一由 journald 管理,用 journalctl 查看。先判断服务的管理方式,再选对应的工具。
查看日志文件时,tail -f 可以实时跟踪新增内容;less 则适合翻阅历史记录,支持搜索和翻页。
二、journalctl 的常用姿势
journalctl -u 服务名只看某个服务的日志,配合 -f 实时跟踪,配合 --since "1 hour ago" 或 --since today 限定时间范围,能把无关记录过滤掉大半。加上 -p err 可以只看错误级别以上的记录,快速聚焦故障时段。
如果服务启动失败,先找第一次报错。很多情况下真正的根因在第一条错误里,后面的报错只是连锁反应。
三、用 grep 做筛选和统计
日志量大时,直接通读不现实。用 grep 过滤关键词,例如错误码或接口路径;用 grep -c 统计某类错误出现的次数,判断是偶发还是持续发生。再用 sort、uniq -c 排序统计,可以迅速发现出现频率最高的错误类型。
分析访问日志时,可以先统计状态码分布和异常路径,看整体趋势,再钻到单条记录里确认细节。
四、认证与安全类日志值得单独看
登录失败、sudo 提权和 SSH 连接记录都属于安全敏感信息。定期查看认证日志,能发现暴力破解尝试和异常登录时间。发现短时间内大量失败记录时,应当结合防火墙规则和账号状态一起处理,而不是只封一个地址了事。
日常巡检可以固定几个检查点:服务是否正常运行、最近一小时有无错误激增、磁盘是否因日志增长过快。
五、日志轮转与磁盘空间
日志如果不加控制,会持续占用磁盘,最终可能把根分区写满,导致服务无法启动。logrotate 可以按大小或时间切割旧日志并压缩归档;journald 也有体积上限配置,需要按磁盘大小合理设置。
清理旧日志前先确认是否还有排查价值,重要日志可以压缩后转存到备份位置,而不是直接删除。
六、排障时的实用顺序
遇到故障时,建议按这个顺序走:先确认服务状态和最近一次启动时间,再看故障时段的错误日志,接着筛选高频错误,最后结合配置变更记录判断。很多问题在第二步就能定位,例如端口被占用、配置文件语法错误、依赖服务未启动。
如果日志里没有明确错误,也要留意“缺失”本身:预期的定时任务没有记录,都可能是调度或权限问题。
小结
日志查看的核心不是记住多少命令,而是建立固定的方法:先定位日志来源,再限定时间和服务范围,接着筛选统计,最后结合变更历史判断。把 tail、less、journalctl、grep 这几条命令练熟,再配上定期巡检和轮转配置,日常运维的大部分问题都能在日志里找到答案。
- 点赞
- 收藏
- 关注作者
评论(0)