1.根据agent上报的维度拿到tenantId,主机资源id,资源名称tag(name),组织资源属性和关系。
2.上报关系和nginx资源
nginx资源模板code:SWR-MWS-Nginx-Agent
源配置项 目的配置项 关系名称
中间件 弹性云服务器ECS 运行在
RUNNING(3, "运行在")
全局属性(必传)和私有属性(不传)

资源类型 SWR-MWS-Nginx-Agent
云服务类型 Agent
ID 采集生成的id
名称 配置的tag名称
状态 N
描述 N
一级分类 N
二级分类 N
三级分类 SWR-MWS-Nginx-Agent
所属租户 租户id,在agent配置tag
所属项目 项目id,在agent配置tag
计费模式 N
所属订单 N
创建时间 第一次上报系统时间
到期时间 N
所属区域 region,同ecsregion
健康状态 默认为健康5

uuid tag(name)+hostname+resourceId

3.修改云服务器的Agent版本
调用cmdb修改接口修改 服务器资源的ecsAgentVersion属性

4.根据采集到的维度和指标名称,组织指标维度数据,调用monitor指标维度保存接口。如果已经保存过(redis或内存里有hash),monitor直接返回成功。

前台交互和其它功能
1.基础监控列表,调用CMDB接口,按照插件类型(SWR-MWS-Nginx-Agent),关系"运行在"查询,返回列表包括插件类型和资源id。蜂巢图同理。
2.基础监控详情,根据主机资源id查询CMDB接口,返回关联的插件资源id和名称列表。根据插件资源id查询指标维度和趋势图不需要特殊处理。
3.告警配置,系统软件下选择到第三级nginx,资源名称拼接 资源名称(主机名称) 名称模糊配置,1.可以根据ecs服务器资源名称搜索(根据ecs资源查询插件列表)2.根据nginx资源名称模糊匹配
4.告警历史和导出文件,发送邮件、短信和站内信都处理资源名称,agent系统软件下的资源,资源名称为 资源名称(主机名称)
拼接主机名称,需要查询插件资源id关联的主机资源信息,取得名称。

返回200,code为403
ecs资源删除,agent5分钟禁止上报

如果资源一天不上报指标数据,触发资源删除。定时任务
上报指标维度中,项目id后台补充,从cmdb拿主机id对应的项目id

配置白名单:比如nginx,redis
采集周期
指标名称列表:比如nginx(xxx,xxx),redis()
host的resouceId,租户id
http://119.3.240.168:81/gateway/user/api/v1/users/profile?t=1591344775476 tenantId: "49858159166402560" 在用户中心展示 加一个界面,agent使用说明,把租户id展示出来
licenceKey 需要界面展示,以后考虑

外部接口依赖:
CMDB在项目变化时,自动把关联的系统软件资源项目变更
CMDB在删除资源时,自动把关联的系统软件资源删除

1.agent上报数据,返回200为成功,返回403禁止上报(比如ecs资源删除,不允许agent单独上报资源),agent 5分钟后可重新上报。
2.agent资源一天不上报数据,定时任务删除此资源和关系。
3.上报指标维度,需要在后台补充项目id,通过查询ecs资源属性项目id。
4.agent配置指标类型和指标名称白名单,如果不在白名单里的指标数据丢弃,不上报。
5.api_key通过sed命令替换到配置文件sudo sh -c "sed 's/api_key:.*/api_key: 9a6dfd28c7c2613f53397a927c088fac/' /etc/cloudeasy-agent/agent.yaml.example > /etc/cloudeasy-agent/agent.yaml"。
6.主机资源id,配置到agent里的hostId属性。
7.agent采集的资源id,使用自动生成id,用name+hostName+hostId来唯一生成。
8.外部接口依赖,CMDB在项目变化或者资源删除时,把关联资源的项目id自动变更,自动删除关联的资源。