diff --git a/cookbooks/prometheus/files/etc/consul.d/service-node_exporter.json b/cookbooks/prometheus/files/etc/consul.d/service-node_exporter.json new file mode 100644 index 0000000..6754060 --- /dev/null +++ b/cookbooks/prometheus/files/etc/consul.d/service-node_exporter.json @@ -0,0 +1,6 @@ +{ + "service": { + "name": "node_exporter", + "port": 60000 + } +} diff --git a/cookbooks/prometheus/files/etc/prometheus.d/prometheus.yml b/cookbooks/prometheus/files/etc/prometheus.d/prometheus.yml index b4d04a8..e1d1873 100644 --- a/cookbooks/prometheus/files/etc/prometheus.d/prometheus.yml +++ b/cookbooks/prometheus/files/etc/prometheus.d/prometheus.yml @@ -44,14 +44,12 @@ scrape_configs: - targets: ['localhost:9090'] - job_name: 'node' - - # metrics_path defaults to '/metrics' - # scheme defaults to 'http'. metrics_path: /node_exporter/metrics - file_sd_configs: - - files: - - '/etc/prometheus.d/targets/targets.yml' + consul_sd_configs: + - server: 'localhost:8500' + services: + - 'node_exporter' alerting: alertmanagers: diff --git a/cookbooks/prometheus/node_exporter_setup.rb b/cookbooks/prometheus/node_exporter_setup.rb index 8de48ca..9512cd4 100644 --- a/cookbooks/prometheus/node_exporter_setup.rb +++ b/cookbooks/prometheus/node_exporter_setup.rb @@ -7,6 +7,15 @@ remote_file '/etc/supervisor/conf.d/node_exporter.conf' do notifies :restart, 'service[supervisor]' end +# Deploy `consul` config for `node_exporter`: +remote_file '/etc/consul.d/service-node_exporter.json' do + owner 'root' + group 'root' + mode '644' + + notifies :restart, 'service[supervisor]' +end + service 'supervisor' do action :nothing end