Debian Stream8如何进行系统监控
导读:Debian Stream 8 系统监控实操指南 一 快速排障与内置工具 资源总览与进程:使用 top(按 Shift+M 按内存排序)、更友好的 htop(需安装)。 负载与虚拟内存:uptime 查看系统负载;vmstat 1 观察进...
Debian Stream 8 系统监控实操指南
一 快速排障与内置工具
- 资源总览与进程:使用 top(按 Shift+M 按内存排序)、更友好的 htop(需安装)。
- 负载与虚拟内存:uptime 查看系统负载;vmstat 1 观察进程、内存、swap、IO、CPU 等。
- 磁盘与 I/O:df -h 查看磁盘空间;iostat -x 1(需安装 sysstat)查看磁盘详细 I/O。
- 网络与连接:ss -tulnp 或 netstat -tulnp 查看监听端口与连接。
- 内存与缓存:free -h 查看内存与缓存使用。
- 服务状态与日志:systemctl status nginx/mysql/php-fpm 检查服务;journalctl -u 服务名 查看服务日志,journalctl -xe 查看系统级日志。
以上命令适合日常巡检与临时定位问题,安装命令示例:sudo apt install htop sysstat。
二 持续监控与可视化
- 轻量实时监控:
- glances(sudo apt install glances):命令行全览,支持导出到 Web/API。
- netdata(sudo apt install netdata):开箱即用的实时仪表盘,默认访问 http://服务器IP:19999。
- nmon(sudo apt install nmon):交互式资源监控,适合现场排障。
- 进程与服务守护:
- Monit(sudo apt install monit):监控进程/文件/目录/设备,异常可自动重启,配置路径 /etc/monit/monitrc。
- 企业级与可观测平台:
- Nagios/Zabbix:集中监控主机、服务、网络,适合多机与告警体系。
- Prometheus + Grafana:时序数据采集与可视化,适合长期趋势与容量规划。
以上工具覆盖从轻量到企业级的不同场景,安装与访问方式见示例。
三 LNMP 组件监控要点
- 服务可用性:
- Nginx:systemctl status nginx;日志 journalctl -u nginx。
- MySQL/MariaDB:systemctl status mysql;日志 journalctl -u mysql。
- PHP-FPM:systemctl status php-fpm;日志 journalctl -u php-fpm。
- 资源与连接:
- 连接与端口:ss -tulnp | egrep ‘:(80|443|3306|9000)’。
- 请求与错误:tail -f /var/log/nginx/*.log | egrep ’ 50[0-9] '。
- 数据库负载:mysqladmin status/processlist(需凭据或权限)。
- 可视化与告警:
- 单机:netdata/glances 观察 Nginx、MySQL、PHP-FPM 指标。
- 集群:Prometheus 抓取各组件指标,Grafana 展示与告警。
以上步骤覆盖 LNMP 的核心监控面,从服务状态到日志与连接数,再到可视化。
四 日志分析与长期留存
- systemd 日志:
- 全局:journalctl;按服务:journalctl -u 服务名;时间范围:journalctl --since “2025-11-27 00:00:00” --until “2025-11-27 12:00:00”;实时跟踪:journalctl -u 服务名 -f。
- 传统日志:
- 关键字检索:grep -i “error” /var/log/syslog;按时间查看:sed -n ‘/Nov 27 10:00/,/Nov 27 11:00/p’ /var/log/syslog。
- 集中化与可视化:
- ELK Stack(Elasticsearch, Logstash, Kibana) 或 Graylog 搭建日志平台,实现检索、分析与告警。
以上方法便于快速定位错误并做长期留存与审计。
- ELK Stack(Elasticsearch, Logstash, Kibana) 或 Graylog 搭建日志平台,实现检索、分析与告警。
五 一键巡检脚本示例
- 用途:快速输出关键指标与异常线索,便于排障与交接。
- 使用方法:保存为 check.sh,chmod +x check.sh,执行 ./check.sh。
#!/usr/bin/env bash
echo "=== $(date) ==="
echo "Uptime / Load: $(uptime)"
echo "CPU/内存/交换: $(free -h | awk '/Mem/{
printf "Mem: %s/%s(%.0f%%)", $3,$2,$3*100/$2}
/Swap/{
printf " Swap: %s/%s", $3,$2}
')"
echo "磁盘空间: $(df -h | awk '$NF=="/"{
printf "/: %s used (%s free)", $5, $4}
')"
echo "I/O负载: $(vmstat 1 2 | tail -1 | awk '{
printf "r=%s b=%s si=%s so=%s", $1,$2,$7,$8}
')"
echo "网络监听: $(ss -tulnp | head -n 10 | column -t)"
echo "Nginx状态: $(systemctl is-active nginx 2>
/dev/null || echo "inactive")"
echo "MySQL状态: $(systemctl is-active mysql 2>
/dev/null || echo "inactive")"
echo "PHP-FPM状态: $(systemctl is-active php-fpm 2>
/dev/null || echo "inactive")"
echo "最近错误日志(/var/log/syslog):"
grep -i "error" /var/log/syslog 2>
/dev/null | tail -5 || echo "无访问权限或无错误"
该脚本聚合了 uptime、free、df、vmstat、ss 与 systemctl 等核心命令,适合作为日常巡检基线。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Debian Stream8如何进行系统监控
本文地址: https://pptw.com/jishu/758449.html
