google-cloud-dataproc - Dataproc 虚拟机内存和本地磁盘使用情况指标
问题描述
我正在尝试使用云指标监控 Dataproc 2.0 上的本地磁盘使用情况(百分比)。这对于监视 Spark 临时文件填满磁盘的情况很有用。
默认情况下,Dataproc 似乎只发送本地磁盘性能指标、CPU 等。指标和集群级别的 HDFS 指标,但不发送本地磁盘使用情况。
Dataproc 映像上似乎安装了一个堆栈驱动程序代理,但它没有运行,因此显然 Dataproc 使用了不同的收集指标的方式。我检查了 df 插件在/etc/stackdriver/collectd.conf
. 但是,启动代理失败:
Jul 16 03:01:57 metrics-test-m systemd[1]: Starting LSB: start and stop Stackdriver Agent...
Jul 16 03:01:57 metrics-test-m stackdriver-agent[3829]: Starting Stackdriver metrics collection agent: stackdriver-agentThe instance has neither the application default credentials file nor the correct monitoring scopes; Exiting. ... failed!
Jul 16 03:01:57 metrics-test-m stackdriver-agent[3829]: not starting, configuration/credentials error. ... failed!
Jul 16 03:01:57 metrics-test-m stackdriver-agent[3829]: (warning).
Jul 16 03:01:57 metrics-test-m systemd[1]: Started LSB: start and stop Stackdriver Agent.
是否有可能以某种方式监控 Dataproc 中的本地磁盘使用情况并将指标推送到 Google Cloud Metrics?
解决方案
Google Cloud Monitoring Agent安装在 Dataproc 集群虚拟机上,但默认禁用。
--properties dataproc:dataproc.monitoring.stackdriver.enable=true
在创建集群时添加将启用它。该代理收集客户操作系统指标,包括内存和磁盘使用情况,因此您可以在 Cloud Metrics 中查看它们。请参阅本文档中的属性。
顺便说一句,默认收集 CPU 使用率而不依赖于代理的原因是,它是由 GCE 从 VM 主机收集的。但是对于内存和本地磁盘的使用,VM 主机并不了解它们,它们必须从来宾操作系统内部收集,因此它取决于代理。当您启用代理时,会有两个不同类型的 CPU 使用指标,一个(计算)来自 VM 主机的角度,另一个(代理)来自客户操作系统的角度。
定价:这些指标不是免费的,请查看Cloud Monitoring 定价了解定价。
推荐阅读
- python - 全屏终端输出(例如在网格上)
- python - 熊猫更好的运行时,通过数据框
- netlogo - 将颜色分配给没有相邻色块具有相同颜色的色块
- c - C语言在循环内和循环外声明变量之间的性能差异
- json - 如何使用 UML 绘制 NoSQL 数据库(面向文档)?
- frequency - 在 STM32F446 中,如何通过寄存器编程生成具有可变频率和特定步骤的 PWM 信号?
- html - 如何防止用户复制文本
- clojure - java.lang.ClassNotFoundException:运行引导 repl 时的 sun.misc.Launcher
- php - 用产品列表中的自定义链接替换产品页面链接(woocommerce)
- c - 函数指针返回行为