Skip to main content

服务监控服务

功能简介

监控服务以后台运行模式,对特定服务进行持续的监控和数据提取,如队列消息监控、目录文件变更或设备状态监控等,它不需要单独配置额外的调度机制,激活后,会随着仓鼠服务自动运行,并始终保持对特定服务的监控及数据提取,适合类似于IoT方案集成。

  • 服务监控

console

  • 服务管理

Proxy Service

创建监控服务

点击新增按钮后,可在下述界面中配置特定的服务,服务的配置以JSON格式体现,可以通过配置模板获取参考模板。

Proxy Service MQTT

配置监控服务

针对不同的服务,监控配置项有所不同:

batch_sync_mins: 同步时间间隔秒数,实时接收到的消息缓存后,会按指定间隔时间进行数据转存。

batch_sync_msg_max: 同步前缓存消息的最大数量,超过这个数量,系统立即进行数据转存,即使同步时间隔时间没有到。

  • AMQP协议服务:监控服务启动后,会按配置信息中指定的消息Key值来监控指定的消息队列,并接收响应的队列消息。可以指定多个队列和消息键。
{
"batch_sync_msg_max":100,
"batch_sync_mins":10,
"monitor":[
{
"queue_name":"your_queue_name_A",
}
,{
"queue_name":"your_queue_name_B",
}
]
}
  • MQTT协议服务:监控服务启动后,会检测配置信息中提供的主题清单,并接收消息数据。
{
"batch_sync_msg_max":100,
"batch_sync_mins":10,
"monitor":[
{
"topic":"your_topic_A"
}
,{
"topic":"your_topic_B"
}
]
}
  • 启动监控数:每个服务节点仅运行监控服务的一个实例,如果希望有多个实例运行,需要配置多个服务节点(Slaver Service),常规可以配置为1。

配置消息存储

当监控的服务获取到响应的消息(数据)后,这些消息(数据)可以通过下述配置以存储到不同的媒介中。

  • 存储到文件:可以将消息(数据)存储成csv文件,并同步到指定的文件存储服务上,如SFTP,或共享目录中,文件结构如下:
    host,port,queue_or_topic,monitor_svc_id,message_data,received_dt
  • 存储到数据库:可以将消息(数据)按预定的格式存储到指定的数据库表中,目标表结构如下,可以添加额外标识字段。
create table public.proxy_message_content(
host text,
port int,
queue_or_topic text,
monitor_svc_id text,
message_data text,
received_dt timestamp
);

配置后续处理

当消息(数据)被存储到指定的设备后,可以配置指定的任务包,来处理这些数据,如同步,累加计算,或分析计算后,确认是否需要触发预警通知等。

  • 调用任务包:在消息(数据)同步完成后,调用指定的任务包进行后续处理。也可以不配置,通过调度计划的方式,进行阶段性更新也是可以的。

如果配置了特定任务包,系统在完成数据同步后调用任务包时,会额外提供如下的系统变量来传递额外的信息,便于后续任务包进行数据处理。如果需要使用下述变量,需要在被调用的任务包中按如下变量名进行预定义

变量名类型备注参考值
monitor_svc_message_count字符当前获取的消息数量100
monitor_svc_message_file字符本批次消息导出到的文件名20250116_173010_235.csv
monitor_svc_target_working_folder字符消息存储的目录mqtt_topic_a
monitor_svc_target_table字符消息存储的目标表名public.mqtt_topic_a