Frequently Asked Questions

General

When is the next Observium CE release?

We're not able to give information about future CE releases, since we generally release when we think it's the right time, rather than on a strict schedule. We often don't know we're going to do a CE release until a few hours before we release. We aim to release roughly 2 CE versions per year, but they may not be 6 months apart.

Why doesn't Observium work?

If you aren't confident in troubleshooting the problem yourself, make sure you are using an operating system and web server covered by our installation documentation and have the required versions for the utilities we use (see the Installation pages for more information).

Almost all problems are due to not correctly following the install guide. Observium relies on a lot of prerequisites and things being done in a certain manner, so deviation from the install guide can make things break in unexpected ways. If it doesn't work, try reinstalling it following the install guide carefully.

If all else fails, join our IRC channel or Mailing Lists and ask for help.

My graphs don't work

This often doesn't provide enough information for us to work out what the problem is. Please explain which graphs aren't working, and exactly what isn't happening that you expect to happen. Are the graphs broken images, are they an error messate, or are they correctly drawn graphs, but blank?

Often broken graphs is caused by a syntax error in your config.php, usually a blank space after a ?> php closing tag. It's safe to remove this closing tag to prevent this error.

I have a device which isn't supported, what can I do?

If the device is popular amongst our userbase, we may add it if a number of people request support for it. If it's a niche device you can either add support for it yourself to Observium, or you can pay an Observium or third party developer to add support for it for you.

I'm getting a blank browser window or server error on some pages (especially the ports page), but not others

Some of the pages are more memory-consuming than others, especially if you have a lot of devices, ports, IP addresses, etc. Make sure your PHP memory setting is adequate for this. If you get blank pages, it usually isn't. Don't forget to restart Apache for the configuration to take effect!

Can I show graphs without requiring a password or login?

There are a few different ways to show graphs. You can allow passwordless graphs from anyone, anywhere, or restrict this on a IP/Subnet basis. See the Configuration Options page for more details.

My net-snmp daemon uses 100% CPU and I have a full BGP table

This is a net-snmp bug. You need to disable ipCidrRouteTable && inetCidrRouteTable.

Add this to your snmpd.conf

view all    included  .1                               80
view all    excluded  .1.3.6.1.2.1.4.21
view all    excluded  .1.3.6.1.2.1.4.24
view system included  .iso.org.dod.internet.mgmt.mib-2.system

All my hosts seem down to Observium / SNMP doesn't seem to work anymore!

Take a good look, maybe run an snmpget/walk command from the command line. Also try run poller/discovery with debug option like this:

 ./discovery.php -d -h <some_host>
 ./poller.php -d -h <some_host>

Do you see an error similar to the following?

 add_mibdir: strings scanned in from /opt/observium/mibs/.index are too large.  count = 214

We are somewhat confused about this, but it seems to be a net-snmp bug. Remove the .index file from the directory and all should be well again! If there is no .index file, clean (as root user) this dir:

(Debian/Ubuntu) sudo rm -rf /var/lib/snmp/mib_indexes/*

(CentOS) rm -rf /var/lib/net-snmp/mib_indexes/*

And delete indexes from observium mibs directories:

 rm -f /opt/observium/mibs/*/.index
 rm -f /opt/observium/*/.index

Why can't I rename a host from the webinterface?

The web interface is most likely running as a different user from the user running your poller/discovery mechanism. This means that user has no permission to rename the directory. Please use the "rename_device.php" command from the command line instead.

When submitting large forms such as port ignore/disable settings, not all my settings are saved. How come?

This is most likely due to a PHP setting limiting the number of form variables to be posted (max_input_vars). In that case you should see something like

PHP Warning:  Unknown: Input variables exceeded 1000. To increase the limit change max_input_vars in php.ini. 
in Unknown on line 0, referer: ...

in your error log. Increase the setting to an appropriate number, then try again.

What data does Observium send back and why?

Each installation of Observium reports back a small array of statistics used to aid in prioritising development effort. For example, we maintain statistics on how common each OS type is, how common each SVN revision is and how large installations are.

This allows us to focus development effort on OS types which are more common, allowing us to know how up to date the average installation is, and how large a typical installation is. The latter is important when we're deciding how computationally expensive a GUI element can be.

What are those weird letters in the graphs? u? k? m?

From Wikipedia:

The International System of Units (abbreviated SI from French: Le Système international d'unités) is the modern form of the metric system and is the world's most widely used system of measurement, used in both everyday commerce and science. It comprises a coherent system of units of measurement built around seven base units, 22 named and an indeterminate number of unnamed coherent derived units, and a set of prefixes that act as decimal-based multipliers. The system has been adopted by most countries in the developed world.

For example, 1.7mpps would referr to 1.7 milli or thousandths of a packet per second, 0.0017 packets per second or about one packet per 600 seconds. The usage of these units is a side effect of the way RRDtool stores and presents data.

I am getting a "MySQL Error: Too many connections" error on my Observium web interface

Edit your /etc/mysql/my.cnf file and edit this setting max_connections = 500.

This line may be commented out with the ## character. If that is the case, remove the ## and change the value. You will have to restart MySQL for this change to take affect.

"[ERROR] /usr/sbin/mysqld: The table 'alert_table-state' is full" in "/var/log/mysql/error.log file

Edit your /etc/mysql/my.cnf file and edit this setting max_heap_table_size = 512M.

This line may be commented out with the ## character. If that is the case, remove the ## and change the value. You will have to restart MySQL for this change to take affect.

Installation and Initial Setup

Can I run Observium in a Subdirectory?

No. Unfortunately Observium doesn't support running in a sub-directory. It's difficult for us to properly test and causes issues with our URL parsing and URL rewriting schemes.

Possible solutions to needing to run Observium in a sub-directory include:

  • Create a name-based virtualhost
  • Create a port-based virtualhost
  • Add another IP to the server, and use that as an IP-based virtualhost
  • If you need HTTPS, create a self-signed certificate, or get a multi-use wildcard certificate for your domain name

I can add devices through the command line tool, but the web interface tells me it cannot ping the host

Both ways of adding call the same function, so it's not a bug. Most likely you are running the command line tool as root, and your apache/www-data user has limitations (SELinux, PHP patch, etc) so it cannot execute fping.

What about hostnames with uppercase letters? Observium converts them to all-lowercase!

Hostnames are all lowercase by convention. We convert hostnames to lowercase to assist with discovery and matching.

I have configured my RANCID config path but the configuration is not showing up on the device page

Make sure your hostnames match exactly, and the webserver user can read the configuration file (usually this means adding www-data to the rancid group).

My Router does not show IPv6 BGP sessions - how come?

Most vendors don't yet support the new BGP4 version 2 MIB, which includes support for multiple address families. Please contact your sales rep and tell them you want support for it!

I'm using Redhat/Fedora/CentOS and don't have legends on graphs!

RedHat derrived distributions need additional steps to fix their font setup.

  • yum install dejavu-lgc-fonts.noarch
  • add the following to your config.php :

$config['mono_font'] = "/usr/share/fonts/dejavu/DejaVuLGCSansMono.ttf";

None of my graphs are working, when I debug them, everything seems fine, but my browser tells me the image is broken!

Make sure none of your configuration files have spaces or newlines outside the <?php ?> blocks. These are otherwise sent verbatim to the browser before the graph's image data, breaking the output.

The main page works, all other pages produce a 404 error

You most likely forgot to enable mod_rewrite, or did not configure the virtualhost to allow overriding the settings through .htaccess. Please ensure that you followed the installation instructions carefully.

Run a2enmod rewrite to enable mod_rewrite.

Regenerate Alert Checks brings up a blank page. Apache error logs show: "PHP Fatal error:"

The full error message is something like this:

PHP Fatal error:  Allowed memory size of 134217728 bytes exhausted (tried to allocate 92 bytes) in 
/opt/observium/includes/dbFacile.php on line 234, referer: https://observium/com/alert_check/alert_test_id=10/

To fix this, edit /etc/php5/apache2/php.ini and increase the memory limit setting. For example, try using: memory_limit = 1024M. Then restart apache, and try the "Regenerate Alert Checks" again.

Why do I only get a single CPU view? A lot of information is missing from the device page

Make sure you have granted full access to your SNMP community and not just the "paranoid" level. Net-SNMP has different ways of preventing access to parts of the MIBs, the paranoid setting only gives out a small part of the information we can discover and visualize.

My devices' storage does not show up correctly. I have volumes >16TB.

You need to run Net-SNMP 5.7 or newer for 64-bit storage support.

My Linux machines' network interfaces show the wrong network speeds!

This is what net-snmp reports to us, we can't do much more than display what we have.

Known issues: lo: loopback is reported as 10Mbit vnet: vnet interfaces (as used by, for example, KVM) are reported as 10Mbit * bond: bonding interfaces show up as 10Mbit on older software. You need Net-SNMP 5.7 or newer and a fairly recent Linux kernel to have the speed shown correctly. Kernel 3.10 works, 3.5 and below don't - if you know what commit fixed this we can update the exact version here.

Workaround:

You can specify the speed of interfaces manually in snmpd.conf. This is obviously not ideal for bonds as their speed could vary when links come up or go down.

For example, the following line sets the vnet1 interface to 10Gbit speed:

interface vnet1 6 1000000000

6 is the ifTtype for Ethernet, make sure to set this correctly when modifying this configuration!

Usage Issues

I'm getting logged out from web-interface like every minute after upgrade

This is probably related to some changes in the authentication system related to security. Clear cookies in browser related to your Observium domain.

Use this guide to clear cookes: Cookies How to Clear Your Browser's Cookies

I'm seeing huge spikes in port graphs, how do I debug this?

See documentation to enable specific debug options:

Debugging /Profiling Settings

After enable options you can see debug info for spikes on observium server here: /tmp/port_debug_spikes.txt, and for specific port ID here: /tmp/port_debug_ID.txt

Example how to get usefull debug info for individual port ID for spikes: grep -B 1 -A 6 'ID:\ 520' /tmp/port_debug_spikes.txt