Debian Dolphin如何进行系统监控与维护
小樊
38
2025-12-22 19:24:47
Debian 系统监控与维护指南
一 核心监控工具与用途
- 进程与资源
- htop:交互式进程查看器,支持按键筛选、树形视图,便于定位高占用进程。
- top / vmstat / iostat:整体资源与CPU/内存/IO统计,适合快速巡检与基线对比。
- iotop:按进程统计磁盘 I/O,定位写入抖动与 I/O 瓶颈。
- systemd-cgtop:按 cgroup 汇总资源,适合容器/服务组视角。
- 网络与连接
- ss -tulnp:查看监听端口与连接,替代老旧的 netstat。
- 日志与内核
- journalctl:systemd 日志查询,可按服务、时间、优先级过滤并实时跟踪。
- dmesg:查看内核环缓冲区消息,定位驱动/硬件相关异常。
- 可视化与长期监控
- Glances:终端/Web 一体化监控,覆盖CPU/内存/网络/磁盘等。
- Netdata:轻量实时可视化,开箱即用,适合单机与小规模环境。
- Prometheus + Grafana:时序数据抓取与可视化,适合多主机/集群与告警体系。
二 日常巡检与日志分析
- 快速巡检命令
- 资源总览:运行 htop(或 top),关注 load average、CPU 占用、内存使用、Swap。
- 系统维度:执行 vmstat 1 5(每秒刷新、共 5 次)查看运行队列、swap、IO。
- 磁盘维度:执行 iostat -xz 1(每秒刷新)观察await、r/s、w/s、util%。
- 网络维度:执行 ss -tulnp 检查异常端口与连接数。
- 日志定位
- 服务日志:journalctl -u ;实时跟踪:journalctl -fu 。
- 时间段:journalctl --since “2025-12-22 00:00:00” --until “2025-12-22 12:00:00”。
- 内核日志:journalctl -k;或 dmesg -T | tail -n 200 查看最近内核消息。
- 关键字检索:在日志中搜索 error/warn/fail,如 grep -i error /var/log/syslog。
- 可视化与长期留存
- 单机可视化:部署 Glances 或 Netdata,在浏览器查看历史与告警。
- 多机/集群:部署 Node Exporter → Prometheus → Grafana,统一面板与告警规则。
三 性能与故障排查流程
- 明确症状与范围:记录时间点、触发操作、影响范围,优先复现。
- 资源瓶颈定位
- CPU:用 htop 找高占用进程;必要时用 perf record -g -p 采样,再用 perf report 分析热点函数。
- 内存:用 free -m、vmstat 观察 available/free、si/so;怀疑泄漏时结合应用指标与采样工具。
- 磁盘:iostat -xz 1 看 util% 与 await;用 iotop 定位写入进程;空间不足用 df -h 清理大文件/旧日志。
- 网络:ss -tulnp 查连接与端口;连通性用 ping / traceroute;复杂问题抓包 tcpdump -i 。
- 服务与启动链路
- 状态与日志:systemctl status ;journalctl -xeu 查看启动失败原因。
- 依赖与资源限制:检查 cgroup/CPUQuota/IOWeight 等是否限制服务。
- 内核与硬件
- dmesg 查 OOM、驱动异常、硬件告警;必要时调整内核参数或更新驱动/固件。
- 变更与回滚
- 近期变更(包更新、配置调整、上线)优先回滚或灰度验证。
四 例行维护与自动化
- 软件与仓库
- 更新索引与升级:sudo apt update && sudo apt full-upgrade -y。
- 清理无用包与缓存:sudo apt autoremove -y && sudo apt clean。
- 日志轮转与归档
- 使用 logrotate 按日/周轮转并压缩,控制单个日志大小与保留周期,避免 /var 爆满。
- 定时巡检与报表
- 用 cron 定时执行巡检脚本(如 vmstat/iostat/ss 汇总),配合 mailx/sendmail 或企业微信/钉钉机器人推送日报。
- 轻量报表:sudo apt install logwatch;生成文本报告 sudo logwatch --output text。
- 备份与恢复
- 关键数据定时备份(如 rsync + 快照 或 BorgBackup),定期演练恢复流程,保留离线/异地副本。
五 进阶 面向 DolphinDB 的监控方案
- 若你的“Dolphin”指的是 时序数据库 DolphinDB(而非 KDE 的 Dolphin 文件管理器),推荐以下体系:
- 服务器资源
- Node Exporter → Prometheus → Grafana:采集 CPU/内存/磁盘/网络,统一面板与告警。
- DolphinDB 进程与性能
- 利用 DolphinDB 内置运维函数 获取节点资源与内部指标,由 Prometheus 抓取并在 Grafana 展示。
- 集群状态与可视化
- 使用 dolphindb-datasource 插件 直连 DolphinDB,在 Grafana 中通过脚本查询节点状态、流表与订阅等。
- 部署要点
- 安装并启动 Node Exporter(默认端口 9100),确认 http://:9100/metrics 可访问。
- 配置 Prometheus 的 scrape_configs 添加 Node Exporter 与 DolphinDB 目标。
- 在 Grafana 导入或构建面板,结合 告警规则 实现主动通知。