我正在尝试在我的中间层DCOS群集上设置mesos导出器。我所指的链接是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
}]
}
但只有暴露在普罗米修斯的米是'mesos_exporter_slave_scrape_errors_total'。梅索出口商向Promethues揭示的其他米是什么?来自mesos-exporter的github的自述文件说我们需要提供命令行标志,但如果我想将mesos exporter作为docker容器运行,我该如何指定配置?
编辑 - 仪表'mesos_exporter_slave_scrape_errors_total'给出非零值,表示在刮擦期间发生了错误。
编辑 - 添加'参数'原语后,我的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
马拉松版:0.8.2-SNAPSHOT
使用此JSON后,应用程序仍处于“部署”状态
答案 0 :(得分:2)
但只有暴露在普罗米修斯的米才是' mesos_exporter_slave_scrape_errors_total'。梅索出口商向Promethues揭示的其他米是什么?
如果mesos-exporter正在侦听端口9100,您可以检查 http://<hostname>:9100/metrics
以了解正在公开的指标。我指的是我在其中一个系统上设置的prom/node-exporter
。
但如果我想将mesos导出器作为docker容器运行,我应该如何指定配置?
我假设您将此JSON文件发布到Marathon REST API以启动Docker容器。如果确实如此,您可以使用parameters
JSON指令指定其他选项。有关详情,请参阅{{3>} 特权模式和任意Docker选项部分。
希望有所帮助!
答案 1 :(得分:2)
使用args原语解决了这个问题。等效的docker命令是 docker run -p 9105:9105 prom / mesos-exporter -exporter.discovery = true -exporter.discovery.master-url =&#34; mymasternodeDNS:5050&#34; -log.level =调试强> 作为参数&quot; exporter.discovery&#39;,&#39; exporter.discovery.master-url&#39;和&#39; log.level&#39;是用于图像输入点而不是用于#dock; run&#39;,#39; args&#39;必须使用。
&#39; args&#39;的格式在工作JSON中添加的是:
"args": [
"-exporter.discovery=true",
"-exporter.discovery.master-url=http://mymasternodeDNS:5050",
"-log.level=debug"]