1. 查看系统日志文件
/var/log/messages 是CentOS系统默认的全局日志文件,记录内核、系统服务及应用程序的运行状态(如服务启动失败、网络配置错误、安全审计线索等)。可使用以下命令查看:
less /var/log/messages(适合快速浏览历史记录);tail -f /var/log/messages(跟踪实时日志更新,如服务调试时常用);grep "ERROR" /var/log/messages(提取包含“ERROR”的日志条目,快速定位问题)。2. 使用journalctl命令(Systemd系统专用)
CentOS 7及以上版本使用systemd管理日志,journalctl 是更强大的日志查看工具,支持跨文件检索、时间过滤及优先级筛选:
journalctl -n 100;journalctl -u sshd.service;journalctl -f(类似tail -f,但整合了systemd日志);journalctl --since "2025-01-01" --until "2025-01-02";journalctl -p err(优先级从低到高为:debug、info、notice、warning、err、crit、alert、emerg)。3. 使用dmesg命令查看内核消息
dmesg 命令用于显示内核环形缓冲区的内容,涵盖硬件检测、驱动加载、设备插拔及内核崩溃等信息(如硬盘坏道、驱动不兼容等问题会在此记录):
dmesg | less(分页查看,适合分析历史内核事件);dmesg -w(跟踪实时内核日志,如硬件故障时会立即显示警告);dmesg | grep -i error(提取内核级别的错误信息,快速定位硬件或驱动问题)。4. 实时监控系统资源与进程状态
监控服务器状态不仅要看日志,还需关注系统资源(CPU、内存、磁盘)及进程运行情况:
top(动态显示进程CPU、内存占用排名,按q退出);htop(top的增强版,支持鼠标操作及颜色高亮,需安装:sudo yum install htop);netstat -tuln(显示监听端口及网络连接,-t表示TCP、-u表示UDP、-l表示监听、-n表示数字格式);ss -tuln(netstat的替代工具,性能更好,功能更全);df -h(显示磁盘分区使用情况,-h表示人类可读格式,如GB、MB);free -h(显示内存及交换分区使用情况,-h表示人类可读格式)。5. 使用专业监控工具实现自动化
对于生产环境,建议使用专业工具实现集中化监控、告警及可视化:
/var/log目录下的日志(如/var/log/messages、/var/log/secure),生成每日报告并通过邮件发送给root用户(安装:yum install logwatch,执行:logwatch)。6. 日志轮转设置(避免日志膨胀)
默认情况下,CentOS通过logrotate工具自动轮转日志(如/var/log/messages每周轮转一次,保留4周)。若需自定义轮转策略,可编辑/etc/logrotate.conf或/etc/logrotate.d/syslog文件(针对messages日志的配置),调整以下参数:
rotate 4:保留4个归档日志;compress:压缩归档日志(节省空间);daily:每天轮转一次;size 100M:当日志文件达到100MB时立即轮转(避免单个日志过大)。