是否有一个简单的hello world示例,用于在GKE应用程序中创建自定义指标并将其写入StackDriver?
我看到有一些较大的演示项目似乎正在使用它,例如:
https://github.com/GoogleCloudPlatform/microservices-demo https://github.com/rghetia/microservices-demo/tree/oc_agent
但是它们似乎有所不同。后者有一个oc-agent的DaemonSet,而第一个似乎没有。此外,还有beta版Stackdriver Kubernetes引擎监控程序,我不确定是否可以通过其他方式完成?似乎已经设置了指标服务器容器和prometheus-to-sd产品。
答案 0 :(得分:2)
如果您要专门将自定义OpenCensus指标写入Stackdriver,则支持OpenCensus的Stackdriver支持的Stats / Metrics和Trace导出器。可以在https://opencensus.io/exporters/上找到示例。
有一些示例代码用于使用Stackdriver实现的统计/指标,这些代码专门用于Node.js,Go和JAVA。
这是GCP文档中的示例: https://cloud.google.com/monitoring/custom-metrics/open-census
答案 1 :(得分:1)
上面的AlphaPapa答案很好。
我也写了几个简单的例子:
https://medium.com/google-cloud/opencensus-and-firestore-native-34bc1e3a962f
一些背景|指导:
在Google acquired Stackdriver之后,提供了客户端库,使开发人员可以将指标发送到Stackdriver。这种紧密耦合的方法面临的挑战是,客户还使用Prometheus,Datadog,Azure,AWS等进行度量,而Zipkin,Jaeger,Stackdriver等用于跟踪,客户应该在他们今天使用的和将来使用的系统中要求灵活性。
Google内部使用了一个名为Census的系统,该系统可将指标生成器(例如您的代码)与指标使用者(例如Stackdriver)分离。该机制作为OpenCensus开源。 OpenCensus使指标生产者与消费者和追踪生产者与消费者脱钩。这使您可以编写一次代码度量|跟踪客户端代码,并允许您的SRE团队不受干扰地切换监视系统。 OpenCensus Agent | Collector是这种方法的顶峰,并且应该是使用OpenCensus时的默认选择。
OpenCensus可能代表了最好的方法,并且它非常出色。 OpenCensus和OpenTracing合并到OpenTelemetry中,并且-IMO-这引起了减速。
我建议您:
在我的示例中,我使用了Stackdriver Exporter。您应该改为使用OpenCensus Agent Exporter。唯一需要注意的是,并非所有OpenCensus语言SDK都已扩展为包括OpenCensus Agent。该代理在例如高朗我的示例展示了如何使用通过Kubernetes Secret映射的Google服务帐户部署到Kubernetes。您可以将代理添加为辅助工具(首选),然后重新调整Kubernetes配置以向代理提供服务帐户密码。
HTH!
答案 2 :(得分:0)
您可以使用Prometheus将自定义指标发送到Stackdriver。您拥有Go,Java,Python和Ruby,以及许多非官方的第三方客户端库。