搜集汇总一些监控工具。
Zabbix
非常经典,值得单独另起一篇。
HertzBeat
即Apache HertzBeat,官网,开源(GitHub,7.1K Star,1.3K Fork)基于Java的AI增强实时可观测性平台,集监控、告警和通知等功能于一体;持续发展并引入AI驱动的观测能力,支持指标、日志的统一收集与分析,适用于中小团队或个人项目的监控需求。
核心特点包括强大的自定义监控能力和无需部署Agent的轻量级设计。通过抽象HTTP、JMX、SNMP、JDBC、SSH等标准协议,将它们规范可配置化,用户只需编写YML格式的监控模板即可采集各类指标,如应用服务、数据库、操作系统、云原生环境等。避免传统监控系统中安装Agent的复杂性,通过直连对端系统采用PULL模式拉取数据,简化部署流程。

核心亮点
- 开箱即用:提供Web端全功能管理,界面友好。内置大量监控模板,覆盖应用、数据库、中间件与网络设备等,极大降低部署与学习成本。
- 强大自定义:通过YAML模板即可灵活自定义监控指标,无需编码。独有的状态页构建能力,支持将监控数据实时呈现为对外状态页面。
- 高性能与高扩展:原生支持分布式集群与云边协同部署,轻松应对海量监控场景,保障系统稳定与可扩展性。
- 生态友好:完全兼容Prometheus协议,可无缝集成至现有可观测性体系,保护用户投资;
- 内置模板:支持快速添加监控目标,并实时查看指标详情;
- 通知渠道:告警功能支持多种三方推送系统(如邮件、钉钉、企业微信),并可自定义阈值规则和通知策略,实现问题的及时响应。
其核心设计理念是易用性与高性能。通过无Agent的采集方式、高性能集群架构和与Prometheus生态的无缝兼容,为用户提供从基础设施到应用服务的一体化观测解决方案。
实战
提供多种安装方式:
基于Docker安装:
bash
docker run -d -p 1157:1157 -p 1158:1158 \
-e LANG=zh_CN.UTF-8 \
-e TZ=Asia/Shanghai \
-v /data/hertzbeat/data:/opt/hertzbeat/data \
-v /data/hertzbeat/logs:/opt/hertzbeat/logs \
--restart=always \
--name hertzbeat apache/hertzbeat:latest
基于Docker Compose安装,docker-compose.yaml示例:
yaml
version: '2.4'
services:
hertzbeat:
image: apache/hertzbeat:latest
container_name: hertzbeat
environment:
- TZ=Asia/Shanghai
- LANG=zh_CN.UTF-8
ports:
- 1157:1157
volumes:
- /data/hertzbeat/data:/opt/hertzbeat/data
- /data/hertzbeat/logs:/opt/hertzbeat/logs
restart: always
浏览器访问http://localhost:1157,默认账密:admin/hertzbeat。
界面
第三方监控观测系统集成
Tianji
官网,基于TS的开源(GitHub,3K Star,188 Fork)监控项目,提供统一管理界面和数据看板,可实现GA(流量数据和网站分析)、Umami、Uptime Kuma(监控服务器)等工具能力,节省服务器资源。
核心功能:
- 网站分析(Website Analytics):可替代GA和Umami,追踪网站的PV/UV、页面访问统计、访客来源等数据,隐私友好且轻量级
- 服务监控(Uptime Monitor):定期检测网站和API的可用性,并且支持HTTP/HTTPS、TCP、Ping等多种监控方式,还能被动的接收监控结果报告
- 服务器状态监控(Server Status):实时显示服务器的CPU、内存、磁盘、网络等状态信息,类似Prometheus但是更轻量,还支持多服务器集中管理
- 问题通知(Problem Notification):当监控到异常时,可通过多种渠道发送通知,支持邮件、Webhook、Telegram等方式
- 遥测收集(Telemetry):如果你开发了开源应用,可以用Tianji收集部署实例的基本信息,了解用户的使用情况,不涉及敏感数据
- UTM追踪和候补名单,支持UTM参数追踪营销效果,还内置了Waitlist功能用于收集潜在用户信息,适合产品发布前的预热
- 调查问卷(Survey),可以创建简单的在线问卷并收集反馈,生成独立的调查页面,数据统一管理
- Lighthouse报告:集成Google Lighthouse自动分析网站性能、SEO、无障碍性等指标,帮助优化网站质量
- OpenAPI支持:提供完整RESTful API,可与其他系统集成,实现自动化监控和数据导出
- 团队协作:支持多用户和团队功能,可以设置不同的权限级别,适合团队使用
支持多平台一键部署:
- Sealos:直接在云端启动,无需配置服务器
- Render:适合海外用户,支持免费套餐
- RepoCloud:快速部署到托管平台
- Hostinger VPS:
Docker或Docker Compose部署:
bash
docker run -d \
--name tianji \
-p 12345:12345 \
-v ./data:/app/data \
ghcr.io/msgbyte/tianji:latest
在需要监控的服务器上安装Reporter客户端:
bash
curl -o reporter-install.sh https://tianji.yourdomain.com/api/reporter/install.sh
bash reporter-install.sh
首次使用需配置
- 访问Tianji管理后台,创建管理员账号
- 创建工作区(Workspace)用于组织项目
- 添加网站监控,获取追踪代码并嵌入网站
- 配置Uptime监控,设置需要检测的URL
- 安装Reporter客户端监控服务器状态
CheckCle
官网,一个自托管的开源(GitHub,1.9K Star,113 Fork)监控解决方案,是UptimeRobot、PagerDuty和Better Stack等工具的替代品,为用户提供实时服务器和服务的正常运行时间监控、事件管理以及多渠道警报功能。
特点
- 实时监控:支持对HTTP、DNS、PING等协议的监控,能够实时跟踪服务器的正常运行时间和响应时间;
- 多种监控服务:能够监控TCP服务、API服务(如FTP、SMTP、HTTP)及其性能问题;
- 事件历史记录:记录监控状态(正常、警告、暂停等)的历史信息;
- SSL和域名监控:监控SSL证书的状态、到期日期及剩余天数等信息;
- 基础设施监控:支持Linux和Windows服务器的性能监控,包括CPU、内存、磁盘使用率和网络活动;
- 调度维护和事件管理:允许用户安排维护和管理事件;
- 通知功能:支持通过电子邮件、Telegram、Discord和Slack等渠道发送通知;
- 用户管理和设置面板:提供多语言支持、主题切换、通知和警报模板的设置。
应用场景
- 服务器监控:用于IT部门监控服务器的健康状态,确保系统正常运行;
- 网站监控:监控网站的可用性和性能,及时发现并解决问题;
- 应用监控:监控应用程序的响应时间和服务状态,确保用户体验;
- 安全监控:通过SSL和域名监控,确保网站的安全性和合规性;
- 团队协作:通过多渠道通知功能,帮助团队快速响应和处理事件。
实战
Docker部署:
bash
docker volume create pb_data
# 运行容器
docker run -d \
--restart unless-stopped \
--name checkcle \
--ulimitnofile=4096:8192 \
-p 8091:8090 \
-v pb_data:/app/pb_data \
operacle/checkcle:latest
Docker Compose部署:
yaml
services:
checkcle:
image: operacle/checkcle:latest
container_name: checkcle
restart: unless-stopped
ports:
-"8091:8090"
volumes:
-pb_data: /app/pb_data
ulimits:
nofile:
soft: 4096
hard: 8192
volumes:
pb_data:
执行命令
bash
mkdir -p /volume1/docker/checkcle
cd /volume1/docker/checkcle
docker compose up -d
浏览器打开http://localhost:8091,以admin@example.com/Admin123456登录。
支持以HTTPS协议方式监控站点。
ApiMonitor
一个api接口监控项目,可模拟探测http接口和页面,通过请求耗时和响应结果来判断系统接口的可用性和正确性。
Gitee,7年未维护。
功能
- 支持单个API和多个API调用链的探测
- 支持页面探测,可模拟页面操作过程,如打开登陆页面,登陆,跳转到登陆后页面
- 支持HTTP和HTTPS,请求类型可以是GET,POST,HEADER,PUT,DELETE
- 支持通用的HTTP认证,如BASIC认证,COOKIES认证等
- 调用API可以设置请求头部,请求参数。在API调用链过程中,上一个API的返回结果可以作为下一个API的请求参数
- 可以自定义探测结果判定,如接口返回状态码为200,返回内容包括/不包括Exception等
- 支持自定义监控频率,如30分钟/次,1小时/次
- 监控日志定期清理
- 支持导入Postman脚本,可大幅度减低配置复杂页面监控的工作量。使用Postman工具捕捉HTTP请求,生成Postman脚本,然后导入到监控系统。
实战
创建MySQL数据库,库名为apimonitor;执行db/db.sql脚本,初始化表;
修改数据库连接信息文件application.properties:
spring.datasource.url=jdbc:mysql://192.168.171.238:3306/apimonitor?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true
spring.datasource.username=root
spring.datasource.password=123456
启动应用:
- 运行jar包:
jar包在dist/apimonitor-0.0.1-SNAPSHOT.jar,打开jar包,修改/BOOT-INF/classes/application.properties文件,执行命令java -jar apimonitor-0.0.1-SNAPSHOT.jar - 运行源码:将项目导入IDEA,修改
src/main/resources/application.properties文件,运行com.ecar.apm.MainApplication类,项目将启动。
项目启动后,浏览器输入http://localhost:8080。
添加单API、多API监控,可修改。
可查看监控日志;
支持导入Postman JSON脚本。
jozefizso
强大且免费的软件,可用于监视和控制应用程序和服务。
xrkmonitor
集业务监控点监控、日志监控、数据可视化与告警通知于一体的分布式开源(Gitee,350 Star,48 Fork)监控平台。最大亮点在于插件化:无需编码,通过控制台一键安装插件,就能实现对 Apache日志、Linux系统资源、网站访问行为、通用日志文件等常见场景的监控。代码同样开源托管在GitHub。
开发者可调用其API快速集成自定义监控逻辑,运维或产品人员则可以直接使用官方或社区插件,快速完成监控部署,做到"各取所需,拿来即用"。
前端基于DWZ开源框架构建,界面虽然不算炫酷,但功能清晰、操作流畅。监控图表使用ECharts渲染,支持折线图、柱状图、地图等多种可视化形式。通过IP上报自动转为物理地址,一张图就能看清用户地域分布。
控制台支持视图自定义,可以按服务器、监控点自由组合图表,还能直接在图上设置告警阈值,所见即所得。
后端架构采用经典的Apache+MySQL组合。监控点数据和系统配置信息全部存入MySQL,支持集中或分布式部署。核心服务基于C++ Sockets框架开发,性能稳定;Web接口使用ClearSilver模板引擎,支持FastCGI部署,兼顾灵活性与效率。
内置完整的分布式日志系统,支持日志染色、频率限制、自定义字段等高级功能,还能按关键词、时间、机器等多维度过滤,极大提升日志检索效率。
特点
- 插件自由组合:监控功能以插件形式提供,无需开发,控制台安装即用
- 自动注册与绑定:Agent部署后自动上报并注册,视图自动关联机器,省去手动配置
- 多用户支持:管理员可创建子账号,适合团队协作
- 内置告警系统:支持邮件、短信、微信、PC客户端等多种通知方式
- 内网友好:即使在完全隔离的内网环境,也能通过Agent代理使用云端插件和告警服务
- 实时对比表格:插件支持实时展示多台机器的指标对比与排序,便于横向分析
典型的分层架构:
- 数据采集层:通过Agent上报监控点或日志数据(支持UDP协议,轻量高效)
- 服务处理层:C++后台服务接收、解析、存储数据;Apache+CGI提供Web接口
- 数据存储层:MySQL存储配置、监控元数据;日志文件本地存储(可挂载持久化目录)
- 展示层:Web控制台+ECharts实现可视化
目前已部分提供C/C++、PHP、Shell、JS等语言SDK,方便不同技术栈快速接入。
部署方式
- Docker一键部署:适合快速体验或小团队使用。只需拉取镜像、挂载目录、指定宿主机IP,几分钟即可启动完整服务。官方提供编译镜像,内置GCC、Git、Vim等工具,方便开发者直接在容器内调试或构建
- 在线脚本安装:执行官方提供的
install.sh脚本,自动检测环境并完成集中部署 - 源码编译部署:适合需要二次开发或定制的用户,支持生成完整部署包
插件机制:
linux_base插件:CPU使用率、内存占用、磁盘IO、网络流量等指标自动采集,图表实时刷新。还能针对某项指标(如内存>90%)直接设置告警,异常时微信通知运维人员。monitor_apache_log插件:自动解析Apache日志,统计PV/UV、请求状态码分布、访客IP地理位置。结合IP地址库,一张地图就能看出用户来自哪些城市。monitor_website插件:通过嵌入一段JS代码,即可监控页面加载性能、JS 报错、用户行为路径等,对前端稳定性保障非常实用。common_log插件:支持监控任意文本日志文件。部署Agent后,日志自动上报到中心平台,支持关键词过滤、时间范围检索、机器分组查看,轻松替代传统ELK中的部分功能,且资源占用更低。
Pika
官网,一个基于Go的开源(GitHub,350 Star,48 Fork)轻量级的探针监控系统,支持实时数据采集、存储和查询。采用WebSocket进行探针与服务端的通信,使用VictoriaMetrics存储时序指标数据,支持PG和SQLite两种数据库方案。提供Linux应急响应和安全基线检查能力,帮助快速发现和分析系统安全风险。
功能特性
- 实时性能监控:CPU、内存、磁盘、网络、GPU、温度等系统资源监控
- 服务监控:HTTP/HTTPS、TCP端口、ICMP/Ping监控,支持证书到期检测
- 防篡改保护:文件实时监控、属性巡检、事件告警
- 安全审计:资产清单收集、安全风险分析、历史审计记录
- 多种认证:Basic Auth、OIDC、GitHub OAuth
- 轻量部署:Docker Compose一键部署,资源占用低
FastMonitor
一款基于Wails框架、开源(GitHub,170 Star,45 Fork)跨平台网络流量监控与威胁检测工具,集数据包分析、进程关联、会话流统计、威胁情报检测、地理位置可视化等功能于一体。
核心特性
- 高性能抓包引擎:基于gopacket/pcap实现,支持数据包实时处理,并对五元组会话/DNS/ICMP/HTTP进行分类展示
- 精准进程关联:自动将网络流量与进程绑定,支持主流操作系统
- 智能威胁检测:支持自定义病毒等威胁情报IOC规则,实时告警
- 3D地理可视化:基于ECharts GL的3D地球和2D地图流量展示
- 实时仪表盘:大屏展示网络流量、协议分布、TOP排行
- 数据持久化:SQLite存储+PCAP文件归档,支持历史回溯
- 现代化界面:Vue3+Element Plus+浅色/深色主题
| 应用场景 | 功能描述 |
|---|---|
| 网络监控 | 实时监控内网流量,发现异常外联和数据泄露 |
| 安全威胁分析 | 检测C2通信、钓鱼攻击、恶意软件行为 |
| 流量审计 | 记录所有网络活动,支持取证和合规审计 |
| 性能诊断 | 分析网络瓶颈、异常流量、协议分布 |
| 开发调试 | 抓包分析HTTP/DNS/ICMP等协议细节 |
| 安全研究 | 恶意样本行为分析、IOC提取 |