xflush监控设计详解

一、Xflush架构图

在这里插入图片描述

三机房容灾方案
在这里插入图片描述

二、监控容灾方案

1.概述

apmonitor 增加网关,接收 oneAgent 吐出的 metric beat 数据。

2.数据容灾

• 元数据库(mongodb)进行双读双写。
• 监控数据(tsdb)进行双读双写

3.架构

在这里插入图片描述

4.TSDB双读双写

双写

发出两份写入请求,非同步写,写入结果独立,无关联逻辑。

双读
  1. 发出两份读取请求,对接收到的数据进行无差别合并,即以metric+tags为key,dps为value进行合并。
  2. 有小黑屋机制,若读取连续失败若干次(当前设置值为500),则将该后端节点关进小黑屋,之后的读取请求不再发给它。小黑屋按固定频率清空(一般取1~5分钟)。

5.用户体感的效果

参照上图,不论故障情况如何,只要AB两机房还有一个的产品层组件+一个存储组件存活,数据就能写进去。不论故障恢复情况如何,只要还要一个产品层组件存活,那么就能读到所有现存活存储组件中写入过的数据。

三、业务架构

监控解决方案 (AntMonitor)

• apmonitor Metric 监控: 物理机OneAgent 标准日志或指标采集推送方案。
• xflush 业务自定义监控: 虚机采集业务日志自定义监控方案。
• ALS 日志服务: 物理机 OneAgent 日志推送方案。
在这里插入图片描述

四、源数据管理

1. 监控元数据源

监控系统元数据来源:
1) 通过调用云游、RMC内部金融云系统pull拉取的元数据。
2)Kube云原生数据,定时调用cluster云原生API拉取数据。

  • a. kube的cluster元数据格式定义
  • b. 单cluster元数据格式定义

3)通过前端页面添加自定义应用、资源数据。
4)配置新增自定义拉取第三方指定API的数据。

2. 元数据存储

1)自定义应用、应用归属资源元数据表结构
继续存储在原来的应用(apmonitor_metadata_app)、ECS资源元数据(apmonitor_metadata_ecs)表。

2)应用、资源表结构字段做扩展

  • 新增元数据表添加采集的频率字段标识。
  • 新增标识数据来源的字段origin(云游、RMC、自定义应用、第三方API、Kube数据)。
  • 新增标识应用级别字段level。
  • 新增标识应用技术栈字段techStack。
  • 新增扩展字段extension。

3)Kube数据采集元数据新增表存储

  • kube的cluster元数据表:apmonitor_metadata_kube_cluster
  • kube的node元数据表:apmonitor_metadata_kube_node,数据模型:
{
        "name": <string>,
        "uid": <uuid>,
        "ip": <ip>,
        "cluster_name": <string>,
        "labels": {
          "workspace_id": <string>,
          "tenant_id": <string>,
          "minion_cluster_id": <string>,
          "cell_id": <string>,
          "zone_id": <string>,
          "region_id": <string>,
          ...
        },
}
  • kube的container元数据表:apmonitor_metadata_kube_container,数据模型:
{
    "id": <uuid>,
    "name": <string>,
    "image": <string>,
    "cluster_name": <string>,
    "node_name": <string>,
    "node_ip": <ip>
        "pod": {
      "name": <string>,
      "uid": <uuid>,
      "ip": <ip>,
      "namespace": <string>
    }
        "labels": {
          "workspace_id": <string>,
          "tenant_id": <string>,
          "app_id": <string>,
          "app_name": <string>,
          "app_service_id": <string>,
          "minion_cluster_id": <string>,
          "cell_id": <string>,
          "zone_id": <string>,
          "region_id": <string>,
          ...
        },
        "metrics": [
              {
                    "type": <metric_type>,
                "port": <port>,
                "path": <string>,
                "timeout": <timeout>,
                    "username": <string>,
                    "password": <string>,
                "labels": {
                  "<string>": <string>
                }
              }
        ],
    "logs": [
      {
        "type": <log_type>,
        "paths": [<path>,],
        "encoding": <encoding>,
        "labels": {
          "<string>": <string>
        }
        }
    ]
}
  • 如何查询container归属哪个node节点
    根据cluster_name+(node_name或者node_ip)联合主键确定归属node信息。

4)元数据配置表
新增元数据配置表,用于存储自定义应用、第三方元数据配置信息,表数据模型:

3.元数据采集

1)定时采集云游、RMC系统数据
这个部分数据继续原有的方案不变。
2)Kube云原生数据
定时采集Kube插件提供的API。
3)自定义应用
自定义应用

  • 必选字段:名称、技术栈?、负责人。
  • 应用数据存储在应用(apmonitor_metadata_app)表中,通过字段origin标识数据来源。

应用归属的资源类型:

  • 资源数据存储在原类型(apmonitor_metadata_ecs)表中,通过字段origin标识数据来源。
  • 自定义应用归属资源ECS、ACS类型资源,类型可配置。
  • 归属ECS资源必填项:hostname、IP、idcId,可选项:idcName、LDC、Cell、regionId、iaasId、tenantId、resType。
    部分字段数据为空的情况需要特殊考虑(数据展示、采集数据逻辑、告警逻辑、通知消息逻辑)。
    自定义应用 展示/编辑/删除/告警规则/订阅:
  • 类似资源那样在应用中添加一个tab。
  • 仅自定义应用才可编辑、删除。
  • 告警规则/订阅同当前应用的一致。

4)第三方指定API拉取数据
(1)通过配置管理页面添加第三方采集API地址信息。

  • 数据采集拉取间隔。
  • HTTP协议,是否需要支持TLS。
  • 鉴权模式(Token、user/paasword)。

(2) 数据中的必选字段(字段名称可通过配置映射转换)

  • 应用:名称、技术栈、负责人
  • 资源:hostname、IP、IDC,可选项:idcName、LDC、Cell、regionId、iaasId、tenantId、resType。

(3)通过Groovy动态代码支持多种格式解析。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

【江湖】三津

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值