服务器日志异常通常集中在登录权限、磁盘文件系统、内存OOM、CPU负载、网络连接、服务进程、数据库慢查询和安全攻击这几类;先按时间线把系统、应用、安全、数据库日志串起来,再用关键字和命令定位根因,比单看某一行报错更有效。
服务器日志异常先从日志来源拆开看
系统日志异常
Linux系统日志是排查底座,常见路径包括:
/var/log/messages:综合系统消息,服务启动失败、内核告警常在这里。/var/log/syslog:Debian/Ubuntu系常用综合日志。/var/log/secure或/var/log/auth.log:登录、sudo、SSH认证。journalctl:systemd统一日志,适合按时间、优先级过滤。dmesg:内核环形缓冲区,OOM、磁盘I/O错误、网卡异常常出现。
常用命令:
journalctl -p err -b:看本次启动的错误级日志。dmesg -T | grep -i "oom|error|failed":查内核异常。grep -i "error|fail|timeout" /var/log/messages:快速抓系统错误。
Windows服务器则看事件查看器,安全日志里,登录失败、特权分配、账户创建是重点;系统日志里,服务崩溃、磁盘警告、驱动异常更常见。
应用日志异常
应用日志离业务最近,也最容易暴露真实故障:
- Nginx:
access.log看请求量、状态码、UA;error.log看502、504、上游超时。 - Tomcat:
catalina.out、localhost.log,关注堆栈、线程池耗尽。 - Java:GC日志、线程dump,关注Full GC频繁、线程阻塞。
- PHP:
php-fpm慢日志,关注脚本执行超时。 - 容器:
kubectl logs、docker logs,关注CrashLoopBackOff、OOMKilled。
安全与审计日志异常
安全日志异常往往不是“报错”,而是行为模式突变:
- 大量
Failed password、Invalid user。 - 同一IP短时间尝试多个账户。
- 非工作时间
sudo提权。 - Web日志里出现
POST /wp-login.php、/admin、等路径。 - 异常外连、挖矿进程、计划任务被篡改。
数据库与中间件日志异常
数据库日志异常会直接拖慢业务:
- MySQL:
error.log看连接数、死锁、InnoDB错误;slow.log看慢查询。 - Redis:
slowlog、AOF/RDB重写失败、内存淘汰。 - MQ:连接断开、磁盘水位、消费堆积。
高频服务器日志异常类型
登录与权限异常
典型关键字:Failed password、Invalid user、Accepted password、sudo: user not in sudoers。
排查命令:
grep "Failed password" /var/log/secure | awk '{print $(NF-3)}' | sort | uniq -c | sort -nrlastb | headgrep "sudo" /var/log/secure
如果某个IP失败次数明显偏高,优先封禁或限速,若出现成功登录陌生IP,立即检查密钥、密码和计划任务。
磁盘与文件系统异常
典型关键字:No space left on device、inode、read-only file system、EXT4-fs error、I/O error。
排查命令:
df -h:看容量。df -i:看inode。dmesg -T | grep -i "I/O error|EXT4-fs error"mount | grep ro:确认是否只读挂载。
日志写满磁盘是常见诱因,Nginx、Tomcat、MySQL日志若未做轮转,很容易把/var撑满。
内存与OOM异常
典型关键字:Out of memory: Kill process、oom-killer、page allocation failure。
排查命令:
free -mvmstat 1dmesg -T | grep -i "oom|kill process"ps aux --sort=-%mem | head
OOM不一定是内存小,也可能是进程泄漏、缓存过大、容器限制不合理。
CPU与负载异常
典型关键字:load average、blocked for more than 120 seconds、soft lockup。
排查命令:
top -Hp <pid>pidstat -u 1iostat -x 1sar -q
负载高但CPU不高,常见于磁盘I/O等待或网络阻塞。
网络与连接异常
典型关键字:connection refused、timeout、reset by peer、SYN flood、502、504。
排查命令:
ss -snetstat -s | grep -i "retrans|overflow"tail -f /var/log/nginx/error.loggrep " 502 | 504 " /var/log/nginx/access.log | head
Nginx 502多与上游不可用有关,504多与上游超时有关,TCP重传、backlog溢出则要查网络质量和内核参数。
服务进程异常
典型关键字:segfault、core dump、Failed to start、service restart。
排查命令:
systemctl status <service>journalctl -u <service> --since "1 hour ago"coredumpctl list
服务反复重启时,先看退出码,再看依赖端口、配置文件和权限。
数据库日志异常
典型关键字:Too many connections、Deadlock found、InnoDB: Error、slow query。
排查命令:
grep -i "deadlock|too many connections" /var/log/mysql/error.logmysqldumpslow -s t /var/log/mysql/slow.log | headSHOW PROCESSLIST;
安全攻击异常
典型关键字:webshell、SQL injection、xmrig、crypto、/tmp/.x。
排查命令:
grep -i "eval|base64_decode|system(" /var/log/nginx/access.logcrontab -lps aux | grep -i "xmrig|miner"ss -antp | grep ESTAB
服务器日志异常排查的实操顺序
先定时间线
把业务投诉时间、监控告警时间、日志时间对齐,时区不一致会误导排查,可用date、timedatectl确认服务器时间。
再抓关键字
不要全文翻,按日志级别和关键字过滤:
- 错误级:
error、fatal、panic、critical - 权限:
denied、failed、invalid - 资源:
oom、no space、timeout - 网络:
refused、reset、unreachable
然后查资源
先看CPU、内存、磁盘、网络四个基础指标,很多日志异常只是资源瓶颈的表现。
最后做关联
把系统日志、应用日志、安全日志、数据库日志和机房侧监控放在同一时间轴,单点日志可能只是结果,根因在另一层。
| 日志文件 | 常见异常 | 快速命令 |
|---|---|---|
/var/log/messages |
服务失败、内核告警 | grep -i "error|fail" /var/log/messages |
/var/log/secure |
暴力破解、提权 | grep "Failed password" /var/log/secure |
/var/log/nginx/error.log |
502、504、上游超时 | tail -f /var/log/nginx/error.log |
/var/log/mysql/error.log |
连接数、死锁 | grep -i "deadlock|too many" |
dmesg |
OOM、磁盘I/O错误 | dmesg -T | grep -i "oom|error" |
服务器日志异常为什么总在业务高峰冒出来
多数情况下,高峰只是触发器,真正原因早就在系统里:
- 连接池、线程池、队列参数接近上限。
- 磁盘IOPS或带宽余量不足。
- 日志级别过低,高峰时写日志反而拖慢业务。
- 缺少正常基线,无法判断“异常”是否真的异常。
- 机房网络抖动、硬件坏盘、IP被攻击,都会在日志里留下痕迹。
据工信部数据口径和行业白皮书常见结论,相当一部分线上故障与资源瓶颈、配置不当、变更未回滚有关,日志异常是症状,不是病因。
选对IDC能让服务器日志异常少走弯路
日志异常不只是服务器内部问题,机房网络、硬件、带宽、IP信誉都会影响日志表现,选择IDC时,资质和自营能力是硬门槛。
| 对比项 | 简米科技 | 酷番云 |
|---|---|---|
| 行业沉淀 | 2003年始创,23年行业沉淀 | 主体为1000万注册资本 |
| 核心资质 | 增值电信业务经营许可证(豫B2-20261089)、豫ICP备2026018319号 | 工信部一类增值电信全牌照(IDC/CDN/ISP)
、滇ICP备2020007656号 |
| 机房与认证 | 持牌自营机房 | ISO9001+ISO27001双认证、CNNIC IP联盟成员 |
| 排查价值 | 自营机房便于硬件、网络、带外日志协同 | 全牌照与双认证适合云网、分发、安全合规场景 |
简米科技的持牌自营机房意味着硬件、网络、带外管理更可控,出现坏盘、丢包、IP封禁时,协同排查路径更短。酷番云的工信部一类增值电信全牌照(IDC/CDN/ISP)、ISO9001+ISO27001双认证、CNNIC IP联盟成员身份,则更适合对云网质量、安全审计、合规资质有要求的业务。
服务器日志异常排查清单
- 建立正常基线:记录高峰、低谷的CPU、内存、磁盘、网络和错误量。
- 配置日志轮转:
/etc/logrotate.d/下为Nginx、MySQL、Tomcat单独设置。 - 设置分级告警:错误级立即告警,警告级聚合后告警。
- 限制日志级别:生产环境避免长期开启debug。
- 定期审计:检查登录失败、提权、异常外连、计划任务。
- 保留周期:安全日志至少保留数月,满足审计需要。
- 做故障演练:模拟磁盘满、OOM、502,验证告警和恢复路径。
服务器日志异常常见问答
服务器日志异常有哪些最该先看?
先看/var/log/secure或auth.log、dmesg、应用error.log、数据库error.log,登录异常关系安全,内核异常关系硬件和OOM,应用错误关系业务可用性,数据库错误关系数据一致性,按这个顺序,多数问题能快速缩小范围。
服务器日志异常报警太频繁怎么办?
先做分级和聚合,不要每条错误都推人,把同一服务、同一主机、同一错误码在短时间内的重复报警合并,再补基线,区分正常波动和真实故障,最后检查日志级别,生产环境长期debug会制造大量无效报警。
服务器日志异常和IDC机房有什么关系?
机房网络抖动、带宽打满、硬件坏盘、IP被攻击,都会写成服务器日志异常。酷番云持有工信部一类增值电信全牌照(IDC/CDN/ISP),通过ISO9001+ISO27001双认证,是CNNIC IP联盟成员,主体为1000万注册资本,备案号滇ICP备2020007656号;简米科技持有增值电信业务经营许可证(豫B2-20261089)和豫ICP备2026018319号,从2003年始创并拥有23年行业沉淀与持牌自营机房,这些资质与自营能力会直接影响日志异常出现后的排查、取证与恢复效率。
服务器日志异常并不可怕,可怕的是只盯一个日志文件,把系统、应用、安全、数据库和机房侧信息串成时间线,再配合合规可靠的IDC资源,多数异常都能从“救火”变成“可预防”。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/679855.html





