Is Observium migration still possible?

I have a running Observium CE 17.9.0 install and would be inclined to migrate the data to my new LibreNMS install. I found this page but unfortunately the blog it links to is down. I found some archived snapshots of the page on the Wayback Machine but the scripts it refers to are different than the scripts in the Migration folder.

Is migration still possible? If not than I can just move on. If it is possible are there any recent “how-to” documents that I could use?

docs are here
https://docs.librenms.org/General/Welcome-to-Observium-users/

1 Like

If I remember it is basically:

  1. install LibreNMS
  2. You can copy config.php, but some settings may need to change
  3. copy rrds (unless the cpu architecture changes)
  4. export hostnames from observium and import hostnames into LibreNMS
1 Like

After some messing around I made progress. To save others some headaches here are some issues I ran into. Note that I was moving from a 32 bit observium install on ubuntu 16.04 to a LibreNMS install on ubuntu 18.04 and if you aren’t things will be different.

The page that hosts the obersvium migration script “how-to” is down, here is a link to a cached version I found on the wayback machine.

This will assume you’ve successfully got LibreNMS up and running on your destination machine.

If you look in /opt/librenms/scripts/Migration/ there is a XML_Conversion directory. I used this because I was going from 32 to 64 bit. Copy all these files to /tmp in your Observium machine. For these scripts to work you need to set up public key ssh authentication from your old observium (client) to your new LibreNMS (server). Ubuntu 18.04 doesn’t allow root SSH access out of the box, you need to create a password for root (sudo passwd) on LibreNMS. You don’t “technically” need to set up public key authentication but if you don’t you will be entering your LibreNMS root password a lot. I ran into a couple issues that caused me trouble. First, I had to create a /root/.ssh directory on the LibreNMS machine, second I had to add the -i switch to all the ssh commands in the convert.sh script. You should be able to issue the comman ssh -i {path to your private key on observium} root@{your LibreNMS host} and log in without prompt, if that works your convert.sh script should run. In my case it looked like ssh -i ~/.ssh/id_rsa root@{LIbreNMS IP address}.

Summary of script changes needed:

  • convert.sh-- add -i switch with you key location to all instances of ssh. Update the DEST variable to your
    LibreNMS host/ip. Only modify the other variables if you have non-stock locations.
  • destwork.sh-- change snmp string to match your installation
  • mkdir.sh-- did not require any modification
  • nodelist.txt-- pick ONE observium device and put its hostname(or IP) in this file. copy this file to the /tmp directory on LibreNMS. This nodelist.txt file is the only one that needs to be on both servers.

From your observium /tmp/ directory enter sudo ./convert.sh
If everything is good you shouldn’t be prompted for any passwords (if you are you have ssh issues) or get any errors.

One very strange thing I ran into. I have around 30 devices on my network. Once I got the scripts sorted out I moved one device to LibreNMS, the graphs showed up and everything looked great. I then put the remaining 29 devices in nodelist.txt and they all went over without any errors but the historical graphs never showed up, the whole point of going through all this nonsense. Eventually I had to do one observium device at a time to ensure graphs showed up.

Someone better at linux fu than I might know what I’ve done wrong and/or have a better way, but with the “how-to” site down I figure I would leave some breadcrumbs on how I muddled through.

1 Like