插件开发思路描述

插件列表清单及计划

插件开发思路说明

当SmartAgent需要支持扩展某一应用的采集服务时,根据现在的设计要求,需开发两个插件:发现服务插件,采集数据插件.

一、发现服务插件

  • 输入(环境变量获取)
  • 过程(服务发现)
    • 方式一:基于进程发现,通过调用第三方插件(sigar)扫描进程
    • 方式二:基于现有发现服务发现,通过已经扫描的服务配置发现此服务的多个实例。例:Tomcat应用服务器上的多个webapp实例
  • 输出(数据组织)
    1. 构造ServiceInfo实例;
    2. 通过调用ServiceInfo实例的添加属性方法,将发现的指标数据存入ServiceInfo实例中,返回即可.
  • 测试(功能测试\指标测试)
    • 插件是否可正常运行
    • 插件运行过程中抛出例外正确并捕获
    • 插件发现的指标数据是否正确
    • 插件运行实例性能状况(执行耗时、内存实例等)
  • 其它

###二、采集数据插件

  • 输入(环境变量获取)
    • 调度信息(执行频率、调度编码、调度名称等)
    • 发现服务的配置信息(安装路径、端口号、编码等)
  • 过程(采集数据过程)
    • 方式一、jmx
    • 方式二、第三方插件(sigar)
    • 方式三、数据接口(本地文件存储)
  • 输出(数据组织)
    1. 构造Map
    2. 将采集到的指标转化成键对值数据放入Map,返回即可.
  • 测试(功能测试\指标测试)
    • 插件是否可正常运行
    • 插件运行过程中抛出例外正确并捕获
    • 插件发现的指标数据是否正确
    • 插件运行实例性能状况(执行耗时、内存实例等)
  • 其它

插件开发计划

多谢各位捧场!~