侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

datadog的数据流转

2023-11-02 星期四 / 0 评论 / 0 点赞 / 56 阅读 / 1801 字

datadog是个典型的类zabbix的agent,其主要数据流转如下: 数据类型有三种,一个是metric,一个是server_check,一个是event,分别存到指标数据库,做服务状态标记和事

datadog是个典型的类zabbix的agent,其主要数据流转如下:

数据类型有三种,一个是metric,一个是server_check,一个是event,分别存到指标数据库,做服务状态标记和事件报警用,但这里面有些坑。

    collectd的数据来源有两个,一个是是checksd,一个是system指标。这里的system指标采集格式很恶心,并不是metrci格式,直接给个键值对,导致后端解析一次再丢到数据库,给后端带来压力,这里其实可以将格式封装一样的。

    stastd是个udp server,jmxfetch用java封装了个stasd的client,专门去抓jmx的数据。

    jmxfetch被打成了个jar包,没什么好说的,这里有个坑,安装后权限被修改,或者localhost的域名被篡改了,这里就没数据了。datadog运行的时候会降权运行

    forward是个tornado的转发器,异步的方式,使得foraward本身能做内网代理,这个也是dataog支持内网代理的方式之一,forward最大特点一个是异步,一个是事务,每个包启动个事务,性能强悍。 

    上图缺个gohai,所有系统静态指标,比如cpu核,ip等静态信息都是gohai去获取的,用go写的个agent,被subprocess调用,返回个json,目前13版本的mac已经将这个移除,原因是,,,吃cpu。

    不得不提,datadog对资源占用很小,cpu占用不到1%,内存不到150m。为了不占用系统性能,collectd的一个关键点,特意用循环遍历,不使用并发!

广告 广告

评论区