Configuration Options
Web Configuration
It's strongly recommended that you make configuration changes in the web-based configuration system where possible.
The config.php file is a piece of regular PHP code. This means you need to follow the syntax else neither the poller/discovery nor the web interface will work.
It's generally recommended to copy the example lines and edit to your requirements, making sure all your strings are quoted and your statements end in a semicolon ;
.
Example lines shown here usually contain the default value for the option, but may not if the default value has been changed.
Arrays
There sometimes seems to be some confusion about arrays.
PHP has 2 ways of setting an array variable:
PHP |
---|
| $config['rancid_configs'] = array("/var/rancid/network1/configs",
"/var/rancid/network2/configs");
|
vs
PHP |
---|
| $config['rancid_configs'][] = "/var/rancid/network1/configs";
$config['rancid_configs'][] = "/var/rancid/network2/configs";
|
These two syntaxes produce the exact same array. The first method using []
just adds a new entry at the end of the array, whereas the first method replaces the entire array.
Don't mix them up, it won't work and you'll probably have arrays inside arrays.
Also note that if defaults.inc.php
defines something in an array using []
, copying the line into config.php
and changing the contents will result in an array with both the value from defaults.inc.php
and the one you set yourself.
PHP |
---|
| $config['snmp']['community'][] = "mycomm";
|
Text Only |
---|
| Array
(
[0] => public
[1] => mycomm
)
|
If you don't want this, reinitialize the array:
PHP |
---|
| $config['snmp']['community'] = array("mycomm");
|
If you want to drop one value from the array (ie you don't want to repeat the entire interfaces ignore list, but you want to remove one particular ignore), use the array_diff function:
PHP |
---|
| $config['snmp']['community'] = array_diff( $config['snmp']['community'], array("public") );
|
Configuration directives
These are the available configuration options for Observium. They can be set in config.php
.
Installation Directories
PHP |
---|
| $config['temp_dir'] = "/tmp";
$config['install_dir'] = "/opt/observium";
$config['html_dir'] = $config['install_dir'] . "/html";
$config['rrd_dir'] = $config['install_dir'] . "/rrd";
$config['log_dir'] = $config['install_dir'] . "/logs";
$config['nagplug_dir'] = '/usr/lib/nagios/plugins';
|
Define directories used by Observium. temp_dir is used to store temporary graphs by the web interface.
Location of Executables
PHP |
---|
| $config['rrdtool'] = "/usr/bin/rrdtool";
$config['fping'] = "/usr/bin/fping";
$config['fping6'] = "/usr/bin/fping6";
$config['snmpwalk'] = "/usr/bin/snmpwalk";
$config['snmpget'] = "/usr/bin/snmpget";
$config['snmpgetnext'] = "/usr/bin/snmpgetnext";
$config['snmpbulkget'] = "/usr/bin/snmpbulkget";
$config['snmpbulkwalk'] = "/usr/bin/snmpbulkwalk";
$config['snmptranslate'] = "/usr/bin/snmptranslate";
$config['whois'] = "/usr/bin/whois";
$config['mtr'] = "/usr/bin/mtr";
$config['nmap'] = "/usr/bin/nmap";
$config['ipmitool'] = "/usr/bin/ipmitool";
$config['virsh'] = "/usr/bin/virsh";
$config['svn'] = "/usr/bin/svn";
$config['git'] = "/usr/bin/git"; // Used in show device config feature for git-enabled repos and rancid >= 3.2
$config['wmic'] = "/bin/wmic";
|
Define the locations of various executables used by Observium. These should be changed if they don't match your system.
rrdcached Settings
PHP |
---|
| $config['rrdcached'] = "unix:/var/run/rrdcached.sock";
|
Defines the location of the rrdcached
socket. Can be a UNIX socket or a TCP socket. If this is left undefined rrdcached
won't be used.
Web Interface Settings
PHP |
---|
| $config['base_url'] = "http://" . $_SERVER["SERVER_NAME"] .":".$_SERVER["SERVER_PORT"];
|
This is autoset based on the hostname and port used to connect to the web server. This should not normally be changed.
PHP |
---|
| $config['web_url'] = "http://localhost:80/"
|
Similar to $config['base_url']
, but used ONLY in alerts for links. If not set autodetects by hostname.
PHP |
---|
| $config['mono_font'] = "DejaVuSansMono";
|
This option is currently unused and should not be modified.
PHP |
---|
| $config['favicon'] = "images/observium-icon.png";
|
This option can be changed to use an alternative favicon
PHP |
---|
| $config['page_refresh'] = "300"; ## Refresh the page every xx seconds
|
Defines an autorefresh for pages in the web interface. If it's unset pages won't auto refresh.
PHP |
---|
| $config['front_page'] = "pages/front/default.php";
|
Defines which front page should be used. Custom pages can be created and used via this variable.
PHP |
---|
| $config['page_title_prefix'] = "Observium :: ";
|
Defines the title prefix of pages in the web interface.
PHP |
---|
| $config['timestamp_format'] = 'd-m-Y H:i:s';
|
Define the timestamp format for printed dates (not used everywhere?)
PHP |
---|
| $config['login_message'] = "Unauthorised access shall render the user liable to criminal and/or civil prosecution.";
|
Define the login message shown on the login page
PHP |
---|
| $config['web_mouseover'] = TRUE;
|
Show or not the mouseover popups with extra information and graphs (mouseover popups disabled by default for mobile devices).
PHP |
---|
| $config['web_show_disabled'] = TRUE;
|
Show or not disabled devices on major pages. (To hide disabled devices and their ports/alerts/etc, set to FALSE).
PHP |
---|
| $config['web']['logo'] = "custom-logo.png";
|
Replace Observium's header logo with a custom logo placed in html/images/
. Observium logo will move to the bottom bar. Images must be exactly 162x30px.
Sections
PHP |
---|
| $config['int_customers'] = 1; # Enable Customer Port Parsing
$config['int_transit'] = 1; # Enable Transit Types
$config['int_peering'] = 1; # Enable Peering Types
$config['int_core'] = 1; # Enable Core Port Types
$config['int_l2tp'] = 0; # Enable L2TP Port Types
$config['show_locations'] = 1; # Enable Locations on menu
|
Define wether to enable or disable various dropdown menus and sections in the web interface
PHP |
---|
| $config['ports_page_default'] = "details/"; ## eg "details/" "graphs/bits/"
|
Defines the default view on the /device/*/ports/ page.
PHP |
---|
| $config['show_overview_tab'] = true;
|
Toggles whether to display the 'overview' tab on the device page.
PHP |
---|
| $config['overview_show_sysDescr'] = true;
|
Toggles whether to display the device sysDescr on the overview page.
Device Traffic Graph
Filters
PHP |
---|
| $config['device_traffic_iftype'] = array('/loopback/','/tunnel/','/virtual/','/mpls/');
$config['device_traffic_descr'] = array('/loopback/','/vlan/','/tunnel/','/:\d+/');
|
Defines lists of ifTypes and ifDescrs which should be excluded from the device total traffic graph.
Authentication
PHP |
---|
| $config['allow_unauth_graphs'] = 0; # Allow graphs to be viewed by anyone
|
Disables authentication for graphs. This should be used with caution
PHP |
---|
| $config['allow_unauth_graphs_cidr'] = array();
|
Disables authentication for graphs if the request IP is in a certain CIDR range. (i.e. = array('192.168.0.0/16', '10.0.0.0/8'))
PHP |
---|
| $config['auth_mechanism'] = "mysql"; # Available mechanisms: mysql (default), ldap, http-auth
|
For non-default authentication set up, please see the [[Authentication modules]] page.
External Integration
Rancid
PHP |
---|
| $config['rancid_version'] = '2';
|
In script generate-rancid.php use delimeter :
(by default) and ;
for rancid version >= 3
PHP |
---|
| $config['rancid_configs'][] = '/var/lib/rancid/network/configs/';
|
Defines rancid configuration directories. This is an array, multiple rancid groups are supported. For performance, put your largest/most likely group in front. Configurations should have the same hostname as used in Observium.
PHP |
---|
| $config['rancid_suffix'] = 'yourdomain.com';
|
Defines domain suffix for non-FQDN device names. If rancid uses FQDN device names, but in observium used non-FQDN names, then add this option with correct domain name.
PHP |
---|
| $config['rancid_ignorecomments'] = 0; # Ignore lines starting with #
|
Toggles whether or not to filter out RANCID comments.
See here how to configure RANCID Integration.
CollectD
PHP |
---|
| $config['collectd_dir'] = '/var/lib/collectd/rrd';
|
Defines Collectd Integration directory. Hosts should be set to use the same hostname in collectd.conf
as is used in Observium.
NfSen
PHP |
---|
| $config['nfsen_enable'] = 0;
|
Allows you to read RRD files created by NfSen.
PHP |
---|
| $config['nfsen_rrds'] = "/var/nfsen/profiles-stat/live/";
|
Local path to where nfsen created RRDs live.
PHP |
---|
| $config['nfsen_split_char'] = "_";
$config['nfsen_suffix'] = "_yourdomain_com";
|
According to nfsen.conf: ''Ident strings must be 1 to 19 characters long only, containing characters [a-zA-Z0-9_]''. The above options are to overcome these limitations. '''nfsen_split_char''' will be converted to dots (router1_foo -> router1.foo) and '''nfsen_suffix''' will be appended (router1_foo_yourdomain_com - > router1.foo.yourdomain.com).
SNMP Settings
PHP |
---|
| $config['snmp']['timeout'] = 1;
|
Timeout in seconds. Note, SNMP supports timeout only in seconds (not ms).
PHP |
---|
| $config['snmp']['retries'] = 5;
|
Define the number of retries and timeout for SNMP queries. ''These are currently not set by default and should be changed with caution. Depending on your Net-SNMP version the timeout could be in seconds as well, do take care!''
PHP |
---|
| $config['snmp']['max-rep'] = FALSE;
|
Experimental. Enabling this allows use of -Cr
in snmpbulkwalk vastly increasing walk speed. Speeds up polling and discovery in most cases.
PHP |
---|
| $config['snmp']['version'] = "v2c";
|
Default version to use during autodetection or adding device.
PHP |
---|
| $config['snmp']['transports'] = array('udp', 'udp6', 'tcp', 'tcp6');
|
Defines a list of transports to be used during discovery autodetection and adding device with autodetect snmp params. Note udp/tcp used only for IPv4 hosts, udp6/tcp6 only for IPv6 hosts.
PHP |
---|
| $config['snmp']['community'][] = "public";
|
Defines a list of v2 and v1 communities to be used during discovery autodetection and adding device autodetect snmp params.
PHP |
---|
| $config['snmp']['v3'][0]['authlevel'] = "noAuthNoPriv"; // noAuthNoPriv | authNoPriv | authPriv
$config['snmp']['v3'][0]['authname'] = "observium"; // User Name (required even for noAuthNoPriv)
$config['snmp']['v3'][0]['authpass'] = ""; // Auth Passphrase
$config['snmp']['v3'][0]['authalgo'] = "MD5"; // MD5 | SHA
$config['snmp']['v3'][0]['cryptopass'] = ""; // Privacy (Encryption) Passphrase
$config['snmp']['v3'][0]['cryptoalgo'] = "AES"; // AES | DES
|
Defines a list of v3 arrays to be used during discovery autodetection and adding device autodetect snmp params. Each set with separate array key.
PHP |
---|
| $config['snmp']['hide_auth'] = TRUE;
|
See Debugging / Profiling Settings
Ping Settings
PHP |
---|
| $config['ping']['timeout'] = 500;
|
Timeout in milliseconds (50 - 2000)
PHP |
---|
| $config['ping']['retries'] = 3;
|
How many times to retry ping (1 - 10)
Define the number of retries and timeout for device pings.
By default timeout set as 500ms (this is default in fping, see 'man fping') and use 3 retries.
PHP |
---|
| $config['ping']['debug'] = TRUE;
|
See Debugging / Profiling Settings
HTTP Settings
PHP |
---|
| $config['http_proxy'] = 'host:port';
|
Defines an HTTP proxy to be used for external HTTP requests by the poller and discovery processes. Primarily useful for geolocation lookups, but also used for other external data lookups and version checks.
Auto Discovery Settings
PHP |
---|
| $config['mydomain'] = "domain.com";
|
If you wish to append "domain.com" FQDN to an autodiscovered host. Useful if you do not have domain names set in routers but want them in Observium.
PHP |
---|
| $config['autodiscovery']['ip_nets'] = array("127.0.0.0/8", "192.168.0.0/16", "10.0.0.0/8", "172.16.0.0/12");
|
Set your network ranges here. Any host possibly autodiscovered by below settings will not be added if its hostname does not resolve to an IP inside these ranges.
PHP |
---|
| $config['autodiscovery']['xdp'] = TRUE; // Autodiscover hosts via discovery protocols
|
This enables autodiscovery of neighbouring devices via discovery protocols, such as CDP, LLDP or FDP. Note that this doesn't enable or disable the discovery protocol tracking features, but controls whether Observium should try to auto-add devices it sees via those protocols.
PHP |
---|
| $config['autodiscovery']['ospf'] = TRUE; // Autodiscover hosts via OSPF
$config['autodiscovery']['bgp'] = TRUE; // Autodiscover hosts via iBGP
|
These options allow Observium to automatically discover new routers through OSPF or BGP - internal BGP sessions (same ASN) only.
PHP |
---|
| $config['autodiscovery']['libvirt'] = TRUE; // Autodiscover hosts found via libvirt
|
This enables autodiscovery of virtual machines when they are added to a machine which is monitored by the libvirt module. It will try only when the VM is added to the list, not on every discovery run, of course.
PHP |
---|
| $config['autodiscovery']['snmp_scan'] = TRUE; // autodiscover hosts via SNMP scanning
|
SNMP autodiscovery is currently not implemented.
PHP |
---|
| $config['discover_services'] = false; ## Autodiscover services via SNMP on devices of type "server"
|
When enabled, checks for open ports through SNMP and adds them to the services list.
Alert Settings
Please note that this is currently only applicable to the Subscription Edition
PHP |
---|
| $config['poller-wrapper']['alerter'] = TRUE;
|
Execute alerter.php after poller.php during poller-wrapper.py.
PHP |
---|
| $config['alerts']['interval'] = 86400;
|
How frequently to re-send a notification for a continuing alert condition in seconds. Default is 1 day.
PHP |
---|
| $config['alerts']['bgp']['whitelist'] = NULL;
|
Populate as an array() with ASNs to alert on.
PHP |
---|
| $config['uptime_warning'] = "84600";
|
Time in seconds to display a "Device Rebooted" warning, defualts to 1 day. Set to 0 to disable warnings.
Email backend settings
PHP |
---|
| $config['email']['enable'] = TRUE;
|
Enable/Disable send email globally
PHP |
---|
| $config['email']['from'] = NULL;
|
Mail from. Default: "Observium" <observium@hostname -f
>
PHP |
---|
| $config['email']['default'] = NULL;
|
Default alert recipient
PHP |
---|
| $config['email']['default_only'] = FALSE;
|
Only use default recipient (all alerts send to default recipient)
PHP |
---|
| $config['email']['backend'] = 'mail';
|
Mail backend. Allowed: mail
(PHP's built-in), sendmail
, smtp
.
PHP |
---|
| $config['email']['sendmail_path'] = '/usr/sbin/sendmail'; // The location of the sendmail program.
|
SMTP specific options
PHP |
---|
| $config['email']['smtp_host'] = 'localhost'; // Outgoing SMTP server name.
$config['email']['smtp_port'] = 25; // The port to connect.
$config['email']['smtp_timeout'] = 10; // SMTP connection timeout in seconds.
$config['email']['smtp_secure'] = NULL; // Enable encryption. Use 'tls' or 'ssl'
$config['email']['smtp_auth'] = FALSE; // Whether or not to use SMTP authentication.
$config['email']['smtp_username'] = NULL; // SMTP username.
$config['email']['smtp_password'] = NULL; // Password for SMTP authentication.
|
SMTP specific options
Debugging / Profiling Settings
Text Only |
---|
| $config['profile_sql'] = FALSE;
|
Store MySQL queries and performance data.
Text Only |
---|
| $config['snmp']['hide_auth'] = TRUE;
|
If TRUE hide SNMPv½ community and SNMPv3 auth from debug and web output
Text Only |
---|
| $config['ping']['debug'] = TRUE;
|
If TRUE store ping errors into logs/debug.log
file
Text Only |
---|
| $config['syslog']['debug'] = TRUE;
|
If TRUE store RAW syslog lines into logs/debug.log
file
Text Only |
---|
| $config['debug_port'][0] = TRUE;
|
List of port IDs for debug (each port ID as key). Debug info written to /tmp/port_debug_<ID>.txt
Text Only |
---|
| $config['debug_port']['spikes'] = FALSE;
|
Additional only ports spikes debug, written to /tmp/port_debug_spikes.txt
Cosmetics
PHP |
---|
| $config['rrdgraph_def_text'] = "-c BACK#EEEEEE00 -c SHADEA#EEEEEE00 -c SHADEB#EEEEEE00 -c FONT#000000 -c CANVAS#FFFFFF";
$config['rrdgraph_def_text'] .= " -c GRID#a5a5a5 -c MGRID#FF9999 -c FRAME#5e5e5e -c ARROW#5e5e5e -R normal";
|
Define the look and feel of rrdtool graphs. Should usually not be changed.
Text Only |
---|
| $config['rrdgraph_real_95th'] = FALSE;
|
Set this to TRUE if you want 95th percentile numbers based on the MAX RRA in the RRD file instead of the AVERAGE RRA. Note that this makes the 95th larger, but no more accurate.
Text Only |
---|
| $config['graph_colours']['mixed'] = array('CC0000','008C00','4096EE','73880A','D01F3C','36393D','FF0084');
$config['graph_colours']['greens'] = array('B6D14B','91B13C','6D912D','48721E','24520F','003300');
$config['graph_colours']['pinks'] = array('D0558F','B34773','943A57','792C38','5C1F1E','401F10');
$config['graph_colours']['blues'] = array('A0A0E5','8080BD','606096','40406F','202048','000033');
$config['graph_colours']['purples'] = array('CC7CCC','AF63AF','934A93','773177','5B185B','3F003F');
$config['graph_colours']['default'] =$config['graph_colours']['blues'];
|
Define the colour schemes used by some graphs.
Poller and Discovery Modules
Text Only |
---|
| $config['enable_bgp'] = 1; # Enable BGP session collection and display
|
Enable polling of BGP statistics via BGP4-MIB (and CISCO-BGP4-MIB / BGP4V2-MIB-JUNIPER)
Text Only |
---|
| $config['enable_syslog'] = 0; # Enable Syslog
|
Enable parsing of syslog.
Text Only |
---|
| $config['enable_inventory'] = 1; # Enable Inventory
|
Enable collection of inventory via ENTITY-MIB, HOST-RESOURCES-MIB and some vendor-specific MIBs.
Text Only |
---|
| $config['enable_pseudowires'] = 1; # Enable Pseudowires
|
Enable collection of pseudowire statistics on supported hardware
Text Only |
---|
| $config['enable_vrfs'] = 1; # Enable VRFs
|
Enable collection of VRF statistics on supported hardware
Text Only |
---|
| $config['enable_printers'] = 0; # Enable Printer support
|
Enable collection of printer (toner) statistics.
Text Only |
---|
| $config['enable_sla'] = 0; # Enable Cisco SLA collection and display
|
Enable collection of Cisco IP SLA data.
Interfaces
Text Only |
---|
| $config['port_descr_parser'] = "includes/port-descr-parser.inc.php"; # Parse port descriptions into fields
|
Define the port ifDescr parser. Custom parsers can be used to support alternate port labelling schemes.
Text Only |
---|
| $config['enable_ports_Xbcmc'] = 1; # Enable ifXEntry broadcast/multicast
|
Toggles the collection of separate broadcast/multicast statistics (alongside of standard nonunicast)
Text Only |
---|
| $config['enable_ports_etherlike'] = 0; # Enable Polling EtherLike-MIB (doubles interface processing time)
|
Toggles collection of EtherLike-MIB interface error statistics. This is heavy I/O performance hit as it virtually doubles RRD writing load per interface.
Text Only |
---|
| $config['enable_ports_junoseatmvp'] = 0; # Enable JunOSe ATM VC Discovery/Poller
|
Toggles collection and graphing of ATM VCs on Juniper JunOSe
Text Only |
---|
| $config['enable_ports_adsl'] = 1; # Enable ADSL-LINE-MIB
|
Toggles collection and graphing of ADSL statistics via ADSL-LINE-MIB
$config['debug_port'][0] = TRUE;
$config['debug_port']['spikes'] = FALSE;
See Debugging / Profiling Settings
Filters
Text Only |
---|
| $config['bad_if'][] = "voip-null";
$config['bad_if'][] = "virtual-";
|
Defines a list of interfaces to ignore. Interfaces are ignored if the string is present in ifDescr (case-'''IN'''sensitive).
Text Only |
---|
| $config['bad_if_regexp'][] = "/serial[0-9]:/";
|
Defines a list of interfaces to ignore based on regular expression. Interfaces are ignored if ifDescr matches the regular expression.
Text Only |
---|
| $config['bad_iftype'][] = "voiceEncap";
|
Defines a list of interfaces to ignore based on interface type. Interfaces are ignored if ifType matches this string (case-sensitive).
Processors
Filters
Defines a set of strings to filter processors:
Text Only |
---|
| $config['ignore_processor'][] = 'EXAMPLE';
|
If the processor description matches (case '''IN'''sensitive).
Text Only |
---|
| $config['ignore_processor_string'][] = 'EXAMPLE';
|
If the processor description contains string (case '''IN'''sensitive).
Text Only |
---|
| $config['ignore_processor_regexp'][] = '/^ExampleCPU$/';
|
If the processor description matches regex (case sensitive).
Mempools
Filters
Defines a set of strings to filter memory pools:
Text Only |
---|
| $config['ignore_mempool'][] = 'EXAMPLE';
|
If the memory description matches (case '''IN'''sensitive).
Text Only |
---|
| $config['ignore_mempool_string'][] = 'EXAMPLE';
|
If the memory description contains string (case '''IN'''sensitive).
Text Only |
---|
| $config['ignore_mempool_regexp'][] = '/ - (reserved|image)$/';
|
If the memory description matches regex (case sensitive).
Storage
Filters
PHP |
---|
| $config['ignore_mount_removable'] = 1; # Ignore removable disk storage
$config['ignore_mount_network'] = 1; # Ignore network mounted storage
$config['ignore_mount_optical'] = 1; # Ignore mounted optical discs
|
Defines a set of strings to filter storages:
Text Only |
---|
| $config['ignore_mount'][] = "/kern";
|
If the storage description (or mount point) matches (case '''IN'''sensitive).
Text Only |
---|
| $config['ignore_mount_string'][] = "packages";
|
If the storage description (or mount point) contains string (case '''IN'''sensitive).
Text Only |
---|
| $config['ignore_mount_regexp'][] = '/^(dev|proc)fs/';
|
If the storage description (or mount point) matches regex (case sensitive).
Printer toner
Filters
Defines a set of strings to filter printer toner:
Text Only |
---|
| $config['ignore_toner'][] = 'EXAMPLE';
|
If the toner description matches (case '''IN'''sensitive).
Text Only |
---|
| $config['ignore_toner_string'][] = 'EXAMPLE';
|
If the toner description contains string (case '''IN'''sensitive).
Text Only |
---|
| $config['ignore_toner_regexp'][] = '/^Fuchsia$/';
|
If the toner description matches regex (case sensitive).
Billing
PHP |
---|
| $config['enable_billing'] = 0; # Enable Billing
$config['billing']['customer_autoadd'] = 0; # Enable Auto-add bill per customer
$config['billing']['circuit_autoadd'] = 0; # Enable Auto-add bill per circuit_id
$config['billing']['bill_autoadd'] = 0; # Enable Auto-add bill per bill_id
|
Enables billing and various schemes for autocreating bills from port descriptions. These are currently unimplemented
Syslog Settings
Text Only |
---|
| $config['enable_syslog'] = 1;
|
Enable syslog globally.
Text Only |
---|
| $config['syslog']['filter'][] = 'last message repeated';
$config['syslog']['filter'][] = 'Connection from UDP: [';
|
Filter syslog entries with this strings.
Note, need reload Rsyslog or Syslog-ng syslog service after change filters!
Text Only |
---|
| $config['syslog']['fifo'] = FALSE;
|
Take input from FIFO
Text Only |
---|
| $config['syslog']['debug'] = TRUE;
|
See Debugging / Profiling Settings
Text Only |
---|
| $config['syslog']['host_map']['original.hostname.com'] = 'host.company.com';
$config['syslog']['host_map']['original.hostname.com'] = 78;
|
Allows the mapping of DNS PTRs to a specific hostname or device_id in Observium. The examples above would match all syslog entries from original.hostname.com to either the device in Observium with the hostname of host.company.com or the device with the device_id of 78. We recommend using hostname rewrites instead of device_id rewrites because of flexibility.
Virtualization
Text Only |
---|
| $config['enable_libvirt'] = 0; # Enable Libvirt VM support
|
Enable collection of Libvirt virtual machines on Linux machines.
Text Only |
---|
| $config['libvirt_protocols'] = array("qemu+ssh","xen+ssh");
|
Use these protocols to discover virtual machines. If one fails, the code will try the next one, so put the one most likely to work in front. Once VMs are found, the remaining protocols are not tried.
Unix Agent
Text Only |
---|
| $config['unix-agent']['port'] = 36602;
|
Sets the default port the Observium Unix Agent is running at on the remote machines.
Misc Settings
Text Only |
---|
| $config['astext'][65332] = "Cymru FullBogon Feed";
$config['astext'][65333] = "Cymru Bogon Feed";
|
This allows you to set a custom text for an ASN, in case it is not to your liking (i.e. you prefer ''UUnet'' to ''Verizon'') or it simply does not exist in whois (Private ASN).
sysLocation Configuration
Text Only |
---|
| $config['location_map']['Under the Sink'] = "Under The Sink, The Office, London, UK";
|
Location Mapping, use this feature to map ugly locations to pretty locations. In this example, if any device location equals 'Under the Sink'
than it rewrites in DB to 'Under The Sink, The Office, London, UK'
. Also you can rewrite sysLocation for specific device in device edit tab over web ui.
Geocoding Configuration
Text Only |
---|
| $config['geocoding']['enable'] = TRUE; // Enable Geocoding
|
Enable or disable geocoding of addresses. If disabled, best to disable the map on the front page as well.
Text Only |
---|
| $config['geocoding']['dns'] = FALSE;
|
Try to use DNS LOC records for detect device coordinates (disabled by default). For more information please see the Wikipedia entry LOC Record and then Create DNS LOC record.
Text Only |
---|
| $config['geocoding']['api'] = 'arcgis';
|
Which API to use to resolve your addresses into coordinates. We currently support google
, yandex
, geoapify
, geocodefarm
, bing
, arcgis
, openstreetmap
, mapquest
, opencage
, locationiq
. The google
API is the most accurate, but requires a license from Google to use. Be aware that mostly other API services also required get/buy own API key. Currently known "open" geolocation services is only ArcGIS and Openstreetmap.
Text Only |
---|
| $config['geocoding']['default']['lat'] = "37.7463058"; // Default latitude
$config['geocoding']['default']['lon'] = "-25.6668573"; // Default longitude
|
These two settings define the default coordinates for a device for which we can't find valid coordinates via any other means. The default coordinates are the Canary Islands in the Atlantic Ocean.
Text Only |
---|
| $config['location']['menu']['type'] = 'geocoded'; // geocoded, nested, plain
|
Set to plain
if you want to use the regular location menu, simply listing your configured locations.
Also can set to nested
for generating a nested menu splited by a delimiter (comma by default).
Useful if you don't have mappable addresses in your devices. Automatically disabled if you completely disable geocoding.
Nested menu additional options:
Text Only |
---|
| $config['location']['menu']['type'] = 'nested';
$config['location']['menu']['nested_reversed'] = FALSE; // set to TRUE if your locations are most-to-least significant
$config['location']['menu']['nested_split_char'] = ','; // splitting character for nested location hierarchy
$config['location']['menu']['nested_max_depth'] = 4; // maximum levels in nested location hierarchy
|
Reverse Geocoding
If you set correct DNS LOC records for device or device sysLocation string have coordinates in format [33.234, -56.22]
, than used reverse geocoding. Try detect Country, City, etc by coordinates. But observium anyway will store in DB specified coordinates.
Example for sysLocation with coordinates:
Text Only |
---|
| Some location [33.234, -56.22]
Some location (33.234 -56.22)
Some location [33.234;-56.22]
33.234,-56.22
|
Also you can set manual device coordinates in device edit tab.
Frontpage Settings
Deprecated
The front page has been deprecated in releases after November 2018. Most options here are no longer functional.
General settings
Text Only |
---|
| $config['frontpage']['eventlog']['items'] = 15; // Only show the last XX items of the eventlog view
$config['frontpage']['syslog']['items'] = 25; // Only show the last XX items of the syslog view
|
Map overview settings
Please Note
This globe overview uses the Leaflet Javascript library to generate the map based on the sysLocation of the devices. So you need correct address information for the map to work correctly. Also note that if you have many devices it can take a long time to generate the map overview.
Text Only |
---|
| $config['location_map']['Under the Sink'] = "Under The Sink, The Office, London, UK";
|
Use this to map your "simple" locations to fully qualified locations to be used in positioning on the map.
Device Status
Text Only |
---|
| $config['frontpage']['device_status']['devices'] = true; // Show the down devices
$config['frontpage']['device_status']['ports'] = true; // Show the down ports
$config['frontpage']['device_status']['errors'] = true; // Show the ports with interface errors
$config['frontpage']['device_status']['services'] = false; // Show the down services
$config['frontpage']['device_status']['bgp'] = true; // Show the bgp status
$config['frontpage']['device_status']['uptime'] = true; // Show the uptime status
|
Custom Traffic Graphs
Text Only |
---|
| $config['frontpage']['custom_traffic']['ids'] = ""; // COMMA SEPERATED PORT ID FOR EXAMPLE: "1,2,3,4,5"
$config['frontpage']['custom_traffic']['title'] = ""; // Your own title for the custom traffic graphs
|
In order to find out the ID of a port follow these simple steps:
- Goto "Ports" > "All Ports" from the menu
- Once you see the ports list, select the port you want and click on it (not the device name, but the port name [second colum])
- Now you should have an url that looks like
http://myobserviumserver/device/device=9/tab=port/port=102/
- The port ID in this case is the number
102
All port IDs are unique, so it doesn't matter if the ports are on the same device or not.
Custom Mini Graphs
Text Only |
---|
| $config['frontpage']['minigraphs']['ids'] = "2,device_processor,CPU Usage;10,diskio_bits,IOPS";
|
A semi-colon separated list of graphs described as "entity_id, graph_type, description"
Text Only |
---|
| $config['frontpage']['minigraphs']['legend'] = false;
|
Enable/Disable the legend on custom mini graph view
In order to find out the ID and type of a graph follow these simple steps:
- Goto "Devices" > "All Devices" from the menu
- Once you see the device list, select the device you want and click on it
- Now select the tab you want
- Select the graph you want to be displayed on the frontpage as a minigraph and click on it
- Now you should have an url that looks like
http://myobserviumserver/graphs/id=4/type=diskio_bits/to=1359767418/from=1359162618/
or http://myobserviumserver/graphs/id=1/type=mempool_usage/to=1359767959/from=1359681559/
- In this case the ID in the first example is the number
4
and the type is diskio_bits
and in the second example the ID is the number 1
and the type is mempool_usage
- The configuration variable would look like this:
4,diskio_bits;1,mempool_usage
The graphs are shown in the order of the configuration variable so you can order them this way from left to right.
Frontpage Module Order
Text Only |
---|
| $config['frontpage']['order'] = array('map', 'device_status', 'overall_traffic', 'syslog', 'eventlog');
|
This option defines an array of modules which should be rendered on to the front page. Options include:
map
alert_table
status_summary
device_status
device_status_boxes
overall_traffic
custom_traffic
minigraphs
syslog
eventlog
Housekeeping Settings
More details are available on the Housekeeping page.
Cleans up syslog data, based on the age of the entries.
Text Only |
---|
| $config['housekeeping']['syslog']['age'] = 0;
|
Cleans up eventlog data, based on the age of the entries.
Text Only |
---|
| $config['housekeeping']['eventlog']['age'] = 0;
|
Cleanup of RRD files with a modification time of a certain age. Ports that are gone, sensors that are gone, erroneously created RRD files due to bugs or hardware changes, etc.
Text Only |
---|
| $config['housekeeping']['rrd']['age'] = 0;
|
Cleanup of invalid RRD files. Requires $config['file']
to be set correctly to the path of the file
magic utility. Runs over all .rrd files to see if they are identified as rrdtool Databases. They can sometimes get corrupted (0 bytes, half a file) when your disk/ramdrive is full. When they exist, they are not recreated even if they're invalid. Consequently rrdtool refuses to add data into them as they are not valid RRD database files. This scripts deletes any .rrd file not identified as an rrdtool file.
Text Only |
---|
| $config['housekeeping']['rrd']['invalid'] = TRUE;
|
Note: this defaults to true currently. Handle with care.
Cleans up deleted ports. You can do this manually by using the purge button in the web interface, but one could probably safely assume if a port has not returned after 30 days it really is gone. Shorter could be useful in your environment, mine is set to 7 days.
Text Only |
---|
| $config['housekeeping']['deleted_ports']['age'] = 0;
|
Cleans up perf time information. Observium keeps performance times per module, per device and per run. This quickly accumulates into a giant number of rows in the database.
Text Only |
---|
| $config['housekeeping']['timing']['age'] = 0;
|