CentOS系统中常用查看系统信息和日志命令小结

2023-10-18 1:28:54 121点热度 0人点赞 0条评论
CentOS系统常用系统信息与日志查看命令深度解析 一、系统信息查看核心命令详解 1.1 CPU信息查询 • lscpu:全面展示CPU架构细节 • 示例:lscpu | grep 'Model name' 获取物理CP […]
  • CentOS系统常用系统信息与日志查看命令深度解析

  • 一、系统信息查看核心命令详解

  • 1.1 CPU信息查询

  • lscpu:全面展示CPU架构细节
  • • 示例:lscpu | grep 'Model name' 获取物理CPU型号
  • • 参数:-e 以表格形式呈现,--extended 查看扩展属性
  • 1.2 内存状态监控

  • free -h:人性化单位显示内存使用情况
  • vmstat 2 5:动态监测内存交换分区活动
  • • 进阶技巧:结合/proc/meminfo文件获取原始数据
  • 1.3 存储空间管理

  • df -hPT:带文件系统类型显示磁盘使用
  • du --max-depth=1 /path:目录层级容量分析
  • • 故障排查:使用debugfs修复inode异常
  • 1.4 系统负载诊断

  • uptime:快速查看平均负载与在线用户
  • sar -q 1 3:持续监控队列长度变化
  • • 深度分析:结合mpstat定位CPU瓶颈
  • 二、日志管理系统实战指南

  • 2.1 systemd日志中心

  • journalctl --since "1 hour ago":时间范围筛选
  • journalctl -u httpd.service:特定服务日志追踪
  • • 实战场景:配合-o json-pretty格式化输出
  • 2.2 传统日志文件解析

  • • 安全审计:/var/log/secure记录SSH登录尝试
  • • 系统事件:/var/log/messages存储内核消息
  • • Web服务:/var/log/nginx/access.log访问模式分析
  • 2.3 实时日志监控

  • tail -f /var/log/syslog:持续跟踪系统日志
  • • 过滤优化:grep -v 'INFO' | grep ERROR排除无关信息
  • • 图形化方案:集成multitail多窗口对比
  • 三、高级运维技巧

  • 3.1 命令组合艺术

  • • 管道链:netstat -an | awk '/:80/{print $5}' | cut -d: -f1 | sort | uniq -c统计HTTP连接来源
  • • 文件重定向:ps aux > process_snapshot.txt保存当前进程快照
  • 3.2 自动化脚本开发

  • • Shell脚本范例:#!/bin/bash
    while true; do
    free -m >> memory.log
    sleep 60
    done
  • • 日志压缩策略:find /var/log -name "*.log" -mtime +7 -exec gzip {} \;
  • 3.3 日志轮转配置

  • • 编辑/etc/logrotate.conf设置全局规则
  • • 服务专用配置:/etc/logrotate.d/nginx指定保留周期
  • • 测试命令:logrotate -d /etc/logrotate.conf模拟执行
  • 四、典型问题解决方案

  • 4.1 日志过大处理

  • • 即时清理:echo "" > /var/log/messages清空日志文件
  • • 配置优化:在logrotate中设置size 100M触发条件
  • 4.2 权限不足问题

  • • 快速授权:sudo chmod 640 /var/log/apache2/error.log
  • • 用户组管理:usermod -aG adm yourusername加入日志访问组
  • 4.3 复杂日志解析

  • • 正则表达式:awk '/pattern/ {print $NF}' log.txt提取关键字段
  • • 工具辅助:使用goaccess生成访问日志报告
  • 五、命令使用最佳实践

  • • 定期备份:tar czf system_info_$(date +%Y%m%d).tgz /var/log /etc
  • • 安全审计:每月执行lastlog检查用户登录历史
  • • 性能调优:结合iostatpidstat定位IO瓶颈
  • 六、常见错误规避

  • • 避免覆盖:mv file{,.bak}操作前创建备份
  • • 权限陷阱:修改日志后需恢复原始SELinux上下文
  • • 记录误删:journalctl --vacuum-size=500M控制日志总量
  • 七、命令扩展学习路径

  • • 进阶工具:htop交互式进程管理,ncdu可视化磁盘分析
  • • 网络调试:tcpdump抓包分析,mtr路由追踪
  • • 自动化方向:学习Ansible实现日志收集自动化
  • 八、附录:常用快捷键与技巧

  • • 快速退出:Ctrl+C终止进程,Ctrl+Z后台暂停
  • • 历史命令:history | grep keyword查找过往操作
  • • 环境变量:export HISTSIZE=10000增大命令历史缓存

PC400

这个人很懒,什么都没留下