监控:Eureka服务发现监控
HertzBeat 集成 Eureka 注册中心,自动发现服务实例并为发现的实例创建监控任务。
概述
Eureka 服务发现允许 HertzBeat 连接到您的 Eureka 服务器并自动发现所有注册的服务实例。当新服务实例注册或现有实例下线时,HertzBeat 将自动创建或删除相应的监控任务,实现微服务环境下的自动化监控。
监控前操作
部署 Eureka 服务器
- 根据 Eureka 官方文档部署 Eureka 服务器。
- 确保 Eureka 服务器可从 HertzBeat 访问。
- 验证您可以访问 Eureka 控制台:
http://your-eureka-server:port/
配置参数
| 参数名称 | 参数帮助描述 |
|---|---|
| 任务名称 | 标识此监控的名称,名称需要保证唯一性 |
| Eureka服务发现地址 | Eureka 服务器地址。示例:http://eureka-server:8761/eureka |
| 采集间隔 | 监控周期性采集数据间隔时间,单位秒,可设置的最小间隔为30秒 |
| 描述备注 | 更多标识和描述此监控的备注信息,用户可以在这里备注信息 |
使用步骤
创建服务发现监控
- 在 HertzBeat Web 界面中,导航到 监控 → 新增监控
- 选择监控类型:Eureka服务发现
- 填写基本配置参数
配置监控模板
- 创建服务发现监控后,需要指定一个监控模板
- 模板定义了为发现的服务实例创建什么类型的监控
- 例如:如果发现的实例是 HTTP 服务,可以选择 HTTP 监控模板
- 常用模板类型:端口、HTTP、HTTPS 等
自动发现
- HertzBeat 会根据采集间隔定期查询 Eureka 服务器
- 为新注册的服务实例自动创建监控任务
- 自动删除已下线服务实例的监控任务
查看发现的实例
- 在监控列表中,您可以看到所有自动创建的子监控任务
- 每个子监控任务对应一个发现的服务实例
使用示例
假设您的 Eureka 服务器运行在 http://192.168.1.100:8761/eureka,您希望自动监控其中注册的所有服务实例。
配置示例:
- 任务名称:
Eureka-Service-Discovery - Eureka服务发现地址:
http://192.168.1.100:8761/eureka - 采集间隔:
60秒 - 监控模板:选择
端口监控(检测实例可用性)
配置完成后:
- HertzBeat 连接到 Eureka 服务器
- 获取所有已注册的应用实例
- 为每个实例自动创建端口监控(例如:
USER-SERVICE-192.168.1.101:8080) - 每 60 秒检查一次新注册或下线的服务,并相应地更新监控任务
注意事项
- 网络连通性:确保 HertzBeat 可以访问 Eureka 服务器地址
- 监控模板:服务发现仅发现服务实例地址,您需要配置合适的监控模板来实际监控这些实例
- 采集间隔:建议最小间隔为 60 秒,避免对 Eureka 服务器造成过多请求
- 权限要求:Eureka 服务器默认不需要认证,但如果配置了认证,URL 需要包含用户名和密码
- 实例命名:自动创建的监控任务命名格式为:
{应用名称}-{主机}:{端口}
采集指标
指标集合:监控目标
| 指标名称 | 指标单位 | 指标帮助描述 |
|---|---|---|
| 目标 | 无 | 发现的服务实例目标 |
| 主机 | 无 | 服务实例主机地址 |
| 端口 | 无 | 服务实例端口号 |
适用场景
- 微服务架构:自动监控 Eureka 中注册的所有微服务实例
- 动态伸缩:自动适应因自动扩缩容而增减的服务实例
- 统一监控:集中管理微服务环境中所有服务的监控
- 运维管理:减少手动配置工作,提高运维效率