ubuntu系统监控如何实现
导读:Ubuntu系统监控实现指南 一 快速上手 命令行与桌面工具 实时与交互 使用 top/htop 查看进程与资源占用;安装 htop:sudo apt install htop 使用 vmstat 查看内存、CPU、IO 概况;使用 i...
Ubuntu系统监控实现指南
一 快速上手 命令行与桌面工具
- 实时与交互
- 使用 top/htop 查看进程与资源占用;安装 htop:sudo apt install htop
- 使用 vmstat 查看内存、CPU、IO 概况;使用 iostat 查看磁盘与CPU统计:sudo apt install sysstat
- 使用 nmon 获取 CPU、内存、磁盘、网络的综合视图
- 使用 iotop 定位进程级磁盘 I/O:sudo apt install iotop
- 使用 atop 做更细粒度的历史与资源分析
- 图形界面
- 使用 GNOME 系统监视器(System Monitor) 查看 CPU、内存、磁盘、网络与进程信息
- 进程树与快照
- 使用 pstree 查看进程关系;使用 ps aux 获取进程快照
- LAMP 场景常用
- 结合 top/htop/vmstat/iostat/sar 快速定位 Web/DB 资源瓶颈;sar 属于 sysstat 套件:sudo apt install sysstat
以上工具覆盖了日常巡检、瓶颈定位与趋势观察的主要需求,适合服务器与桌面环境。
- 结合 top/htop/vmstat/iostat/sar 快速定位 Web/DB 资源瓶颈;sar 属于 sysstat 套件:sudo apt install sysstat
二 服务级自愈与基础告警
- 使用 systemd 保障关键服务
- 在单元文件中设置 Restart=always 实现异常退出自动拉起;通过 systemctl status/enable/start 管理服务
- 示例要点:
- [Service] 段加入:Restart=always
- 启用与启动:sudo systemctl enable myapp.service & & sudo systemctl start myapp.service
- 使用 Monit 做资源阈值与服务管控
- 安装:sudo apt install monit
- 配置示例(/etc/monit/conf.d/myapp.conf):
- check process myapp with pidfile /var/run/myapp.pid
- start program = “/etc/init.d/myapp start”
- stop program = “/etc/init.d/myapp stop”
- if memory > 200 MB for 5 cycles then alert your_email@example.com
- 启动:sudo systemctl start monit
上述方案轻量易落地,适合单机或少量节点的服务守护与阈值告警。
三 集中监控与可视化 推荐架构
- 组件与端口
- Prometheus(时序采集与存储):默认 9090
- Grafana(可视化与告警面板):默认 3000
- Alertmanager(告警路由与通知):默认 9093
- 安装与启动(Ubuntu 20.04/22.04 示例)
- Prometheus:sudo apt update & & sudo apt install prometheus;启动:sudo systemctl start prometheus
- Grafana:添加仓库并安装
- wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -
- echo “deb https://packages.grafana.com/oss/ubuntu $(lsb_release -cs) main” | sudo tee /etc/apt/sources.list.d/grafana.list
- sudo apt update & & sudo apt install grafana
- 启动:sudo systemctl start grafana-server
- Alertmanager:sudo apt install alertmanager;启动:sudo systemctl start alertmanager
- 关键配置
- Prometheus 采集自身与节点:
- scrape_configs:
- job_name: ‘prometheus’ static_configs: [ { targets: [‘localhost:9090’] } ]
- job_name: ‘node’ static_configs: [ { targets: [‘< 节点IP> :9100’] } ] # 需在各节点部署 node_exporter
- scrape_configs:
- 告警规则示例(rules.yml):
- groups:
- name: example
rules:
- alert: InstanceDown expr: up == 0 for: 1m labels: { severity: page } annotations: summary: “Instance { { $labels.instance } } down” description: “{ { $labels.instance } } of job { { $labels.job } } down for > 1m”
- name: example
rules:
- groups:
- Prometheus 加载规则与告警路由:
- rule_files: [“rules.yml”]
- alerting:
- alertmanagers: [ { static_configs: [ { targets: [‘localhost:9093’] } ] } ]
- Grafana:添加 Prometheus 数据源(URL:http://<
prometheus_ip>
:9090),导入官方或社区 Node Exporter/主机监控 仪表板
该架构适合中小规模到大规模集群,具备强大的查询、可视化与灵活告警能力。
- Prometheus 采集自身与节点:
四 企业级与网络监控方案
- Zabbix
- 安装:sudo apt update & & sudo apt install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-agent
- 配置数据库连接后启动服务,访问 http://< server_ip> /zabbix 完成安装向导
- Nagios
- 安装:sudo apt update & & sudo apt install nagios3 nagios-plugins
- 通过 Web 界面完成监控对象与服务定义,适合传统 IT 与网络监控场景
两者提供主机/服务/网络设备的状态监控、通知与可视化,适合需要更强权限控制与复杂依赖的企业环境。
五 落地选型与实施建议
- 场景与工具对照
- 单机/少量节点:优先 systemd + Monit,辅以 top/htop/vmstat/iostat
- 可视化与历史趋势:部署 Prometheus + Grafana,节点安装 node_exporter
- 统一告警:在 Prometheus 配置 rules.yml,用 Alertmanager 路由到邮件/企业微信/钉钉/Slack
- 企业级与网络:选择 Zabbix 或 Nagios
- 实施步骤
- 明确指标与阈值(CPU、内存、磁盘、IO、服务存活、响应时延)
- 先部署采集与存储,再配置可视化与告警,最后做容量与保留策略规划
- 为关键告警设置 for 持续时长,避免抖动;为通知设置 分组与抑制 规则
- 建立变更与演练机制(告警演练、故障注入、回滚预案)
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: ubuntu系统监控如何实现
本文地址: https://pptw.com/jishu/754096.html
