Exporter can work in 2 modes:
- classic:
- targets are configured in
targets.ini /metricsendpoint is used to receive metrics
- targets are configured in
- prober:
- targets are configured on the Prometheus side
/prober&target=is usedtargets.inishould be empty
Each operation mode requires an rbl.ini, for example:
[rbl]
server=ix.dnsbl.manitu.netProber mode provides additional features over classic:
- dynamic configuration of targets on Prometheus side
- different query/check interval of queries for different targets (e.g. to work around strict rate limits of the DNSBL)
set different query settings by utilizing probes modules(not yet implemented)
The following examples configure scraping of metrics from this exporter in classic mode.
Example for a targets.ini:
[targets]
server=smtp.fastmail.comscrape_configs:
- job_name: 'dnsbl-exporter'
metrics_path: /metrics
static_configs:
- targets: ['127.0.0.1:9211']For more details, see the Prometheus scrape config documentation.
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: dnsbl-exporter
namespace: dnsbl-exporter
spec:
endpoints:
- interval: 30s
port: http-9211
scrapeTimeout: 5s
jobLabel: dnsbl-exporter
namespaceSelector:
matchNames:
- dnsbl-exporter
selector:
matchLabels:
app.kubernetes.io/instance: dnsbl-exporter
app.kubernetes.io/name: dnsbl-exporterYou can use a ServiceMonitor or PodMonitor, for more details, see the Operator ServiceMonitor documentation or Operator PodMonitor documentation.
The following examples configure scraping of metrics from this exporter in prober mode.
scrape_configs:
- job_name: 'dnsbl-exporter-prober'
metrics_path: /prober
params:
module: [ips]
static_configs:
- targets:
- smtp.fastmail.com
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: 127.0.0.1:9211 # The dnsbl exporter's real hostname:port.
- job_name: 'dnsbl-exporter-metrics' # collect dnsbl exporter's operational metrics.
static_configs:
- targets: ['127.0.0.1:9211']For more details, see the Prometheus scrape config documentation.
apiVersion: monitoring.coreos.com/v1
kind: Probe
metadata:
name: dnsbl-exporter-prober
namespace: dnsbl-exporter
spec:
interval: 30s
jobName: dnsbl-exporter-prober
module: ips
prober:
path: /prober
scheme: http
url: dnsbl-exporter.dnsbl-exporter.svc:9211 # Kubernetes dnsbl exporter's service
scrapeTimeout: 5s
targets:
staticConfig:
static:
- smtp.fastmail.com
---
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: dnsbl-exporter-metrics # collect dnsbl exporter's operational metrics.
namespace: dnsbl-exporter
spec:
endpoints:
- interval: 30s
port: http-9211
scrapeTimeout: 5s
jobLabel: dnsbl-exporter-metrics
namespaceSelector:
matchNames:
- dnsbl-exporter
selector:
matchLabels:
app.kubernetes.io/instance: dnsbl-exporter
app.kubernetes.io/name: dnsbl-exporterFor more details, see the Operator Probe documentation.
In addition, you can use a
ServiceMonitororPodMonitorto monitor thednsbl-exporter's operational metrics, for more details, see the Operator ServiceMonitor documentation or Operator PodMonitor documentation.