首页主机资讯ubuntu系统监控如何实现

ubuntu系统监控如何实现

时间2025-11-24 08:25:04发布访客分类主机资讯浏览1412
导读: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
      以上工具覆盖了日常巡检、瓶颈定位与趋势观察的主要需求,适合服务器与桌面环境。

二 服务级自愈与基础告警

  • 使用 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
    • 告警规则示例(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”
    • Prometheus 加载规则与告警路由:
      • rule_files: [“rules.yml”]
      • alerting:
        • alertmanagers: [ { static_configs: [ { targets: [‘localhost:9093’] } ] } ]
    • Grafana:添加 Prometheus 数据源(URL:http://< prometheus_ip> :9090),导入官方或社区 Node Exporter/主机监控 仪表板
      该架构适合中小规模到大规模集群,具备强大的查询、可视化与灵活告警能力。

四 企业级与网络监控方案

  • 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
    • 企业级与网络:选择 ZabbixNagios
  • 实施步骤
    • 明确指标与阈值(CPU、内存、磁盘、IO、服务存活、响应时延)
    • 先部署采集与存储,再配置可视化与告警,最后做容量与保留策略规划
    • 为关键告警设置 for 持续时长,避免抖动;为通知设置 分组与抑制 规则
    • 建立变更与演练机制(告警演练、故障注入、回滚预案)

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: ubuntu系统监控如何实现
本文地址: https://pptw.com/jishu/754096.html
Linux里Swagger性能如何优化 Linux中Swagger API测试怎么做

游客 回复需填写必要信息