Google cloud dataflow 使用Datadog监视数据流管道
我正在寻找一种解决方案,使用Datadog监控GCP数据流管道,以提取内置指标以及Beam自定义指标。目前,Datadog为其他GCP服务提供集成,但不为数据流提供集成。是否有人做过类似的工作,并可以分享如何将其构建为自定义解决方案的建议?目前,我只看到两种可能性:Google cloud dataflow 使用Datadog监视数据流管道,google-cloud-dataflow,datadog,Google Cloud Dataflow,Datadog,我正在寻找一种解决方案,使用Datadog监控GCP数据流管道,以提取内置指标以及Beam自定义指标。目前,Datadog为其他GCP服务提供集成,但不为数据流提供集成。是否有人做过类似的工作,并可以分享如何将其构建为自定义解决方案的建议?目前,我只看到两种可能性: 使用来自google cloud client/google cloud monitoring的客户端以及与Datadog集成的stackdriver使用GCP自定义指标 使用部署在云中的datadog代理,并使用datadog S
final MetricServiceClient=MetricServiceClient.create();
ProjectName name=ProjectName.of(projectId);
MetricDescriptor描述符=MetricDescriptor.newBuilder()
.setType(metricType)
.setDescription(“这是一个自定义度量的简单示例。”)
.setMetricKind(MetricDescriptor.MetricKind.GAUGE)
.setValueType(MetricDescriptor.ValueType.DOUBLE)
.build();
CreateMetricDescriptorRequest请求=CreateMetricDescriptorRequest.newBuilder()
.setName(name.toString())
.setMetricDescriptor(描述符)
.build();
createMetricDescriptor(请求);
import com.timgroup.statsd.ServiceCheck;
导入com.timgroup.statsd.StatsDClient;
导入com.timgroup.statsd.NonBlockingStatsDClient;
公开课Foo{
private static final StatsDClient statsd=new NonBlockingStatsDClient(
“my.prefix”、/*任何统计数据的前缀;可以是null或空字符串*/
“statsd host”,/*常见情况:localhost*/
8125,/*端口*/
新字符串[]{“标记:值”}/*Datadog扩展名:常量标记,始终应用*/
);
公共静态最终void main(字符串[]args){
statsd.递增计数器(“foo”);
记录液位计数值(“巴”,100);
statsd.recordGaugeValue(“baz”,0.01);/*DataDog扩展:支持浮点仪表*/
statsd.recordHistogramValue(“qux”,15);/*数据狗扩展:直方图*/
statsd.RecordHistorogramValue(“qux”,15.5);/*…也是浮点型*/
statsd.recordDistributionValue(“qux”,15);/*数据狗扩展:全局分布*/
statsd.recordDistributionValue(“qux”,15.5);/*…也是浮点型*/
ServiceCheck sc=ServiceCheck
.builder()
.withName(“我的支票名称”)
.with状态(ServiceCheck.Status.OK)
.build();
statsd.serviceCheck(sc);/*数据狗扩展:发送服务检查状态*/
/*兼容性说明:与上游statsd不同,DataDog希望执行时间为
*以秒为单位的浮点值,而不是毫秒值。此库
*执行从毫秒到小数秒的转换。
*/
statsd.recordExecutionTime(“bag”,25,“cluster:foo”);/*DataDog扩展名:cluster标记*/
}
}
kubernetes的datadog deployment.yaml
apiVersion:extensions/v1beta1
种类:守护进程
元数据:
名称:数据狗代理
规格:
模板:
元数据:
标签:
应用程序:数据狗代理
名称:数据狗代理
规格:
serviceAccountName:datadog代理
容器:
-图片:datadog/代理:最新
imagePullPolicy:始终
名称:数据狗代理
端口:
-集装箱港口:8125
#主机端口:8125
名称:dogstatsdport
协议:UDP
-集装箱港口:8126
#主机端口:8126
名称:跟踪端口
协议:TCP
环境:
-名称:DD_APM_已启用
价值:“真实”
-名称:DD_API_密钥
值:“”
-名称:DD_COLLECT_KUBERNETES_活动
价值:“真实”
-姓名:民主联盟领导人选举
价值:“真实”
-姓名:KUBERNETES
值:“是”
-姓名:DD_KUBERNETES_KUBELET_主持人
价值来源:
fieldRef:
字段路径:status.hostIP
资源:
请求:
内存:“256Mi”
cpu:“200米”
限制:
内存:“256Mi”
cpu:“200米”
体积数量:
-名称:dockersocket
mountPath:/var/run/docker.sock
-姓名:procdir
装载路径:/host/proc
只读:正确
-名称:cgroups
挂载路径:/host/sys/fs/cgroup
只读:正确
livenessProbe:
执行官:
命令:
-//probe.sh
初始延迟秒数:15
秒:5
卷数:
-主机路径:
路径:/var/run/docker.sock
名称:dockersocket
-主机路径:
路径:/proc
姓名:procdir
-主机路径:
路径:/sys/fs/cgroup
名称:cgroups
目前我正在调查这件事,所以我还不知道怎么做 Datadog是否从Stackdriver收集数据?如果是这样,您应该能够查看Dataflow发布到stackdriver中的度量……虽然此链接可以回答问题,但最好在此处包含答案的基本部分,并提供链接以供参考。如果链接页面发生更改,仅链接的答案可能无效。-添加了更多细节。