易君召
发布于 2026-08-30 / 作者:易君召 / 17 阅读
0

程序运行状态监控工具推荐

系统指标监控、应用 APM、日志监控、进程 / 业务状态、轻量单机、云原生 K8s、告警通知几大类,覆盖单机、服务器、Java/Python 等业务程序、容器环境,从简单开箱即用到企业级方案。

一、轻量单机快速监控(适合个人 / 小项目,部署简单)

1. htop /glances(命令行)

  • htop:替代 top,直观查看 CPU、内存、进程、线程,快速看程序 CPU 内存占用,Linux 自带可直接安装。

  • glances:一站式命令行监控,CPU、内存、磁盘、网络、进程、磁盘 IO,支持输出 web 页面,浏览器访问查看。

适用:服务器上快速排查进程卡死、内存暴涨。

2. gops(Go) / jps+jstat+jvisualvm(Java) / py-spy(Python)

语言专用进程监控:

  • Java:jps查 Java 进程;jstat看 GC;VisualVM 可视化看堆、线程、死锁;Arthas(阿里 Java 神器,线上诊断,不用改代码)

  • Python:py‑spy 采样分析 CPU 占用,定位 Python 程序慢的地方

  • Go:gops,查看 goroutine、内存、堆栈

Arthas 强烈推荐:线上 Java 程序,不用重启,看线程栈、GC、方法耗时,生产排障神器。

二、指标采集 + 可视化(Prometheus 生态,最流行开源方案)

整套:Prometheus (时序数据库采集指标) + Grafana (图表看板) + Alertmanager (告警)

  1. Prometheus

    • 业务程序埋点暴露 metrics 接口(SpringBoot Actuator、micrometer、prometheus‑client 等)

    • node‑exporter:采集服务器系统指标 CPU / 内存 / 磁盘 / 网络

    • process‑exporter:专门监控进程状态,监控你的程序进程是否存活、CPU 内存、打开文件句柄

  2. Grafana:做可视化大盘,画 CPU、内存、QPS、错误率、线程数图表,大量现成模板。

  3. Alertmanager:配置告警,邮件、钉钉、企业微信、短信通知。

适用:Java/SpringBoot、Python、Go 服务,物理机、虚拟机、K8s 都能用,中小企业主流。

三、APM 全链路监控(应用性能监控,看调用链路、耗时、异常)

不止看 CPU 内存,还看接口耗时、慢查询、报错、链路追踪

开源

  1. SkyWalking(国产首选)

    • Java/Python/Go/.NET,无侵入 agent 探针;监控 JVM、接口调用链路、慢接口、数据库调用、错误统计;支持告警;非常适合 Java 微服务。

  2. Pinpoint:韩国开源 APM,字节码探针,看调用栈,UI 漂亮,内存占用略高。

  3. Jaeger / Zipkin:侧重链路追踪,配合 Prometheus 做指标。

商业 SaaS(开箱即用,不用运维组件)

  • 阿里云 ARMS、腾讯云 APM、Datadog、NewRelic 适合不想维护一套监控组件,直接接入即可。

四、日志监控(程序报错、业务异常监控)

只看指标不够,程序崩溃、异常要看日志。

  1. ELK Stack(Elasticsearch+Logstash+Kibana):经典日志收集检索展示

  2. Loki + Grafana(轻量,推荐)

    • Loki 只存日志索引,存储成本低;promtail 采集日志,Grafana 查看日志,可和 Prometheus 指标做联动。

  3. Graylog:一站式日志平台。

常用组合:Prometheus (指标) + Loki (日志) + Grafana (统一视图),一套面板看指标 + 日志。

五、进程存活、健康检查(探测程序活没活着)

  1. supervisor:Linux 守护进程,监控程序,挂掉自动拉起,可看 stdout/stderr 日志。

  2. systemd:系统自带,配置 service,自动重启,journalctl 查看状态。

  3. Uptime‑kuma:超好用!网页 UI,http/tcp/ping 健康探测,监控服务端口、健康接口,挂了钉钉 / 微信告警,部署极其简单 docker 一键启动。适合监控业务健康接口。

六、K8s 云原生环境

  1. kube‑state‑metrics + node‑exporter + Prometheus

  2. kube‑prometheus‑stack:helm 一键整套部署,Pod / 容器 CPU 内存,重启次数,容器 OOM 监控。

  3. Tetrate Istio / SkyWalking K8s:服务网格链路监控。

七、选型快速建议

场景

推荐组合

单机小服务,简单看进程状态

htop + Uptime‑kuma + supervisor/systemd

Java 线上应用排障

Arthas + Prometheus+Grafana

Java 微服务

SkyWalking + Prometheus + Loki

多服务器集群通用监控

Prometheus+Grafana+Alertmanager+Loki

K8s 集群

kube‑prometheus‑stack + SkyWalking

补充小提示

  1. SpringBoot 项目直接引入micrometer-registry-prometheus,暴露/actuator/prometheus指标,Prometheus 直接抓取。

  2. 监控两个核心维度:

    • 系统层:CPU、内存、磁盘 IO、网络、句柄、进程存活

    • 业务应用层:QPS、错误率、接口耗时、GC 情况、业务异常、线程池状态。


本文原创作者:易君召,详见:https://www.yijunzhao.cn/authors/yijunzhao,转载请注明出处。

原文链接 https://www.yijunzhao.cn/archives/program-runtime-status-monitoring-tools-guide

欢迎访问 小易撩挨踢

https://www.yijunzhao.cn/