配置在中层dcos上运行的prometheus mesos exporter

anauzrmj  于 2021-06-21  发布在  Mesos
关注(0)|答案(2)|浏览(528)

我正在尝试在我的中间层dcos集群上设置中间层导出器。我指的是https://github.com/prometheus/mesos_exporter. 我使用的json文件是:

{
      "id": "/mesosexporter",
      "instances": 6,
      "cpus": 0.1,
      "mem": 25,
      "constraints": [["hostname", "UNIQUE"]],
      "acceptedResourceRoles": ["slave_public","*"],
      "container": {
            "type": "DOCKER",
            "docker": {
              "image": "prom/mesos-exporter",
              "network": "BRIDGE",
              "portMappings": [
                  {
                      "containerPort": 9105,
                      "hostPort": 9105,
                      "protocol": "tcp"
                  }
              ]
            }
          },
      "healthChecks": [{
          "protocol": "TCP",
          "gracePeriodSeconds": 600,
          "intervalSeconds": 30,
          "portIndex": 0,
          "timeoutSeconds": 10,
          "maxConsecutiveFailures": 2
      }]
    }

但唯一暴露在普罗米修斯面前的 Jmeter 是“中观出口商,奴隶,总误差”。还有什么米索斯出口商暴露在普罗米修斯。来自github的mesos exporter的自述文件说我们需要提供命令行标志,但是如果我想将mesos exporter作为docker容器运行,我应该如何指定配置?
编辑- Jmeter “mesos\u exporter\u slave\u scrape\u errors\u total”给出非零值,表示在scrape过程中发生了错误。
编辑-添加“parameter”原语后,我的json文件如下所示:

{
  "id": "/mesosexporter",
  "instances": 1,
  "cpus": 0.1,
  "mem": 25,
  "constraints": [["hostname", "UNIQUE"]],
  "acceptedResourceRoles": ["slave_public"],
  "container": {
        "type": "DOCKER",
        "docker": {
                   "image": "prom/mesos-exporter",
                   "network": "BRIDGE",
                   "portMappings": [
                                     {
                                       "containerPort": 9105,
                                       "hostPort": 9105,
                                       "protocol": "tcp"
                                     }
                                   ],
                   "privileged": true,
                   "parameters": [
                                     { "key": "-exporter.discovery", "value": "true" },
                                     { "key": "-exporter.discovery.master-url",
                                       "value": "http://mymasterDNS.amazonaws.com:5050" }
                                 ]
                 }
  },
  "healthChecks": [{
      "protocol": "TCP",
      "gracePeriodSeconds": 600,
      "intervalSeconds": 30,
      "portIndex": 0,
      "timeoutSeconds": 10,
      "maxConsecutiveFailures": 2
  }]
}

mesos版本:0.22.1
marathon版本:0.8.2-snapshot
使用此json后,应用程序仍处于“部署”状态

kx1ctssn

kx1ctssn1#

使用args原语解决了这个问题。等效的docker命令是docker run-p 9105:9105 prom/mesos exporter-exporter.discovery=true-exporter.discovery.master url=“mymasternodedns:5050“-log.level=debug,因为参数'exporter.discovery'、'exporter.discovery.master url'和'log.level'用于映像入口点,而不是'docker run',必须使用args。”。
工作json中添加的“args”格式为:

"args": [
      "-exporter.discovery=true",
      "-exporter.discovery.master-url=http://mymasternodeDNS:5050",
      "-log.level=debug"]
jecbmhm3

jecbmhm32#

但唯一暴露在普罗米修斯面前的 Jmeter 是“中观出口商,奴隶,总误差”。还有什么米索斯出口商暴露在普罗米修斯。
如果mesos exporter正在监听端口9100,您可以检查 http://<hostname>:9100/metrics 要知道暴露了哪些指标。我指的是 prom/node-exporter 我在其中一个系统上安装的。
但是如果我想将mesos exporter作为docker容器运行,我应该如何指定配置?
我假设您正在将这个json文件发布到marathonrestapi以启动docker容器。如果确实如此,可以使用 parameters json指令。更多信息可以在marathon文档的特权模式和任意docker选项下找到。
希望有帮助!

相关问题