centos lamp怎样进行系统监控
导读:CentOS LAMP 系统监控实操指南 一 系统级实时监控 基础命令 进程与负载:top/htop(按 CPU/内存 排序,htop 更直观) 内存与磁盘:free -h、df -h 综合资源:vmstat 1 5(进程/内存/IO/...
CentOS LAMP 系统监控实操指南
一 系统级实时监控
- 基础命令
- 进程与负载:top/htop(按 CPU/内存 排序,htop 更直观)
- 内存与磁盘:free -h、df -h
- 综合资源:vmstat 1 5(进程/内存/IO/CPU)、iostat -x 1(磁盘 IO)、dstat -ta(CPU/内存/磁盘/网络)
- 网络与连接:ss -tulpn(套接字与进程)、iftop(按主机实时带宽)
- 历史与可视化
- 性能历史:sar -u/-r/-d/-n DEV 1(需安装 sysstat)
- 终端全景:nmon
- Web 管理:Cockpit(CentOS 7/8 可用,浏览器查看资源、服务、日志)
- 安装要点
- 启用 EPEL 源后安装常用工具:yum install -y epel-release htop dstat nmon iftop sysstat cockpit
- 启动 Cockpit:systemctl enable --now cockpit.socket,浏览器访问 https://服务器IP:9090
二 LAMP 各组件监控要点
- Apache
- 启用状态页:在 /etc/httpd/conf/httpd.conf 或 /etc/httpd/conf.modules.d/00-base.conf 中确保 LoadModule status_module modules/mod_status.so,并在虚拟主机或目录配置中加入:
- 示例:
- < Location /server-status>
- SetHandler server-status
- Require local
- 访问 http://服务器IP/server-status?auto 查看 Total Accesses、Idle Workers、Scoreboard 等关键指标
- 示例:
- 命令行与日志:httpd -M(已加载模块)、tail -f /var/log/httpd/access_log /var/log/httpd/error_log
- 启用状态页:在 /etc/httpd/conf/httpd.conf 或 /etc/httpd/conf.modules.d/00-base.conf 中确保 LoadModule status_module modules/mod_status.so,并在虚拟主机或目录配置中加入:
- MySQL/MariaDB
- 运行状态:mysqladmin status、mysqladmin --relative --sleep 5 extended-status(间隔采样)
- 会话与慢查询:SHOW PROCESSLIST; 、开启慢查询日志(slow_query_log、long_query_time)
- 高级分析:pt-query-digest(分析慢查询日志,定位最耗时的 SQL)
- PHP
- 配置与扩展:phpinfo.php(临时排查 php.ini 配置与扩展)
- 性能剖析:Xdebug、Blackfire、Tideways(应用级性能瓶颈定位与调用追踪)
三 集中式监控与告警方案
- Zabbix
- 适用场景:企业级、分布式监控与灵活告警
- 快速落地:在 LAMP 主机上部署 Zabbix Server + Web 前端 + Agent,通过 Web 向导添加主机、模板(如 Linux、Apache、MySQL)、设置触发器与通知媒介(邮件/企业微信/钉钉等)
- Prometheus + Grafana
- 适用场景:云原生/容器化、指标丰富、强大可视化
- 快速落地:以 Node Exporter 采集主机指标,配置 Prometheus 抓取任务,使用 Grafana 导入 Node Exporter/Apache/MySQL 仪表盘并配置告警规则
- 其他可选
- Nagios(服务可用性/插件生态)、Cacti(基于 SNMP/RRDtool 的流量与性能图形)、Netdata(轻量实时 Web 仪表盘)
四 日志与告警实践
- 日志集中与轮转
- Web/数据库日志:tail -f /var/log/httpd/access_log /var/log/httpd/error_log /var/log/mysqld.log
- 系统日志:journalctl -xe -u httpd -u mysqld(按服务过滤)
- 日志轮转:确保 logrotate 对 /var/log/httpd、/var/log/mysqld 正确配置,避免磁盘被占满
- 安全与异常拦截
- fail2ban:基于日志自动封禁暴力破解 IP(SSH、HTTP 等)
- Logwatch:定期汇总与邮件报告系统与安全日志
- 告警建议
- 关键阈值示例:CPU 持续 > 80% 5 分钟、可用内存 < 10%、磁盘使用率 > 85%、Apache 5xx 错误率突增、MySQL 连接数接近 max_connections、慢查询数异常
- 建议将 Zabbix/Prometheus 的告警与工单/IM 机器人打通,做到可观测 + 可响应
五 快速排障命令清单
- 资源瓶颈定位
- CPU/内存/IO:top/htop → vmstat 1 5 → iostat -x 1 → dstat -ta
- 网络与连接:ss -tulpn、iftop、必要时 tcpdump -i eth0 -nn port 80/443
- 组件健康
- Apache:httpd -t(配置语法)、systemctl status httpd、curl -I http://localhost/
- MySQL:mysqladmin ping、mysqladmin status、SHOW PROCESSLIST;
- 磁盘与空间
- df -h、du -sh /var/www /var/log,结合 iotop 查进程级 IO
- 历史回看
- sar -u/-r/-d/-n DEV 1(需 sysstat)
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos lamp怎样进行系统监控
本文地址: https://pptw.com/jishu/786039.html
