监控:HertzBeat、Tianji、CheckCle、ApiMonitor、xrkmonitor 、Pika、FastMonitor

搜集汇总一些监控工具。

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

启动应用:

  1. 运行jar包:jar包在dist/apimonitor-0.0.1-SNAPSHOT.jar,打开jar包,修改/BOOT-INF/classes/application.properties文件,执行命令java -jar apimonitor-0.0.1-SNAPSHOT.jar
  2. 运行源码:将项目导入IDEA,修改src/main/resources/application.properties文件,运行com.ecar.apm.MainApplication类,项目将启动。

项目启动后,浏览器输入http://localhost:8080

添加单API、多API监控,可修改。

可查看监控日志;

支持导入Postman JSON脚本。

jozefizso

官网GitHub,85 Star,14 Fork。

强大且免费的软件,可用于监视和控制应用程序和服务。

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提取

参考

相关推荐
可观测性用观测云1 天前
基于可观测的 IDP:产品开发从不可见走向透明化
监控
阿里云云原生3 天前
RUM 实战:用数据说话的 Android 网络性能优化
监控
殷紫川4 天前
线上故障零扩散:全链路监控、智能告警与应急响应 SOP 完整落地指南
java·架构·监控
七夜zippoe7 天前
OpenClaw Gateway 服务:启动、停止、监控
微服务·架构·gateway·监控·openclaw
可观测性用观测云8 天前
阿里云 Tair 集群版可观测最佳实践
云计算·监控
一步一个脚印一个坑8 天前
用 APM 全链路追踪,29ms 内定位到 Docker 部署的 SSL 配置错误
javascript·后端·监控
可观测性用观测云10 天前
别等用户吐槽!开发者该如何证明自己的程序 “好用”?
监控
小李的便利店10 天前
k8s集群部署Prometheus和Grafana
kubernetes·grafana·prometheus·监控
转转技术团队11 天前
线上崩了,谁先知道?
监控