linux巡检(转)

本文详细介绍了Linux系统定期巡检所需的常用命令,包括查看内核/操作系统信息、CPU信息、内存使用情况、网络接口状态等,帮助系统管理员及时发现并解决潜在问题。
inux系统需要定期巡检,以检查服务器软硬件使用情况,相当于对人的体检,确保可以及时发现问题、解决问题,降低损失,常用的巡检命令如下:
# uname -a # 查看内核/操作系统/CPU信息
# head -n 1 /etc/issue # 查看操作系统版本
# cat /proc/cpuinfo # 查看CPU信息
# hostname # 查看计算机名
# lspci -tv # 列出所有PCI设备
# lsusb -tv # 列出所有USB设备
# lsmod # 列出加载的内核模块
# env # 查看环境变量
# free -m # 查看内存使用量和交换区使用量
# df -h # 查看各分区使用情况
# du -sh < 目录名> # 查看指定目录的大小
# grep MemTotal /proc/meminfo # 查看内存总量
# grep MemFree /proc/meminfo # 查看空闲内存量
# uptime # 查看系统运行时间、用户数、负载
# cat /proc/loadavg # 查看系统负载
# mount | column -t # 查看挂接的分区状态
# fdisk -l # 查看所有分区
# swapon -s # 查看所有交换分区
# hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)
# dmesg | grep IDE # 查看启动时IDE设备检测状况
# ifconfig # 查看所有网络接口的属性
# iptables -L # 查看防火墙设置
# route -n # 查看路由表
# netstat -lntp # 查看所有监听端口
# netstat -antp # 查看所有已经建立的连接
# netstat -s # 查看网络统计信息
# ps -ef # 查看所有进程
# top # 实时显示进程状态
# w # 查看活动用户
# id < 用户名> # 查看指定用户信息
# last # 查看用户登录日志
# cut -d: -f1 /etc/passwd # 查看系统所有用户
# cut -d: -f1 /etc/group # 查看系统所有组
# crontab -l # 查看所有用户的定时任务
### Linux 系统巡检概述 Linux 系统巡检是一项重要的运维工作,旨在定期检查系统的健康状况、性能指标以及安全配置。以下是关于 Linux 系统巡检的工具、脚本和最佳实践的内容。 #### 巡检的主要内容 Linux 系统巡检通常包括以下几个方面: - **硬件资源监控**:CPU 使用率、内存占用情况、磁盘空间及 I/O 性能等。 - **网络状态检查**:网卡流量统计、连接数分析、DNS 配置验证等。 - **服务运行状态**:关键服务(如 SSH、Nginx、MySQL 等)是否正常运行。 - **日志文件分析**:查看系统日志是否存在异常或错误记录。 - **安全性评估**:SELinux/AppArmor 状态、防火墙规则、用户权限管理等[^1]。 --- #### 常见的巡检工具 以下是一些常用的 Linux 系统巡检工具: 1. **Nagios** Nagios 是一款功能强大的开源监控软件,支持对服务器、应用程序和服务进行全面监控。它可以通过插件扩展功能,满足复杂的巡检需求[^2]。 2. **Zabbix** Zabbix 提供了一体化的监控解决方案,能够实时收集并展示主机的各项指标数据。其内置模板简化了常见场景下的部署流程[^3]。 3. **Prometheus + Grafana** Prometheus 是一种高效的时序数据库型监控系统,配合可视化平台 Grafana 可生成直观的图表报告。适合微服务架构环境中的大规模集群监测任务[^4]。 4. **Ansible Tower/AWX** Ansible 自动化框架允许管理员编写 Playbook 来定义具体的巡检逻辑,并通过 AWX 或 Red Hat Ansible Automation Platform 实现集中管理和调度操作[^5]。 --- #### 自定义巡检脚本示例 对于特定需求而言,开发专属 Shell/Bash 脚本来完成定制化程度较高的巡检作业往往更加灵活高效。下面给出一个基础版本的例子作为参考: ```bash #!/bin/bash # 检查 CPU 和内存利用率 echo "=== System Resource Usage ===" top -bn1 | grep "Cpu(s)" | awk '{print "CPU Idle:", $8, "%"}' free -h | grep Mem | awk '{printf("Memory Used:%s/%s (%.2f%%)\n", $3,$2,$3*100/$2)}' # 查看磁盘分区剩余容量 echo "" echo "=== Disk Space Check ===" df -h --total | tail -n 1 # 获取当前登录用户列表 echo "" echo "=== Logged In Users ===" who # SELinux/AppArmor 状态探测 if [ -e /etc/selinux/config ]; then echo "" echo "=== SELinux Status ===" sestatus elif command -v aa-status >/dev/null 2>&1; then echo "" echo "=== AppArmor Status ===" aa-status else echo "Neither SELinux nor AppArmor is enabled." fi # 日志错误扫描 (仅限最近一天内的警告/严重级别消息) echo "" echo "=== Log Errors Within Last Day ===" journalctl --since="yesterday" --priority=err,warn | head -n 10 || true ``` 此脚本涵盖了基本的资源配置查询、存储单元分配比例计算等功能模块,同时也加入了针对增强防护机制开启与否的状态反馈环节[^1]。 --- #### 最佳实践建议 为了提高效率与准确性,在实施 Linux 主机例行审查过程中应遵循如下准则: - 制定标准化文档描述每项测试项目及其预期结果; - 将所有发现的问题分类分级以便后续跟踪处理进度; - 定期更新基线值以适应不断变化的工作负载特性; - 结合图形界面呈现方式便于高层管理者快速理解整体态势; - 推荐采用持续集成流水线模式自动化执行周期性的全面体检活动[^6]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值