# Sermant Backend使用手册

Sermant Backend包含Sermant数据处理后端模块和前端信息展示模块,旨在为Sermant提供运行时的可观测能力,当前主要包括Sermant Agent心跳信息, 上报事件的接收和展示,webhook推送等功能。

Sermant Backend与Sermant Agent配合使用。Sermant Agent挂载在宿主应用启动后作为数据发送端,可定时发送当前Sermant Agent的心跳数据(服务名、主机名、实例ID、版本号、IP、时间戳、挂载插件信息),事件数据(Sermant Agent启停、核心服务启停、字节码增强、日志数据等)。Backend作为数据接收端,可接收处理Sermant Agent发送的心跳和事件等数据,将紧急事件推送至webhook,并在前端可视化展示,提供观测Sermant Agent运行状态的能力。

注:Backend为非必要组件,用户可按需部署。

# 参数配置

# Sermant Backend参数配置

Backend参数可在编译打包前通过sermant-backend/src/main/resources/application.properties配置文件进行修改,同时也支持在jar包启动前通过-D参数或环境变量的方式进行配置。

参数键 说明 默认值 是否必须
server.port Backend的服务占用端口 8900
netty.port Netty消息接收端口 6888
netty.wait.time Netty的读等待时间,单位:s 60
max.effective.time 判断应用心跳存活的有效时间,单位:ms 60000
max.cache.time 应用心跳在缓存中的有效时间,单位:ms 600000
database.type 事件存储类型,当前支持redis数据库和内存 MEMORY
database.address redis数据库地址 127.0.0.1:6379
database.user redis数据库用户名 default
database.password redis数据库密码 null
database.event.expire 事件过期时间,单位:天 7
webhook.eventpush.level webhook事件推送级别,支持EMERGENCY,IMPORTANT,NORMAL三种级别;支持飞书和钉钉两种webhook EMERGENCY

# Sermant Agent参数配置

Sermant Backend提供的能力,需要依赖Sermant Agent上报的数据,所以在使用Backend时,需要先配置Sermant Agent中用于连接Sermant Backend、开启数据上报的相关参数,在配置文件agent/config/config.properties中修改以下配置:

  • 设置agent.service.heartbeat.enable值为true开启心跳服务

  • 设置agent.service.gateway.enable值为true开启网关服务

  • 设置event.enable值为true开启事件上报

  • 设置event.offerWarnLog值为true上报warn级别日志

  • 设置event.offerErrorLog值为true上报error级别日志

  • 根据需要设置心跳发送间隔

  • 根据实际环境设置Gateway参数

# 支持版本

Sermant Backend使用JDK 1.8版本开发,因此运行环境需JDK 1.8及以上版本。

# 启动和结果验证

# 启动Sermant Backend

Sermant Backend的Jar包位于Sermant产品包agent/server目录下,通过执行以下命令来运行Sermant Backend(为方便验证webhook推送能力,指定事件推送级别为NORMAL):

java -Dwebhook.eventpush.level=NORMAL -jar sermant-backend-1.0.0.jar

# 设置webhook信息

  • 通过浏览器访问地址http://127.0.0.1:8900/
  • 点击菜单栏事件管理 -> 配置 进入webhook配置界面,如下图所示:
  • 开启webhook,如下图所示:
  • 点击webhook的编辑按钮,设置webhook地址,如下图所示:
  • 点击webhook的测试连接按钮,可在对应webhook接收到测试事件通知
    • 飞书测试事件推送如下图所示:

    • 钉钉测试事件推送如下图所示:

# 宿主应用挂载Sermant Agent启动

首先按照上文参数配置一节描述,正确修改相关配置。然后参考Sermant Agent使用手册中启动一节描述的方式启动宿主应用。

# 结果验证

# 验证Sermant Agent实例状态

通过浏览器访问地址http://127.0.0.1:8900/ 可查看前端展示页面,若页面中如下展示Sermant Agent实例的心跳信息,则验证心跳成功。

# 验证事件管理

通过点击事件管理标签中的观测按钮,可查看Sermant Agent上报的事件信息,若页面中如下展示Sermant Agent实例上报的事件信息,则验证事件上报成功。

# 验证webhook事件通知

由于Sermant Backend设置了webhook事件推送级别为NORMAL,所以webhook会接收到Sermant Agent启动上报的所有事件,推送内容格式与上述webhook测试连接相同,由于事件过多不便于展示,使用者可自行测试验证。

# 验证事件查询

  • 上报时间查询

    事件管理 -> 监测页面,下图红色方框位置设置查询的事件时间范围,点击查询按钮进行查询

  • 服务名查询

    事件管理 -> 监测页面,下图红色方框位置设置按服务名查询,输入需要查询的服务名(支持单个或多个服务名查询),点击查询按钮进行查询

  • ip查询

    事件管理 -> 监测页面,下图红色方框位置设置按ip查询,输入需要查询的ip地址(支持单个或多个ip查询),点击查询按钮进行查询

  • 级别查询

    事件管理 -> 监测页面,下图红色方框位置选择需要查询的事件级别,支持多选,选择后点击筛选进行查询

  • 类型查询

    事件管理 -> 监测页面,下图红色方框位置选择需要查询的事件类型,支持多选,选择后点击筛选进行查询

  • 详细信息展示

    事件管理 -> 监测页面,点击下图红色方框位置查看事件详细信息

  • 事件自动刷新

    事件管理 -> 监测页面,点击下图红色方框自动刷新按钮,开启事件自动刷新(开启后将会定时自动获取最新事件,再次点击按钮关闭,或在查看事件列表时自动关闭)

上次更新: 2024/5/16 02:26:27