cookbook 'prometheus_exporters', '~> 0.17.2'
prometheus_exporters
(25) Versions
0.17.2
-
Follow3
Installs / configures Prometheus exporters
cookbook 'prometheus_exporters', '~> 0.17.2', :supermarket
knife supermarket install prometheus_exporters
knife supermarket download prometheus_exporters
prometheus_exporters
Cookbook to install and configure various Prometheus exporters on systems to be monitored by Prometheus.
Currently supported exporters are node, postgres, redis, mysqld, haproxy, process, apache, blackbox, snmp, statsd, and wmi. More may be added in the future. Please contact the author if you have specific requests.
All of the exporters are available as chef custom resources that can be instantiated from other cookbooks.
Supports
- Ubuntu 16.04
- Ubuntu 18.04
- Fedora 31
- Fedora 30
- Debian 4
- Debian 9
- CentOS 7
- Amazon Linux
And probably other RHEL or Debian based distributions.
- Windows Server 2012 & 2016 (wmi_exporter recipe only)
Tests are made using last available Chef 15 along with latest Chef 14.
Resource List
- apache_exporter
- blackbox_exporter
- consul_exporter
- elasticsearch_exporter
- haproxy_exporter
- mongodb_exporter
- mysqld_exporter
- node_exporter
- postgres_exporter
- process_exporter
- rabbitmq_exporter
- redis_exporter
- snmp_exporter
- statsd_exporter
- varnish_exporter
- wmi_exporter
Resources
apache_exporter
-
insecureIgnore server certificate if using https. (default false) -
log_formatOutput format of log messages. e.g. "logger:syslog?appname=bob&local=7" or "logger:stdout?json=true" (default: "logger:stdout") -
log_levelThe logging level. (default: "info") -
scrape_uriURI to apache stub status page. (default "http://localhost/server-status/?auto") -
telemetry_addressAddress on which to expose metrics. (default ":9117") -
telemetry_endpointPath under which to expose metrics. (default "/metrics") -
userUser under whom to start apache exporter. (default: "root")
apache_exporter 'main' do scrape_uri "http://localhost:8090/server-status/?auto" telemetry_address ":9118" telemetry_endpoint "/_metrics" end
blackbox_exporter
This exporter requires a config file. Read more here. For basic usage the default blackbox.yml should be sufficient.
-
config_filedefault:/opt/blackbox_exporter-#{node['prometheus_exporters']['blackbox']['version']}.linux-amd64/blackbox.yml -
log_levelOnly log messages with the given severity or above. Valid levels: [debug, info, warn, error] -
timeout_offsetdefault: 0.5 Offset to subtract from timeout in seconds. -
userUser under whom to start blackbox exporter. (default: "root") -
web_listen_addressAddress to listen on for web interface and telemetry. (default: ":9115")
blackbox_exporter 'main'
consul_exporter
-
consul_allow_staleAllows any Consul server (non-leader) to service a read. (default: false) -
consul_ca_fileFile path to a PEM-encoded certificate authority used to validate the authenticity of a server certificate. -
consul_cert_fileFile path to a PEM-encoded certificate used with the private key to verify the exporter's authenticity. -
consul_health_summaryCollects and exports information about each registered service. (default: false) -
consul_insecureDisable TLS host verification. (default: false) -
consul_key_fileFile path to a PEM-encoded private key used with the certificate to verify the exporter's authenticity. -
consul_require_consistentEnforce fully consistency on Consul reads. (default: false) -
consul_server_nameOverride the hostname for the TLS certificate. It can be used to ensure that the certificate name matches the decalred hostname. -
consul_serverAddress of the Consul instance to connect to. (default: "http://localhost:8500") -
consul_timeoutTimeout on HTTP requests to consul. (default: "500ms") -
kv_prefixPrefix from which to expose key/value pairs. -
kv_filterRegex that determines which keys to expose. (default: ".*") -
log_formatOutput format of log messages. One of: [logfmt, json]. (default: "logfmt") -
log_levelThe logging level. (default: "info") -
userUser under whom to start elasticsearch exporter. (default: "root") -
web_listen_addressAddress to listen on for web interface and telemetry. (default: ":9107") -
web_telemetry_pathPath under which to expose metrics. (default: "/metrics")
consul_exporter 'main' do action %i[install enable start] end
elasticsearch_exporter
-
es_allIf true, query stats for all nodes in the cluster, rather than just the node we connect to. (default: false) -
es_caPath to PEM file that contains trusted Certificate Authorities for the Elasticsearch connection. -
es_client_certPath to PEM file that contains the corresponding cert for the private key to connect to Elasticsearch. -
es_client_private_keyPath to PEM file that contains the private key for client auth when connecting to Elasticsearch. -
es_cluster_settingsIf true, query stats for cluster settings. (default: false) -
es_clusterinfo_intervalCluster info update interval for the cluster label. (default: 5m) -
es_indices_settingsIf true, query settings stats for all indices in the cluster. (default: false) -
es_indicesIf true, query stats for all indices in the cluster. (default: false) -
es_shardsIf true, query stats for all indices in the cluster, including shard-level stats (implies es.indices=true). (default: false) -
es_snapshotsIf true, query stats for the cluster snapshots. (default: false) -
es_ssl_skip_verifySkip SSL verification when connecting to Elasticsearch. (default: false) -
es_timeoutTimeout for trying to get stats from Elasticsearch. (ex: 20s) (default: 5s) -
es_uriAddress (host and port) of the Elasticsearch node we should connect to. (default: "http://localhost:9200") -
log_formatSet the log target and format. Valid values are: [json, logfmt] -
log_levelOnly log messages with the given severity or above. Valid levels: [debug, info, warn, error, fatal] -
userUser under whom to start elasticsearch exporter. (default: "root") -
web_listen_addressAddress to listen on for web interface and telemetry. (default: ":9114") -
web_telemetry_pathPath under which to expose metrics. (default: "/metrics")
elasticsearch_exporter 'main' do action %i[install enable start] end
haproxy_exporter
Monitor HAProxy metrics and stats. Read more here.
-
haproxy_pid_filePath to HAProxy pid file. -
haproxy_scrape_uriURI on which to scrape HAProxy. -
haproxy_server_metric_fieldsComma-separated list of exported server metrics. -
haproxy_ssl_verifyFlag that enables SSL certificate verification for the scrape URI. -
haproxy_timeoutTimeout for trying to get stats from HAProxy. -
log_formatWhere to send log files. (default: "logger:stdout") -
log_levelOnly log messages with the given severity or above. Valid levels: [debug, info, warn, error, fatal]. (default: "info") -
userUser under whom to start haproxy exporter. (default: "root") -
web_listen_addressAddress to listen on for web interface and telemetry. (default: "0.0.0.0:9116") -
web_telemetry_pathPath under which to expose metrics. (default: "/metrics")
haproxy_exporter 'main' do haproxy_scrape_uri 'http://user:pass@haproxy.example.com/haproxy?stats;csv' end haproxy_exporter 'main' do haproxy_scrape_uri 'unix:/run/haproxy/admin.sock' user 'haproxy' end
Use the given defaults or set the attributes...
node['prometheus_exporters']['listen_interface']node['prometheus_exporters']['haproxy']['port']node['prometheus_exporters']['haproxy']['scrape_uri']node['prometheus_exporters']['haproxy']['ssl_verify']node['prometheus_exporters']['haproxy']['user']
and add recipe['prometheus_exporters::haproxy] to your run_list.
mongodb_exporter
-
collect_collectionEnable collection of Collection metrics -
collect_connpoolstatsCollect MongoDB connpoolstats -
collect_databaseEnable collection of Database metrics -
collect_indexusageEnable collection of per index usage stats -
collect_topmetricsEnable collection of table top metrics -
log_formatSet the log target and format. Example: "logger:syslog?appname=bob&local=7" or "logger:stdout?json=true" -
log_levelOnly log messages with the given severity or above. Valid levels: [debug, info, warn, error, fatal] -
mongodb_authentication_databaseSpecifies the database in which the user is created -
mongodb_max_connectionsMax number of pooled connections to the database. (default: 1) -
mongodb_socket_timeoutAmount of time to wait for a non-responding socket to the database before it is forcefully closed. Valid time units are 'ns', 'us' (or 'µs'), 'ms', 's', 'm', 'h'. (default: 3s) -
mongodb_sync_timeoutAmount of time an operation with this session will wait before returning an error in case a connection to a usable server can't be established. (default: 1m) -
mongodb_uriMongoDB URI, format ([mongodb://][user:pass@]host1[:port1][,host2[:port2],...][/database][?options]) -
userUser under whom to start mongodb exporter. (default: "root") -
web_auth_filePath to YAML file with server_user, server_password keys for HTTP Basic authentication (overrides HTTP_AUTH environment variable). -
web_listen_addressAddress to listen on for web interface and telemetry. (default: ":9216") -
web_ssl_cert_filePath to SSL certificate file. -
web_ssl_key_filePath to SSL key file. -
web_telemetry_pathPath under which to expose metrics. (default: "/metrics")
mongodb_exporter 'main' do action %i[install enable start] end
mysqld_exporter
The mysqld_exporter resource supports running multiple copies of the MySQL exporter on the same system.
-
collector_flagsSpecify which collector flags you wish to use. default: see belo -
config_my_cnfPath to .my.cnf file to read MySQL credentials from. (default: ~/.my.cnf) -
data_source_nameMySQL connection string -
instance_namename of MySQL exporter instance. (name attribute) -
log_formatIf set use a syslog logger or JSON logging. Example: logger:syslog?appname=bob&local=7 or logger:stdout?json=true. Defaults to stderr. -
log_levelOnly log messages with the given severity or above. Valid levels: [debug, info, warn, error, fatal]. -
userSystem user to run exporter as. (default "mysql") -
web_listen_addressAddress to listen on for web interface and telemetry. (default "127.0.0.1:9104") -
web_telemetry_pathPath under which to expose metrics. (default "/metrics")
(default collector flags)
'\
-collect.global_status \
-collect.engine_innodb_status \
-collect.global_variables \
-collect.info_schema.clientstats \
-collect.info_schema.innodb_metrics \
-collect.info_schema.processlist \
-collect.info_schema.tables.databases \
-collect.info_schema.tablestats \
-collect.slave_status \
-collect.binlog_size \
-collect.perf_schema.tableiowaits \
-collect.perf_schema.indexiowaits \
-collect.perf_schema.tablelocks'
mysqld_exporter 'main' do data_source_name '/' config_my_cnf '~/.my/cnf' user 'mysql' end
node_exporter
-
collector_diskstats_ignored_devicesRegexp of devices to ignore for diskstats. (default: "ram|loop|fd|(h|s|v|xvd[a-z]|nvme\d+n\d+p)\d+$") -
collector_filesystem_ignored_fs_typesRegexp of filesystem types to ignore for filesystem collector. (default: "sys|proc|autofs$") -
collector_filesystem_ignored_mount_pointsRegexp of mount points to ignore for filesystem collector. (default: "/(sys|proc|dev)($|/)") -
collector_netclass_ignored_devicesRegexp of net devices to blacklist (mutually exclusive to device-whitelist) (default: "$") -
collector_netdev_device_blacklistRegexp of net devices to ignore for netdev collector. (default: "$") -
collector_netdev_device_whitelistRegexp of net devices to whitelist (mutually exclusive to device-blacklist) (default: "$") -
collector_ntp_ip_ttlIP TTL to use while sending NTP query. (default: "1") -
collector_ntp_local_offset_toleranceOffset between local clock and local ntpd time to tolerate. (default: "1ms") -
collector_ntp_max_distanceMax accumulated distance to the root. (default: "3.46608s") -
collector_ntp_protocol_versionNTP protocol version. (default: "4") -
collector_ntp_server_is_localCertify that collector.ntp.server address is the same local host as this collector. -
collector_ntp_serverNTP server to use for ntp collector. (default: "127.0.0.1") -
collector_qdisc_fixturesTest fixtures to use for qdisc collector end-to-end testing. -
collector_perf_cpusspecify a list of alternate CPUs. -
collector_runit_servicedirPath to runit service directory. -
collector_supervisord_urlXML RPC endpoint. (default: "http://localhost:9001/RPC2") -
collector_systemd_enable_restarts_metricsEnables service unit metric service_restart_total -
collector_systemd_enable_start_time_metricsEnables service unit metric unit_start_time_seconds -
collector_systemd_enable_task_metricsEnables service unit tasks metrics unit_tasks_current and unit_tasks_max -
collector_systemd_privateEstablish a private, direct connection to systemd without dbus. -
collector_systemd_unit_blacklistRegexp of systemd units to blacklist. Units must both match whitelist and not match blacklist to be included. (default: ".+\.(automount|device|mount|scope|slice)") -
collector_systemd_unit_whitelistRegexp of systemd units to whitelist. Units must both match whitelist and not match blacklist to be included. (defaut: ".+") -
collector_textfile_directoryDirectory to read text files with metrics from. (default: "") -
collector_vmstat_fieldsRegexp of fields to return for vmstat collector. (default: "oom\kill|pgpg|pswp|pg.fault).") -
collector_wifi_fixturesTest fixtures to use for wifi collector metrics. -
collectors_disabledAn array of explicitly disabled collectors. -
collectors_enabledAn array of explicitly enabled collectors. -
custom_optionsUse for your configuration if defined proterties are not satisfying your needs. -
log_formatWhere to send log files. (default: "logger:stdout") -
log_levelOnly log messages with the given severity or above. Valid levels: [debug, info, warn, error, fatal] -
path_procfsprocfs mountpoint. (default: "/proc") -
path_rootfsrootfs mountpoint. (default: "/") -
path_sysfssysfs mountpoint. (default: "/sys") -
userSystem user to run node exporter as. (default "root") change this to a non-root user if possible -
web_disable_exporter_metricsExclude metrics about the exporter itself. (promhttp_, process_, go_*) -
web_listen_addressAddress to listen on for web interface and telemetry. (default: ":9100") -
web_max_requestsMaximum number of parallel scrape requests. Use 0 to disable. (default: "40") -
web_telemetry_pathPath under which to expose metrics. (default: "/metrics")
listen_ip = '127.0.0.1' node_exporter 'main' do web_listen_address "#{listen_ip}:9100" action [:enable, :start] end
or just set
node['prometheus_exporters']['listen_interface']node['prometheus_exporters']['node']['collectors']node['prometheus_exporters']['node']['textfile_directory']node['prometheus_exporters']['node']['ignored_net_devs']node['prometheus_exporters']['node']['user']
and add recipe['prometheus_exporters::node] to your run_list.
postgres_exporter
The postgres_exporter resource supports running multiple copies of PostgreSQL exporter the same system. This is useful if you have multiple copies of PostgreSQL running on the same system
(eg. different versions) or you are connecting to multiple remote PostgreSQL servers across the network.
-
constant_labelsA list of label=value separated by comma(,). -
data_source_namePostgreSQL connection string. E.g.postgresql://login:password@hostname:port/dbname -
data_source_pass_fileThe same as above but reads the password from a file. -
data_source_passWhen usingdata_source_uri, this option is used to specify the password to connect with. -
data_source_uriAn alternative todata_source_namewhich exclusively accepts the raw URI without a username and password component. -
data_source_user_fileThe same, but reads the username from a file. -
data_source_userWhen usingdata_source_uri, this option is used to specify the username. -
disable_default_metricsUse only metrics supplied fromqueries.yamlvia--extend.query-path. -
extend_query_pathPath to a YAML file containing custom queries to run. -
instance_namename of PostgreSQL exporter instance. (name attribute) -
log_formatIf set use a syslog logger or JSON logging. Example: logger:syslog?appname=bob&local=7 or logger:stdout?json=true. Defaults to stderr. -
log_levelOnly log messages with the given severity or above. Valid levels: [debug, info, warn, error, fatal]. -
userSystem user to run exporter as. (default "postgres") -
web_listen_addressAddress to listen on for web interface and telemetry. (default "127.0.0.1:9187") -
web_telemetry_pathPath under which to expose metrics. (default "/metrics")
postgres_exporter '9.5_main' do data_source_name 'postgresql://localhost:5432/example' user 'postgres' end
process_exporter
Monitor resource usage of processes or process groups. Read more here.
-
childrenIf a proc is tracked, track with it any children that aren't part of their own group (default: true) -
config_pathOptional config file for configuring which processes to monitor. The example below monitors all processes on the system. Alternately specific process names and groups may be specified using theproc_namesandname_mappingproperties -
custom_optionsUse for your configuration if defined properties are not satisfying your needs. -
debugPrint debug information to the log. default: false -
namemappingComma-separated list of alternatingname,regexpvalues. It allows assigning a name to a process based on a combination of the process name and command line -
procfsprocfs mountpoint. Default: "/proc" -
procnamesComma separated list of process names to monitor -
recheckOn each scrape the process names are re-evaluated. This is disabled by default as an optimization, but since processes can choose to change their names, this may result in a process falling into the wrong group if we happen to see it for the first time before it's assumed its proper name. Default: false -
threadsreport on per-threadname metrics as well -
userUser under whom to start process exporter. (default: "root") -
web_listen_addressAddress to listen on for web interface and telemetry. Default: ":9256" -
web_telemetry_pathPath for the metrics endpoint. Default: '/metrics'
process_exporter 'main' do config_path "/opt/process-exporter-#{node['prometheus_exporters']['process']['version']}.linux-amd64/all.yml" action %i[install enable] end file "/opt/process-exporter-#{node['prometheus_exporters']['process']['version']}.linux-amd64/all.yml" do content <<HERE process_names: - name: "{{.comm}}" cmdline: - '.+' here notifies :start, 'process_exporter[main]' end
rabbitmq_exporter
-
cafilePath to root certificate for access management plugin. Just needed if self signed certificate is used. Will be ignored if the file does not exist -
certfilePath to client certificate used to verify the exporter's authenticity. Will be ignored if the file does not exist -
exclude_metricsMetric names to exclude from export. Comma-seperated string or an array. e.g. "recv_oct,recv_cnt". See exporter_*.go for names -
include_queuesRegex queue filter. Just matching names are exported -
include_vhostRegex vhost filter. Only queues in matching vhosts are exported -
keyfilePath to private key used with certificate to verify the exporter's authenticity. Will be ignored if the file does not exist -
log_levelLog level. Possible values: "debug", "info", "warning", "error", "fatal", or "panic" -
max_queuesMax number of queues before we drop metrics (disabled if set to 0) -
output_formatLog ouput format. TTY and JSON are suported -
publish_addrListening host/IP for the exporter -
publish_portListening port for the exporter -
rabbit_capabilitiesComma-separated list or an array of extended scraping capabilities supported by the target RabbitMQ server -
rabbit_exportersList of enabled modules. "connections" and shovel are disabled by default -
rabbit_passwordPassword for rabbitMQ management plugin -
rabbit_timeoutTimeout in seconds for retrieving data from management plugin -
rabbit_urlUrl to rabbitMQ management plugin (must start with http(s)://) -
rabbit_userUsername for rabbitMQ management plugin. User needs monitoring tag! -
skip_queuesRegex, matching queue names are not exported (useful for short-lived rpc queues). First performed INCLUDE, after SKIP -
skip_vhostRegex, matching vhost names are not exported. First performs INCLUDE_VHOST, then SKIP_VHOST -
skiverifyWill ignore certificate errors of the management plugin if true (default: "false") -
userUser under whom to start rabbitmq exporter. (default: "root")
rabbitmq_exporter 'main' do rabbit_user 'Roger' rabbit_exporters %w[exchange node] end
redis_exporter
Important: For redis exporter version equal or lower than 0.34.1 use version 0.13.1 of this cookbook.
-
check_keysComma separated list of keys to export value and length/size, eg:db3=user_countwill export keyuser_countfrom db3. db defaults to0if omitted. (default: "") -
check_single_keysComma separated list of single keys to export value and length/size. -
config_commandWhat to use for the CONFIG command (default: "CONFIG") -
connection_timeoutTimeout for connection to Redis instance (default: "15s") -
debugEnable or disable debug output. (default: false) -
include_system_metricsWhether to include system metrics like e.g. redis_total_system_memory_bytes -
is_tile38Whether to scrape Tile38 specific metrics. -
log_formatIn what format should logs be shown. (default: "txt") -
namespaceNamespace for the metrics. (default: "redis") -
redis_addrAddress of one or more redis nodes, comma separated. (default: "redis://localhost:6379") -
redis_only_metricsWhether to export go runtime metrics also. -
redis_passwordPassword to use when authenticating to Redis. (default: "") -
scriptPath to Lua Redis script for collecting extra metrics. -
skip_tls_versificationWhether to to skip TLS verification. -
userUser under whom to start redis exporter. (default: "root") -
web_listen_addressaddress to listen on for web interface and telemetry. (default: "0.0.0.0:9121") -
web_telemetry_pathPath under which to expose metrics. (default: "/metrics")
redis_exporter 'main' do redis_addr 'redis://db01.example.com:6379,redis://10.0.0.1:6379' redis_password 'password_one,password_two' redis_alias 'example_production,example_staging' end
snmp_exporter
This exporter needs a custom generated config file. Read more here and here. For test purposes and the most basic usage you can grab a default snmp.yml which is located here: /opt/snmp_exporter-PASTE_CURRENT_VERSION.linux-amd64/snmp.yml
-
config_filedefault: '/etc/snmp_exporter/snmp.yaml' -
custom_optionsAny other raw options for your configuration if defined proterties are not satisfying your needs. -
log_formatWhere to send log files. (default: "logger:stdout") -
log_levelOnly log messages with the given severity or above. Valid levels: [debug, info, warn, error, fatal] -
snmp_wrap_large_countersWrap 64-bit counters to avoid floating point rounding. -
userUser under whom to start snmp exporter. (default: "root") -
web_listen_addressAddress to listen on for web interface and telemetry. (default: ":9116")
snmp_exporter 'main' do config_file "/opt/snmp_exporter-#{node['prometheus_exporters']['snmp']['version']}.linux-amd64/snmp.yml" end
statsd_exporter
Monitor statsd metrics and stats. Read more here.
-
log_formatWhere to send log files. (default: "logger:stdout") -
log_levelOnly log messages with the given severity or above. Valid levels: [debug, info, warn, error, fatal]. (default: "info") -
statsd_listen_mapping_configMetric mapping configuration file name -
statsd_listen_read_bufferSize (in bytes) of the operating system's transmit read buffer associated with the UDP or Unixgram connection -
statsd_listen_tcpTCP address on which to receive statsd metric lines -
statsd_listen_udpUDP address on which to receive statsd metric lines -
statsd_listen_unixgram_modeUnixgram socket permission mode -
statsd_listen_unixgramUnixgram socket path on which to receive statsd metric lines -
userUser under whom to start the exporter. (default: "root") -
web_listen_addressAddress to listen on for web interface and telemetry. (default: "0.0.0.0:9102") -
web_telemetry_pathPath under which to expose metrics. (default: "/metrics")
statsd_exporter 'main' do statsd_listen_udp "9125" user 'statsd' end
Use the given defaults or set the attributes...
node['prometheus_exporters']['listen_interface']node['prometheus_exporters']['statsd']['port']node['prometheus_exporters']['statsd']['listen_udp']node['prometheus_exporters']['statsd']['listen_tcp']node['prometheus_exporters']['statsd']['listen_unixgram']node['prometheus_exporters']['statsd']['listen_unixgram_mode']node['prometheus_exporters']['statsd']['mapping_config']node['prometheus_exporters']['statsd']['read_buffer']node['prometheus_exporters']['statsd']['user']
and add recipe['prometheus_exporters::statsd] to your run_list.
varnish_exporter
-
docker_container_nameDocker container name to exec varnishstat in. -
exit_on_errorsExit process on scrape errors. (default: "false") -
nvarnishstat -n value. -
Nvarnishstat -N value. -
userUser under whom to start varnish exporter. (default: "root") -
varnishstat_pathPath to varnishstat. (default: "varnishstat") -
verboseVerbose logging. (default: "false") -
web_listen_addressAddress on which to expose metrics. (default: ":9131") -
web_telemetry_pathPath under which to expose metrics. (default: "/metrics") -
with_go_metricsExport go runtime and http handler metrics. (default: "false")
varnish_exporter 'main' do varnishstat_path "/my/own/varnishstat" web_listen_address "1.2.3.4:9132" web_telemetry_path "/_metrics" user "my_user" end
Use the given defaults or set the attributes...
node['prometheus_exporters']['listen_interface']node['prometheus_exporters']['varnish']['varnishstat_path']node['prometheus_exporters']['varnish']['telemetry_path']node['prometheus_exporters']['varnish']['N']node['prometheus_exporters']['varnish']['docker_container_name']node['prometheus_exporters']['varnish']['exit_on_errors']node['prometheus_exporters']['varnish']['n']node['prometheus_exporters']['varnish']['verbose']node['prometheus_exporters']['varnish']['with_go_metrics']node['prometheus_exporters']['varnish']['user']
and add recipe['prometheus_exporters::varnish] to your run_list.
wmi_exporter
Expects the Chocolatey package manager to already be installed. This is up to individuals to provide by including the Chocolatey cookbook in their own wrapper cookbooks.
-
enabled_collectors, String, default: 'cpu,cs,logical_disk,net,os,service,system' -
listen_address, String, default: '0.0.0.0' -
listen_port, String, default: '9182' -
metrics_path, Strin, default: '/metrics' -
version, String, default: '0.2.7'
Use the given defaults or set the attributes...
node['prometheus_exporters']['wmi']['version']['listen_interface']node['prometheus_exporters']['wmi']['listen_address']node['prometheus_exporters']['wmi']['listen_port']node['prometheus_exporters']['wmi']['metrics_path']
and add recipe['prometheus_exporters::wmi] to your run_list.
Discovery
Each exporter will set an attribute when it's enabled, in the form of node['prometheus_exporters'][exporter_name]['enabled']. This makes it possible to search for
exporters within your environment using knife search or from within other cookbooks using a query such as:
knife search node 'prometheus_exporters_node_enabled:true'
This query will return all nodes with configured node exporters which can be used for automatically configuring Prometheus servers.
Known Issues
- The snmp_exporter requires a configuration file that is usually created by a config generator. Currently this functionality must be provided by a wrapper cookbook.
Dependent cookbooks
This cookbook has no specified dependencies.
Contingent cookbooks
There are no cookbooks that are contingent upon this one.
prometheus_exporters
0.17.2
- [Kirill Kuznetsov] Blackbox exporter 0.17.0
0.17.1
- [Kirill Kuznetsov] Fix cookstyle offences
- [Kirill Kuznetsov] Bundle update
0.17.0
- [Shai Atias] apache exporter 0.8.0
- [Kirill Kuznetsov] fixed bug with
--insecurearg for apache exporter - [Kirill Kuznetsov] mongodb exporter 0.11.0
- [Kirill Kuznetsov] node exporter 1.0.0
- [Kirill Kuznetsov] process exporter 0.6.0
- [Kirill Kuznetsov] redis exporter 1.6.1
- [Kirill Kuznetsov] snmp exporter 0.18.0
- [Kirill Kuznetsov] statsd exporter 0.16.0
- [Kirill Kuznetsov] wmi exporter 0.13.0
- [Kirill Kuznetsov] node exporter resource attributes update
0.16.3
- [Kirill Kuznetsov] set consul exporter health summary property to false by default
0.16.2
- [Sergei Makarevich] consul exporter 0.6.0
- [Kirill Kuznetsov] consul exporter resource refacotring
- [Kirill Kuznetsov] Ubuntu 20.04 test suites
0.16.1
- [Lior Tzur] rabbitmq_exporter 1.0.0-RC7
- [Lior Tzur] recipe[prometheus_exporters::rabbitmq] default publish address: ''
0.16.0
- [Lior Tzur] switch the rabbitmq expoerter back to ENV-var style configuration
- [Kirill Kuznetsov] update chefspec tests
- [Kirill Kuznetsov] add tests that rabbitmq accepts its configuration
- [Kirill Kuznetsov] TravisCI was switched to ruby 2.7.1
0.15.9
- [Kirill Kuznetsov] fix cookstyle bugs
- [Kirill Kuznetsov] fix rabbitmq systemd unit env variable
0.15.8
- [Lior Tzur] rabbitmq_exporter
- [Kirill Kuznetsov] rabbitmq_exporter resource refacotring
- [Kirill Kuznetsov] bundler update
- [Kirill Kuznetsov] testrig cookbook refacotring
0.15.7
- [Adam Kobi] elasticsearch_exporter
- [Adam Kobi] mongodb_exporter
- [Kirill Kuznetsov] README update & alphabetical sort
- [Kirill Kuznetsov] Chef 13 tests were dropped
- [Kirill Kuznetsov] Fedora 30/31 tests only
- [Kirill Kuznetsov] Ubuntu 14 support was dropped
0.15.6
- [Kirill Kuznetsov] varnish recipe fix
0.15.5
- [Stephan Scheying] initial varnish exporter support
- [Kirill Kuznetsov] full support for cmd line parameters for varnish exporter.
0.15.4
- [Kirill Kuznetsov] one more bundle update
- [Kirill Kuznetsov] fix travisci.yaml bundle preparation
- [Wolfgang Schnerring] postgres_exporter
disable\_settings\_metricsoption support
0.15.3
- [Kirill Kuznetsov] - bundle update
0.15.2
- [Kirill Kuznetsov] - exporters update:
- blackbox_exporter -
0.16.0 - postgres_exporter -
0.8.0 - redis_exporter -
1.3.5 - snmp_exporter -
0.16.1 - statsd_exporter -
0.13.0 - wmi_exporter -
0.9.0
- blackbox_exporter -
- [Kirill Kuznetsov] - TravisCI ruby 2.6.5
0.15.1
- [Kirill Kuznetsov] - dummy release to test TravisCI flow.
0.15.0
- [Kirill Kuznetsov] - exporters update:
- apache_exporter -
0.7.0 - blackbox_exporter -
0.15.0 - mysqld_exporter -
0.12.1 - node_exporter -
0.18.1 - postgres_exporter -
0.5.1 - redis_exporter -
1.1.1 - statsd_exporter -
0.12.2 - wmi_exporter -
0.8.3
- apache_exporter -
- [Kirill Kuznetsov] - Test Kitchen & TravisCI now use Dokken for tests
- [Kirill Kuznetsov] - bundle update
0.14.1
- [Asher Yanich] Fix bad quoting on systemd_unit_whitelist and systemd_unit_blacklist resources.
0.14.0
Breaking changes:
If you want to use Redis exporter < 1.0.0 consider a version of this cookbook lower than 0.14.0.
- [Brian Baker] - Redis exporter 1.0.0 installation support.
- [Kirill Kuznetsov] - Redis exporter 1.0.0 full support.
- [Kirill Kuznetsov] - exporters update:
- redis_exporter -
1.0.0
- redis_exporter -
0.13.1
- [Wolfgang Schnerring] - statsd_exporter resource.
0.13.0
- [Kirill Kuznetsov] - fix #23
- [Kirill Kuznetsov] - exporters update:
- blackbox_exporter -
0.14.0 - haproxy_exporter -
0.10.0 - node_exporter -
0.18.0 - process_exporter -
0.5.0 - redis_exporter -
0.34.1 - snmp_exporter -
0.15.0 - wmi_exporter -
0.7.0
- blackbox_exporter -
- [Kirill Kuznetsov] - actualize properties for all resources and refactor their names a bit.
- [Kirill Kuznetsov] - Chef 15 tests and support.
- [Kirill Kuznetsov] - TravisCI ruby 2.6.3 & matrix update.
0.12.1
- [Fatih Sarhan] - add Apache exporter to resource list in README
0.12.0
- [Fatih Sarhan] - resource list for README
- [Fatih Sarhan] - Apache exporter resource
0.11.1
- [Charles Rowe] - fix publication to supermarket.
0.11.0
- [Charles Rowe] - Add haproxy_exporter
0.10.1
- [Kirill Kuznetsov] - fix mysqld_exporter cmd for older systemd versions.
- [Kirill Kuznetsov] - add chefspec tests for
cookbook[testrig]
0.10.0
- [Kirill Kuznetsov] - exporters update:
- mysqld_exporter:
0.11.0 - node_exporter:
0.17.0 - postgres_exporter:
0.4.7 - redis_exporter:
0.22.1 - snmp_exporter:
0.13.0 - wmi_exporter:
0.5.0
- mysqld_exporter:
0.9.0
- [Viktor Radnai] - Add process_exporter
0.8.3
- [Edwin Mourant] - Smaill fix to initscript template
0.8.2
- [Viktor Radnai] - blackbox_exporter readme.
0.8.1
- [Kirill Kuznetsov] CHANGELOG update
- [Kirill Kuznetsov] RuboCop offences fix
- [Kirill Kuznetsov] Add 'enabled' attribute for wmi_exporter
0.8.0
- [Yousef Alam] - Add blackbox_exporter
- [Viktor Radnai] - Small fix to postgres_exporter binary's symlink
0.7.0
- [Kieren Scott] - Add mysqld_exporter
- [Matt Mencel] - Add wmi_exporter
- [Viktor Radnai] - Add 'enabled' attribute for using with Chef search
- [Viktor Radnai] - Fix: Remove unnecessary install step from redis exporter start action
- [Viktor Radnai] - Fix: quote environment variable values in init script
0.6.1
- [Kirill Kuznetsov] - fixed #7
- [Kirill Kuznetsov] - fixed exporter services naming; it's possible to install more than one copy of an exporter with a different service name
- [Denis C.] - node_exporter port attribute for
recipe[prometheus_exporters::node]
0.6.0
- [Kirill Kuznetsov] - Chef 14 support was tested
- [Kirill Kuznetsov] - Ubuntu 18.04 support was tested
- [Kirill Kuznetsov] - Some Ubuntu 14 test were dropped because Chef 14 breakes the support of service creation on Ubuntu 14
- [Kirill Kuznetsov] - node_exporter version upgrade: 0.16.0
- [Kirill Kuznetsov] - postgres_exporter version upgrade: 0.4.6
- [Kirill Kuznetsov] - redis_exporter version upgrade: 0.18.0
- [Kirill Kuznetsov] - snmp_exporter version upgrade: 0.10.0
- [Kirill Kuznetsov] - New docker-based Kitchen & Travis CI configurations
- [Kirill Kuznetsov] - Conventional test configuration for Test Kitchen was updated
0.4.8
- [Kirill Kuznetsov] - postgres_exporter update: 0.4.2
- [Kirill Kuznetsov] - redis_exporter update: 0.15.0
0.4.7
- [Kirill Kuznetsov] - Travis CI integration for automated tests.
0.4.6
- [Kirill Kuznetsov] - node_exporter version upgrade: 0.15.2
- [Kirill Kuznetsov] - Forcing more RuboCop style fixes
0.4.5
- [Kirill Kuznetsov] - Bugfix redis_exporter systemd unit creation: untar should be done before systemd unit creation
- [Kirill Kuznetsov] - postgres_exporter version upgrade: 0.3.0
- [Kirill Kuznetsov] - redis_exporter version upgrade: 0.13
- [Kirill Kuznetsov] - snmp_exporter version upgrade: 0.8.0
- [Kirill Kuznetsov] - snmp_exporter's options now have two dashes instead of one
- [Kirill Kuznetsov] - Test cookbooks should be placed into
test/cookbooksinstead oftest/integration/cookbooks - [Kirill Kuznetsov] - Default InSpec test file was renamed to
deafult_spec.rb - [Kirill Kuznetsov] - Test Kitchen configuration: centos-6/7, ubuntu-14/16, chef-12/13
- [Kirill Kuznetsov] - README: node_exporter, redis_exporter, snmp_exporter sections were updated
0.4.2
- [Viktor Radnai] - Bugfix for starting redis process as the specified user
0.4.1
- [Viktor Radnai] - Split log directories to fix logfile permission issue when exporters aren't running as root
- [Viktor Radnai] - Bugfixes for postgres_exporter
- [Viktor Radnai] - Improvements for tests
- [Viktor Radnai] - Added checksum for SNMP exporter
0.4.0
- [Viktor Radnai] - Added tests
- [Viktor Radnai] - Improved service configuration for all exporters
- [Viktor Radnai] - Fixed errors reported by
cookstyle - [Viktor Radnai] - Merged changes from Matt Mencel's repo (https://github.com/WIU/chef-prometheus-exporters.git)
- [Matt Mencel] - CentOS Support: updated only_if and not_if in node_exporter service
- [Matt Mencel] - Chef Warnings: Fixed Chef warnings in upstart template
0.3.0
- [Kirill Kuznetsov] - node_exporter version bump:
0.15.0 - [Kirill Kuznetsov] - BREAKING: the new cmd syntax brings the need for a new resource properties.
0.2.1
- [Kirill Kuznetsov] - enable weave network interface monitoring by default to alert on its stauts.
- [Kirill Kuznetsov] - it now depends on
systemdcookbook in general
0.2.0
- [Kirill Kuznetsov] - new systemd cookbook with new lwrp syntax
- [Kirill Kuznetsov] - new
redis_exporterresource to install redis_exporter. - [Kirill Kuznetsov] - set correct mode for postgres_exporter executable
- [Kirill Kuznetsov] - surround attributes for postgresql exporter in quotes.
0.1.3
- [Matt Mencel] - CentOS Support: updated only_if and not_if in node_exporter service
- [Matt Mencel] - Chef Warnings: Fixed Chef warnings in upstart template
0.1.2
- [Kirill Kuznetsov] - PostgreSQL Exporter resource.
- [Kirill Kuznetsov] - more options for upstart service template: env & setuid.
- [Kirill Kuznetsov] - default ignored mount points for Node Exporter.
0.1.0
- [Kirill Kuznetsov] - Initial release with
node_exportersupport.
Collaborator Number Metric
0.17.2 passed this metric
Contributing File Metric
0.17.2 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a CONTRIBUTING.md file
Foodcritic Metric
0.17.2 passed this metric
No Binaries Metric
0.17.2 passed this metric
Testing File Metric
0.17.2 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file
Version Tag Metric
0.17.2 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
0.17.2 passed this metric
0.17.2 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a CONTRIBUTING.md file
Foodcritic Metric
0.17.2 passed this metric
No Binaries Metric
0.17.2 passed this metric
Testing File Metric
0.17.2 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file
Version Tag Metric
0.17.2 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
0.17.2 passed this metric
0.17.2 passed this metric
Testing File Metric
0.17.2 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file
Version Tag Metric
0.17.2 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
0.17.2 failed this metric
0.17.2 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number