Datadog数据包分析

Datadog数据包分析datadog 后台一个会产生 5 种数据包 其中 collectd 产生一个 url 为 intake 的包 包含指标 事件和服务检查以及一系列全局 key value statsd 会接受一种 udp 数据包 会发出三种 http 包 这三种 http 的 url 分别为 series intake 和 check run

    datadog后台一个会产生5种数据包,其中,collectd产生一个url为intake的包,包含指标,事件和服务检查以及一系列全局key-value。statsd会接受一种udp数据包,会发出三种http包,这三种http的url分别为series,intake和check_run.其中series为metric包,intake为事件检查包,check_run为服务检查包,这三种包内容来自对udp的重新解析,与collectd内容一致。

    1,首先分析udp包,udp包的形式如下:

<name>:<value>|<metric_type>|@<sample_rate>|#<tag1_name>:<tag1_value>,<tag2_name>:<tag2_value>:<value>|<metric_type>...

其中,name有三种类型,分别以_sc/_e和其他开头,分别代表这一行数据是service_check,events和intake类型,metric_type表示指标类型,sample_rate是采样方式,后其他的数据都是tags。udp一个抓包数据显示如下,其中,g表示guage:

jvm.heap_memory_max:|g|#type:Memory,jmx_domain:java.lang,instance:solr_instance jvm.heap_memory:|g|#type:Memory,jmx_domain:java.lang,instance:solr_instance jvm.non_heap_memory_init:|g|#type:Memory,jmx_domain:java.lang,instance:solr_instance jvm.non_heap_memory_committed:|g|#type:Memory,jmx_domain:java.lang,instance:solr_instance jvm.non_heap_memory_max:-1|g|#type:Memory,jmx_domain:java.lang,instance:solr_instance jvm.non_heap_memory:|g|#type:Memory,jmx_domain:java.lang,instance:solr_instance _sc|solr.can_connect|0|#jmx_server:127.0.0.1,instance:solr_instance

2,分析series包,series包数据来源于udp包,数据格式如下,series key对应的list中,points中的值是时间戳和value,时间间隔来源于statsd,其余数据都是拼接。注意的是tags是jmx直接传送的,不同server对应的tags的数量不一样。

{ "series": [ { "tags": [ "J2EEApplication:none", "J2EEServer:none", "WebModule://localhost/examples", "instance:tomcat-127.0.0.1-7199", "j2eeType:Servlet", "jmx_domain:Catalina", "name:RequestParamExample" ], "metric": "tomcat.servlet.error_count", "interval": 10, "device_name": null, "host": "xuxideMacBook-Pro.local", "points": [ [ , 0 ] ], "type": "gauge" },

3,分析check_run数据包。check_run数据包的形式对应的是collectd的service_check,数据包部分数据如下:

"service_checks":[ { "status":2, "tags":[ "host:localhost", "port:8125" ], "timestamp":., "check":"statsd.can_connect", "host_name":"wdm-ThinkPad-E450", "message":null, "id":1 }, { "status":2, "tags":[ "check:statsd" ], "timestamp":., "check":"datadog.agent.check_status", "host_name":"wdm-ThinkPad-E450", "message":null, "id":2 },

    这个数据包的两条记录中有个明显的不同,一个是check,一个是tags,凡是checksd文件夹下服务都会产生一条记录,这条记录的check对应的值一定是”datadog.agent.check_status”,tags中的value会指出检查的服务类型,只有一条记录。而一些有连接状态的服务会产生check的第二种的类型,例如这里的’statsd.can_connect’,此时的tags数量不定,此处对于后台解析比较重要,要筛选出check是”datadog.agent.check_status”的记录。这里status(0,1,2,3)分别表示OK, WARNING, CRITICAL, UNKNOWN

4,第四种包是event数据包,数据类型如下:

"events":{ "System":[ { "timestamp":., "host":"wdm-ThinkPad-E450", "api_key":"e7afaf986f5cccbd", "msg_text":"Version 5.9.1", "event_type":"Agent Startup" } ] },

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/231008.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 电脑蓝屏错误代码0x000000ED_0x00000019蓝屏win7

    电脑蓝屏错误代码0x000000ED_0x00000019蓝屏win7相信大家都遇到过电脑蓝屏的情况,而且蓝屏故障是一件非常麻烦的事情,前不久小编电脑出现蓝屏并且提示错误代码是0x000000BE,很多用户可能会直接选择重装系统,其实不用这么麻烦,出现0x000000BE很有可能是硬件设备驱动程序存在BUG或安装不正确引起,具体一起来看看。解决方法:在开机过程中按下f8键进入Windows高级启动菜单,进入安全模式,也许会有改善。再重启电脑,继续按F8键,此时可以选…

    2022年10月8日
    3
  • 下载mysql驱动jar包

    下载mysql驱动jar包MYSQL官网历史驱动Jar包下载地址:https://downloads.mysql.com/archives/c-j/ProductVersion选择mysql版本,OperatingSystem选择PlatformIndepen,然后下载即可

    2022年5月11日
    42
  • ubuntu完全卸载CUDA

    ubuntu完全卸载CUDACUDA的卸载方法网上都有很多,但是几乎都是错的,我在卸载cuda时基本试了个遍,各种踩坑。能查到的方法一般都是从官方文档搬过来的,然而这种方法并不能将cuda完全卸掉。这里把官方文档的方法贴出来:sudoapt-get–purgeremove”*cublas*””*cufft*””*curand*”\”*cusolver*””*cusparse*””*npp*””*nvjpeg*””cuda*””nsight*”我运行过这个命令,运行完之后,命令行输入nvcc-

    2022年5月30日
    80
  • R语言plot参数_plot函数参数

    R语言plot参数_plot函数参数最近用R语言画图,plot函数是用的最多的函数,而他的参数非常繁多,由此总结一下,以供后续方便查阅。plot(x,y=NULL,type="p",xlim=NULL,ylim=NULL,log="",main=NULL,sub=NULL,xlab=NULL,ylab=NULL,ann=par("ann"),axes=TRUE,fra…

    2022年10月15日
    3
  • Latex公式换行编写

    Latex公式换行编写latex在写公式时往往会遇到长公式或者连续等于的情况,这时可以选择公式换行操作:\begin{equation}\begin{aligned}a&=b+c\\&=c+b\end{aligned}\end{equation}得到如下的效果:其中&是用于标注需要对齐的位置,例如示例代码中放在…

    2022年6月14日
    89
  • 利用神器BTrace 追踪线上 Spring Boot应用运行时信息

    利用神器BTrace 追踪线上 Spring Boot应用运行时信息

    2021年6月28日
    153

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号