All Projects → sni → grafana-pnp-datasource

sni / grafana-pnp-datasource

Licence: MIT license
PNP4Nagios/RRD Datasource for Grafana

Programming Languages

javascript
184084 projects - #8 most used programming language
HTML
75241 projects
Makefile
30231 projects
CSS
56736 projects

Projects that are alternatives of or similar to grafana-pnp-datasource

Nagflux
A connector which copies performancedata from Nagios / Icinga(2) / Naemon to InfluxDB
Stars: ✭ 55 (+103.7%)
Mutual labels:  grafana, nagios, icinga
lmd
Livestatus Multitool Daemon - Create livestatus federation from multiple sources
Stars: ✭ 38 (+40.74%)
Mutual labels:  nagios, icinga, naemon
Monitoring-Livestatus
Livestatus Perl API to access runtime data from Nagios, Naemon, Icinga and Shinken.
Stars: ✭ 26 (-3.7%)
Mutual labels:  nagios, icinga, naemon
Icinga Vagrant
Vagrant boxes for Icinga 2, Icinga Web 2, modules, themes and integrations (Graphite, InfluxDB, Elastic, Graylog, etc.)
Stars: ✭ 248 (+818.52%)
Mutual labels:  grafana, icinga
nagiosplugin
A Python class library which helps with writing Nagios (Icinga) compatible plugins.
Stars: ✭ 19 (-29.63%)
Mutual labels:  nagios, icinga
Grafana Prometheus Alertmanager Datasource
Stars: ✭ 163 (+503.7%)
Mutual labels:  grafana, datasource
Awesome Monitoring
INFRASTRUCTURE、OPERATION SYSTEM and APPLICATION monitoring tools for Operations.
Stars: ✭ 356 (+1218.52%)
Mutual labels:  grafana, nagios
nagmapReborn
Nagmap Reborn - Standalone integration with some server monitoring systems providing a user-friendly interface through geographic visualization.
Stars: ✭ 19 (-29.63%)
Mutual labels:  nagios, icinga
check netscaler
A Nagios Plugin written in Perl for the Citrix ADC (formerly Citrix NetScaler). It uses the NetScaler NITRO API.
Stars: ✭ 36 (+33.33%)
Mutual labels:  nagios, icinga
interface
AngularJS based Web Interface for Statusengine
Stars: ✭ 15 (-44.44%)
Mutual labels:  nagios, naemon
chartjs-plugin-datasource-prometheus
Chart.js plugin for Prometheus data loading
Stars: ✭ 77 (+185.19%)
Mutual labels:  grafana, datasource
Grafanajsondatasource
Grafana datasource to load JSON data over your arbitrary HTTP backend
Stars: ✭ 146 (+440.74%)
Mutual labels:  grafana, datasource
check clever tanken
Benzinpreis-Monitoring mit Icinga 2 || Kraftstoffmonitoring
Stars: ✭ 21 (-22.22%)
Mutual labels:  nagios, icinga
check-ssl
Check the expiration date of your ssl-cert with bash (implemented for Nagios/Icinga)
Stars: ✭ 14 (-48.15%)
Mutual labels:  nagios, icinga
Icingaweb2 Module Grafana
Grafana module for Icinga Web 2 (supports InfluxDB & Graphite)
Stars: ✭ 190 (+603.7%)
Mutual labels:  grafana, icinga
Docker Nagios
Docker-Nagios provide Nagios service running on the docker container and a series of solution for Nagios
Stars: ✭ 41 (+51.85%)
Mutual labels:  grafana, nagios
docker-clickhouse-grafana
Baseline Compose for Clickhouse + Grafana
Stars: ✭ 24 (-11.11%)
Mutual labels:  grafana, datasource
grafana-simplejson-datasource-example
A simple Flask server demonstrating the basics of the Grafana simplejson datasource.
Stars: ✭ 21 (-22.22%)
Mutual labels:  grafana, datasource
histou
Adds templates to Grafana in combination with nagflux
Stars: ✭ 33 (+22.22%)
Mutual labels:  grafana, nagios
grafana-pandas-datasource
Grafana Pandas Datasource - using Python for generating timeseries-, table-data and annotations
Stars: ✭ 38 (+40.74%)
Mutual labels:  grafana, datasource

PNP Grafana Datasource - a Grafana backend datasource using PNP4Nagios to access RRD files

Installation

Search for pnp in the Grafana plugins directory or simply use the grafana-cli command:

%> grafana-cli plugins install sni-pnp-datasource

Also OMD-Labs comes with this datasource included, so if you use OMD-Labs, everything is setup already.

Otherwise follow these steps:

%> cd var/grafana/plugins
%> git clone -b release-1.0.7  https://github.com/sni/grafana-pnp-datasource.git
%> restart grafana

Replace release-1.0.7 with the last available release branch.

PNP API

In order to make this datasource work, you need the pnp api. This is a separate project at the moment and will be part of the official pnp in the future. You can fetch the api.php from https://github.com/lingej/pnp-metrics-api and place it in your controler folder.

In a standard PNP setup, you could basically just download the api directly into the controller folder with a simple wget:

wget "https://github.com/lingej/pnp-metrics-api/raw/master/application/controller/api.php" \
     -O /usr/share/pnp4nagios/html/application/controllers/api.php

Adjust the output path to your installation.

Create Datasource

Direct access and proxy datasources are possible. Add a new datasource and select:

Variant A:

Uses the Grafana proxy. Must have a local user which is used for all queries.

- Type 'PNP'
- Url 'https://localhost/sitename/pnp4nagios'
- Access 'proxy'
- Basic Auth 'True'
- User + Password for local pnp user

Variant B:

Uses direct access. PNP must be accessible from the public.

- Type 'PNP'
- Url 'https://yourhost/sitename/pnp4nagios' (Note: this has to be the absolute url)
- Access 'direct'
- Http Auth 'With Credentials'

Example Dashboard

This datasource ships an example dashboard which gets you started and shows the internal PNP statistics.

Queries

Simply select host, service and label in the query editor. Regular expressions are supported in the host and service field by adding slashes like /.*/.

Variables

You may use the following variables in the alias field

- $tag_host: will be replaced with the hostname
- $tag_service: will be replaced with the service name
- $tag_label: will be replaced with the label

Templating

There is basic templating variable support. There are 3 different querys available:

- $host:    hosts
- $service: services where host = /^$host$/
- $label:   labels where host = /^$host$/ and service = /^$service$/

host variables examples

Development

To test and improve the plugin you can run Grafana instance in Docker using following command (in the source directory of this plugin):

%> make grafanadev

This will expose local plugin from your machine to Grafana container. Now run make buildwatch to compile dist directory and start changes watcher:

%> make buildwatch

Create Release

How to create a new release:

%> export RELVERSION=1.0.9
%> export GRAFANA_API_KEY=...
%> vi package.json # replace version
%> vi CHANGELOG.md # add changelog entry
%> git commit -am "Release v${RELVERSION}"
%> git tag -a v${RELVERSION} -m "Create release tag v${RELVERSION}"
%> make GRAFANA_API_KEY=${GRAFANA_API_KEY} clean releasebuild
# upload zip somewhere and validate on https://plugin-validator.grafana.net/
# create release here https://github.com/sni/grafana-pnp-datasource/releases/new
# submit plugin update here https://grafana.com/orgs/sni/plugins

Changelog

see CHANGELOG.md

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].