(全文约960字)
图片来源于网络,如有侵权联系删除
系统监控基础命令库
资源状态透视
- top/htop:实时监控系统CPU、内存使用率,支持多窗口对比
- free -m:以MB为单位显示物理内存与交换空间占用
- df -h:可视化磁盘空间分布,标注剩余容量百分比
- ps aux | sort -nr -k3:按CPU占用排序进程列表
- netstat -ant:展示网络连接状态,过滤TCP/UDP端口
进程诊断工具
- lsof -i :8080:定位占用特定端口的进程
- pmap -x
:显示进程内存映射文件 - kill -s SIGKILL
:强制终止进程(慎用) - strace -p
:追踪进程系统调用细节
网络状态探查
- ss -tulpn:综合展示TCP/UDP连接、UDP端口
- netstat -ant | grep 'ESTABLISHED':统计已建立连接数
- ifconfig | grep 'eth0':查看物理网卡状态
- mtr
:网络路径追踪工具
智能监控体系搭建
系统资源监控矩阵
- glances:集成CPU/内存/磁盘/网络指标的Web界面
- nmon:实时图形化监控,支持多指标叠加
- cAdvisor:容器化监控方案,适用于Kubernetes环境
- Zabbix:企业级监控平台,支持500+监控项
磁盘性能优化
- iostat -x 1:实时显示I/O负载与响应时间 -iotop -b 1:按进程展示磁盘读写带宽 -iotop -x:显示IO等待时间排名
- tune2fs -c 3:调整文件系统错误处理方式
网络流量分析
- nload:实时带宽监控,支持流量曲线绘制 -iftop -n -P:按协议展示网络流量
- tc qdisc show dev eth0:配置QoS流量整形
- sflow:网络流量采样分析工具
安全审计实战指南
漏洞扫描体系
- Nessus:商业级漏洞检测,支持CVE数据库更新
- OpenVAS:开源替代方案,每日自动扫描策略
- Trivy:容器镜像扫描工具,支持CVE/NVD匹配
- Nmap -sV
:版本探测与开放端口扫描
日志审计系统
- auditd:系统调用日志记录,支持自定义规则
- wazuh:集中式日志管理,集成SIEM功能
- logrotate:自动化日志轮转配置(示例) /var/log/*.log { daily rotate 7 compress delaycompress missingok }
权限管控策略
- last -a:查看历史登录记录
- fail2ban:自动阻断暴力破解IP
- sudo -l:查询用户sudo权限列表
- setenforce 2:启用SELinux强制模式
性能调优方法论
文件系统优化
- e2fsck -f:修复ext4文件系统错误
- fsck -f:通用文件系统检查
- xfs_growfs:扩展XFS文件系统空间
- mount -t overlayfs:搭建分层文件系统
服务性能提升
- ulimit -a:查看进程资源限制
- sysctl -w net.core.somaxconn=1024:调整TCP连接数
- /etc/security/limits.conf:用户资源限制配置
- service nginx restart:快速重启Web服务
数据库优化
- EXPLAIN分析慢查询:MySQL
- pg_stat_user queries:PostgreSQL
- slow_query_log:MySQL日志分析
- vacuum full:清理数据库碎片
灾备体系构建方案
文件级备份
图片来源于网络,如有侵权联系删除
- rsync -avz /var/www/ /backups/ --delete
- rdiff-backup --version:增量备份工具
- duplicity:加密云存储备份方案
数据库恢复
- mysqldump --single-transaction:事务一致性备份
- pg_dumpall -U postgres:PostgreSQL完整备份
- pg_basebackup -D /var/lib/postgresql/data:物理备份
系统快照
- Timeshift:系统卷快照工具
- Clonezilla:全盘克隆备份
- drbd:数据库主从同步方案
自动化运维实践 1.Ansible自动化部署
-
playbooks结构示例:
- hosts: web-servers
tasks:
name: 安装Nginx apt: name=nginx state=present
- hosts: web-servers
tasks:
Shell脚本自动化
- 监控脚本逻辑: while true; do memory Usage=$(free -m | awk '/Mem:/ {print $3}' | cut -d'%' -f1) if [ $memory -gt 80 ]; then echo "内存使用率过高:$memory%" >> /var/log/memory.log /etc/init.d/vertical-packing start fi sleep 300 done
Prometheus监控体系
- 配置指标导出:
- nodejs_process_memory
- nginx_active_connections
- Grafana仪表盘配置:设置阈值告警
典型场景解决方案
高并发场景处理
- Nginx限流配置: location / { limit_req zone=global n=50 m=10; }
- Redis缓存策略:设置LRU过期策略
- 数据库读写分离:主从复制配置
DDoS防御方案
- Cloudflare:CDN流量清洗
- AWS Shield:DDoS防护服务
- 服务器端防护:
TCP半连接超时设置:/etc/sysctl.conf net.ipv4.tcp_max_syn_backlog=4096 -防火墙规则:iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
容器化监控
- cAdvisor采集指标: metric name=container_cpu_usage_seconds_total help=CPU usage every 1s
- Kube-state-metrics:监控Kubernetes集群状态
- Prometheus operator:自动发现容器指标
持续优化机制
监控数据采集频率
- 关键指标:每5秒
- 磁盘IO:每30秒
- 日志分析:每日夜间处理
性能基准测试
- stress-ng:压力测试工具
- fio:IO性能测试
- sysbench:数据库压力测试
漏洞修复流程
- CVE跟踪:订阅NVD邮件通知
- 修复验证:构建安全版本镜像
- 回滚方案:预存旧版本包
本系统运维体系通过分层监控、智能告警、自动化响应三个维度构建完整防护网,建议企业根据实际需求选择工具组合,例如中小型网站可选用glances+Zabbix+Ansible方案,大型企业推荐Prometheus+ELK+Kubernetes组合,定期进行灾难恢复演练(建议每月1次),确保应急机制有效性,最终目标是建立"预防-监控-响应-优化"的闭环运维体系,将系统可用性提升至99.95%以上。
标签: #如何查看网站服务器系统
评论列表