2015-05-12 08:54:56 +01:00

41 lines
1.6 KiB
Bash

#!/bin/bash
# Observium to LibreNMS conversion
####################### SCRIPT DESCRIPTION ########################
# This script converts the XML files from Observium back to RRD #
# files for use with LibreNMS. It then adds the device using the #
# Addhost function of LibreNMS #
###################################################################
########################### DIRECTIONS ############################
# Enter values for L_RRDPATH, ADDHOST, SNMPSTRING, and NODELIST. #
#The default should work if you put the files in the same location#
###################################################################
############################# CREDITS #############################
# LibreNMS work is done by a great group - http://librenms.org #
# Script Written by - Dan Brown - http://vlan50.com #
###################################################################
# Enter path to LibreNMS RRD directories
L_RRDPATH=/opt/librenms/rrd/
# Enter path to LibreNMS addhost module
ADDHOST=/opt/librenms/addhost.php
# Enter your unique SNMP String
SNMPSTRING=cisconetwork
# Enter path to nodelist text file
NODELIST=/tmp/nodelist.txt
# Loop enters RRD directory and then each folder based on contents of node list text file
while read line
# Enter the directory
do cd $L_RRDPATH"${line%/*}"
# Convert from XML back to RRD
for f in *.xml; do rrdtool restore ${f} `echo ${f} | cut -f1 -d .`.rrd; done;
# Remove leftover XML files
rm *.xml;
# Add the host to LibreNMS
php $ADDHOST "${line%/*}" $SNMPSTRING v2c;
# Change back to parent directory
cd ..;
done < $NODELIST