监控: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 天前
视频解码器怎么对接?解码上墙、电视墙开窗与场景切换的ISAPI接入实战
人工智能·物联网·监控·视频编解码·大屏端·萤石开放平台·蓝海aiot一站式工作台
lisanmengmeng2 天前
nagios 图形化监控部署
监控·nagios
鸿观工坊2 天前
第5篇 Nginx 监控:流量、连接与性能指标
监控
鸿观工坊2 天前
第4篇 Spring Boot 应用监控:Micrometer 与 JVM 指标
监控
鸿观工坊2 天前
第1篇 Prometheus 监控体系全景与基础环境搭建
监控
苏渡苇10 天前
Spring Insight 里如何把 Span 画成瀑布时间线
后端·spring·spring cloud·springboot·监控·apm
行百里er10 天前
轻量级 Spring 监测工具——Spring Insight 发布了
spring boot·后端·监控
宋均浩11 天前
告警规则 243 砍到 27:Prometheus 降噪实战,日均打扰 47 次 → 3 次
云原生·监控·devops
小小ken12 天前
水星摄像头(MIPC552W)双摄版和乔安摄像头(JA-A12,JA-w1)接入easynvr具体步骤
监控·摄像头·nvr·easynvr·水星·乔安
行百里er12 天前
Spring Insight 里如何把 Span 画成瀑布时间线
spring boot·后端·监控