Open poblin-orange opened 7 years ago
@poblin-orange This is the first step in a bigger plan not yet finished. There're 2 main reasons why I created this exporter:
1) One of the problems with the bosh_exporter
is that it stresses the bosh director by creating new tasks and sometimes hanging it (see https://github.com/cloudfoundry-community/prometheus-boshrelease/issues/43). My plan is to use the bosh_exporter
to just get admin info about deployments
, releases
and vm ips
, and use one of the bosh hm plugins
to get jobs metrics
.
2) In an ideal world, I'd just use the graphite_exporter
and use the bosh graphite hm plugin
(as I've done at some customer's deployments), but when using Pivotal Ops Manager
, the only hm plugin
supported is the tsdb plugin
. So this exporter is just to fill that hole, being able to get job metrics
when using Pivotal Ops Manager
.
Hope this clarifies your question. I'll add this explanation to the FAQ.
ok thks @frodenas
@frodenas : Quick question to point 2 you mentioned. If using graphite_exporter
and bosh graphite hm plugin
you will need at least some patterns for the graphite_exporter
, right?
Perhaps I should give that a try.
@benjaminguttmann-avtq This is an example I used before:
graphite_exporter:
graphite:
mapping_config: |
*.*.*.*.system_cpu_sys
name="bosh_job_cpu_sys"
bosh_deployment="$1"
bosh_job_name="$2"
bosh_job_index="$3"
bosh_job_id="$3"
agent_id="$4"
*.*.*.*.system_healthy
name="bosh_job_healthy"
bosh_deployment="$1"
bosh_job_name="$2"
bosh_job_index="$3"
bosh_job_id="$3"
agent_id="$4"
*.*.*.*.system_mem_percent
name="bosh_job_mem_percent"
bosh_deployment="$1"
bosh_job_name="$2"
bosh_job_index="$3"
bosh_job_id="$3"
agent_id="$4"
*.*.*.*.system_mem_kb
name="bosh_job_mem_kb"
bosh_deployment="$1"
bosh_job_name="$2"
bosh_job_index="$3"
bosh_job_id="$3"
agent_id="$4"
*.*.*.*.system_swap_percent
name="bosh_job_swap_percent"
bosh_deployment="$1"
bosh_job_name="$2"
bosh_job_index="$3"
bosh_job_id="$3"
agent_id="$4"
*.*.*.*.system_swap_kb
name="bosh_job_swap_kb"
bosh_deployment="$1"
bosh_job_name="$2"
bosh_job_index="$3"
bosh_job_id="$3"
agent_id="$4"
*.*.*.*.system_cpu_user
name="bosh_job_cpu_user"
bosh_deployment="$1"
bosh_job_name="$2"
bosh_job_index="$3"
bosh_job_id="$3"
agent_id="$4"
*.*.*.*.system_cpu_wait
name="bosh_job_cpu_wait"
bosh_deployment="$1"
bosh_job_name="$2"
bosh_job_index="$3"
bosh_job_id="$3"
agent_id="$4"
*.*.*.*.system_load_1m
name="bosh_job_load_avg01"
bosh_deployment="$1"
bosh_job_name="$2"
bosh_job_index="$3"
bosh_job_id="$3"
agent_id="$4"
*.*.*.*.system_disk_system_percent
name="bosh_job_system_disk_percent"
bosh_deployment="$1"
bosh_job_name="$2"
bosh_job_index="$3"
bosh_job_id="$3"
agent_id="$4"
*.*.*.*.system_disk_ephemeral_percent
name="bosh_job_ephemeral_disk_percent"
bosh_deployment="$1"
bosh_job_name="$2"
bosh_job_index="$3"
bosh_job_id="$3"
agent_id="$4"
*.*.*.*.system_disk_persistent_percent
name="bosh_job_persistent_disk_percent"
bosh_deployment="$1"
bosh_job_name="$2"
bosh_job_index="$3"
bosh_job_id="$3"
agent_id="$4"
*.*.*.*.system_disk_system_inode_percent
name="bosh_job_system_disk_inode_percent"
bosh_deployment="$1"
bosh_job_name="$2"
bosh_job_index="$3"
bosh_job_id="$3"
agent_id="$4"
*.*.*.*.system_disk_ephemeral_inode_percent
name="bosh_job_ephemeral_disk_inode_percent"
bosh_deployment="$1"
bosh_job_name="$2"
bosh_job_index="$3"
bosh_job_id="$3"
agent_id="$4"
*.*.*.*.system_disk_persistent_inode_percent
name="bosh_job_persistent_disk_inode_percentt"
bosh_deployment="$1"
bosh_job_name="$2"
bosh_job_index="$3"
bosh_job_id="$3"
agent_id="$4"
graphite_last_processed_timestamp_seconds
name="bosh_last_jobs_scrape_timestamp"
@frodenas : Thank you. Okay, I just enabled it. Am I right that the process unhealthy alerts/dashboards of prometheus release are not working any longer with this setup?
@benjaminguttmann-avtq Exactly, BOSH health-monitor only returns info about the jobs
, but not the processes
.
Is bosh_tsdb exporter usefull when already using bosh exporter ? I think the bosh vms metrics are already collected by bosh exporter