Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

NRPE exporter Build Status CircleCI

The NRPE exporter exposes metrics on commands sent to a running NRPE daemon.

Building and running

Local Build

go build nrpe_exporter.go
./nrpe_exporter

Visiting http://localhost:9275/export?command=check_load&target=127.0.0.1:5666 will return metrics for the command 'check_load' against a locally running NRPE server.

Building with Docker

docker build -t nrpe_exporter .
docker run -d -p 9275:9275 --name nrpe_exporter

Configuration

The nrpe_exporter requires little to no configuration.

The few options available such as logging level and the port to run on are configured via command line flags.

Run ./nrpe_exporter -h to view all available flags.

Prometheus Configuration

Example config:

global:
  scrape_interval: 10s
scrape_configs:
  - job_name: nrpe
    metrics_path: /export
    params:
      command: [check_load] # Run the check_load command.
    static_configs:
      - targets: # Targets to run the specified command against.
        - '127.0.0.1:5666'
        - 'example.com:5666'
    relabel_configs:
      - source_labels: [__address__]
        target_label: __param_target
      - source_labels: [__param_target]
        target_label: instance
      - target_label: __address__
        replacement: 127.0.0.1:9275 # Nrpe exporter.

SSL support

Add URL query parameter ssl=true to enable SSL for the NRPE connection, e.g.

    params:
      command: [check_load]
      ssl: [true]

NRPE requires the ADH ciphersuite which is not built by default in modern version of openssl. If the following command returns nothing then you will not be able to use it:

openssl ciphers -s -v ALL | grep ADH   # remove -s on older versions of openssl

The solution is to build a statically-linked nrpe_exporter binary on an older server - Ubuntu 16.04 works.

go build -a -ldflags '-extldflags "-static -ldl"'

A future version of golang may provide a simpler way of doing this.

You can’t perform that action at this time.