mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
Final pieces to the smokeping integration
This commit is contained in:
45
doc/Extensions/Smokeping.md
Normal file
45
doc/Extensions/Smokeping.md
Normal file
@@ -0,0 +1,45 @@
|
||||
# Smokeping integration
|
||||
|
||||
We currently have two ways to use Smokeping with LibreNMS, the first is using the included script generator to generate the config for Smokeping. The
|
||||
second is to utilise an existing Smokeping setup.
|
||||
|
||||
### Included Smokeping script
|
||||
|
||||
To use this, please add something similar to your smokeping config file:
|
||||
|
||||
```bash
|
||||
@include /opt/smokeping/etc/librenms.conf
|
||||
```
|
||||
|
||||
Then you need to generate the config file (maybe even add a cron to schedule this in and reload smokeping). We've assumed a few locations for smokeping, the config file you want
|
||||
to call it and where LibreNMS is:
|
||||
|
||||
```bash
|
||||
cd /opt/librenms/scripts/
|
||||
php ./gen_smokeping.php > /opt/smokepgin/etc/librenms.conf
|
||||
/opt/smokeping/bin/smokeping --reload
|
||||
```
|
||||
|
||||
Sample cron:
|
||||
|
||||
```bash
|
||||
15 0 * * * root cd /opt/librenms/scripts && php ./gen_smokeping.php > /opt/smokepgin/etc/librenms.conf && /opt/smokeping/bin/smokeping --reload >> /dev/null 2>&1
|
||||
```
|
||||
|
||||
Now configure LibreNMS (make sure you point dir to your smokeping data directory:
|
||||
|
||||
```php
|
||||
$config['smokeping']['dir'] = '/opt/smokeping/data';
|
||||
$config['smokeping']['integration'] = true;
|
||||
```
|
||||
|
||||
### Standard Smokeping
|
||||
|
||||
This is quite simple, just point your dir at the smokeping data directory - please be aware that all RRD files need to be within this dir and NOT sub dirs:
|
||||
|
||||
```php
|
||||
$config['smokeping']['dir'] = '/opt/smokeping/data';
|
||||
$config['own_hostname']
|
||||
```
|
||||
|
||||
You should now see a new tab in your device page called ping.
|
36
scripts/gen_smokeping.php
Executable file
36
scripts/gen_smokeping.php
Executable file
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
/*
|
||||
* LibreNMS
|
||||
*
|
||||
* Copyright (c) 2015 Søren Friis Rosiak <sorenrosiak@gmail.com>
|
||||
* This program is free software: you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License as published by the
|
||||
* Free Software Foundation, either version 3 of the License, or (at your
|
||||
* option) any later version. Please see LICENSE.txt at the top level of
|
||||
* the source code distribution for details.
|
||||
*/
|
||||
|
||||
include_once("../config.php");
|
||||
include_once("../includes/defaults.inc.php");
|
||||
include_once("../includes/definitions.inc.php");
|
||||
include_once("../includes/functions.inc.php");
|
||||
|
||||
?>
|
||||
|
||||
menu = Top
|
||||
title = Network Latency Grapher
|
||||
|
||||
<?php
|
||||
|
||||
foreach (dbFetchRows("SELECT `type` FROM `devices` WHERE `ignore` = 0 AND `disabled` = 0 AND `type` != '' GROUP BY `type`") as $devices) {
|
||||
echo ("+ " . $devices['type'] . PHP_EOL);
|
||||
echo ("menu = " . $devices['type'] . PHP_EOL);
|
||||
echo ("title = " . $devices['type'] . PHP_EOL);
|
||||
foreach (dbFetchRows("SELECT `hostname` FROM `devices` WHERE `type` = ? AND `ignore` = 0 AND `disabled` = 0", array($devices['type'])) as $devices) {
|
||||
//Dot needs to be replaced, since smokeping doesn't accept it at this level
|
||||
echo("++ " . str_replace(".","_",$devices['hostname']) . PHP_EOL);
|
||||
echo("menu = " . $devices['hostname'] . PHP_EOL);
|
||||
echo("title = " . $devices['hostname'] . PHP_EOL);
|
||||
echo("host = " . $devices['hostname'] . PHP_EOL . PHP_EOL);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user