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['dashboard']['create_min_level'] = 0;
$config['dashboard']['global_manage_min_level'] = 10;
|
Dashboard permission policy controls:
create_min_level - minimum user level required to create dashboards.
global_manage_min_level - minimum user level that receives read/write access to every dashboard and can manage sharing and public visibility.
Dashboard owners always have read/write access. Other users receive access through public visibility or explicit read-only/read-write grants to a user or role. See Dashboards for the complete access rules.
| 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']['xdp_ip_match_mode'] = 'unicast';
|
Controls how discovery protocol neighbour IP fallback is used to correlate existing remote devices and ports.
Supported modes:
unicast (default): only global unicast IP addresses are used.
any_ip_port: allow any non-loopback/non-unspecified IP, but require remote port-name correlation.
any_ip: allow any non-loopback/non-unspecified IP.
This setting affects neighbour correlation for protocols such as CDP/LLDP/FDP/ISDP/AMAP. It does not replace autodiscovery.ip_nets, which still controls whether new devices may be auto-added.
| 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
See Locations for shared sites, device assignments, structured
sysLocation formats, matching rules, rename and merge operations.
For new mappings, add a rule on the destination Location in the web interface.
Legacy configuration mappings remain supported during the transition:
| Text Only |
|---|
| $config['location']['map']['Under the Sink'] = "Under The Sink, The Office, London, UK";
|
This changes the text used to resolve a shared Location; it does not rewrite
the device's stored sysLocation. The older $config['location_map'] spelling is
a compatibility alias. A device sysLocation override supplies replacement
source text; a manual Location assignment selects a shared site independently.
Geocoding Configuration
| Text Only |
|---|
| $config['geocoding']['enable'] = TRUE; // Enable Geocoding
|
Enable or disable automatic geocoding of shared Location addresses. Coordinates
and geographic fields belong to the Location and are shared by its devices.
Manual coordinates are edited in the Location's Settings view.
| Text Only |
|---|
| $config['geocoding']['api'] = 'arcgis';
|
Select the provider used for address and reverse-geocoding lookups. The web
configuration lists the providers supported by your installation and their key
settings. Configure a provider-specific key where required, for example:
| Text Only |
|---|
| $config['geo_api']['google']['key'] = 'YOUR_API_KEY';
|
Provider availability, account requirements and quotas depend on the selected
service. Check that service's terms before configuring it.
| Text Only |
|---|
| $config['geocoding']['default']['lat'] = "37.7463058"; // Default latitude
$config['geocoding']['default']['lon'] = "-25.6668573"; // Default longitude
|
These coordinates provide the initial map position in Location Settings when
the Location has no coordinates. They are not stored as a device or Location's
position when geocoding fails.
The legacy $config['geocoding']['dns'] option is not used by the current shared
Location geocoder. Use manual coordinates or coordinates in the Location address.
| 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
With geocoding enabled, manual coordinates or coordinates embedded in the
resolved Location address are used for reverse geocoding to obtain country,
city and other geographic fields. The coordinates are shared by all devices
assigned to that Location.
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
|
Set manual coordinates on the shared Location's Settings page. When a rule or
manual assignment selects another Location, that destination's address and
coordinates are used. See Geolocation and maps.
Historical configuration names
The legacy front page has been removed. The active settings below retain the $config['frontpage'] namespace because dashboard widgets and location maps still use them as global defaults.
The Syslog and Eventlog widgets use these defaults when the widget does not provide its own filter:
| PHP |
|---|
| $config['frontpage']['syslog']['priority'] = ['emerg', 'alert', 'crit', 'err', 'warning', 'notice'];
$config['frontpage']['eventlog']['severity'] = ['emerg', 'alert', 'crit', 'err', 'warning', 'notice'];
|
Widget-specific filters take precedence over these values.
These values provide the initial categories and limits for a Status Table widget. Each widget can override them in its own configuration.
| PHP |
|---|
| $config['frontpage']['device_status']['max']['interval'] = 24;
$config['frontpage']['device_status']['max']['count'] = 200;
$config['frontpage']['device_status']['devices'] = TRUE;
$config['frontpage']['device_status']['ports'] = TRUE;
$config['frontpage']['device_status']['neighbours'] = TRUE;
$config['frontpage']['device_status']['errors'] = TRUE;
$config['frontpage']['device_status']['probes'] = FALSE;
$config['frontpage']['device_status']['services'] = FALSE;
$config['frontpage']['device_status']['bgp'] = TRUE;
$config['frontpage']['device_status']['uptime'] = TRUE;
|
Map defaults
The Map widget and location maps use Leaflet and require usable coordinates for device locations. The following values define the inherited view, basemap and marker sizes:
| PHP |
|---|
| $config['frontpage']['map']['center']['lat'] = 'auto';
$config['frontpage']['map']['center']['lng'] = 'auto';
$config['frontpage']['map']['zoom'] = 'auto';
$config['frontpage']['map']['tiles'] = 'esri-canvas-auto';
$config['frontpage']['map']['okmarkersize'] = 24;
$config['frontpage']['map']['alertmarkersize'] = 32;
|
esri-canvas-auto is the key-free default and automatically selects a light or dark ESRI canvas to match the active theme. Other key-free choices include OpenStreetMap Mapnik, ESRI imagery, OpenTopoMap, CyclOSM and NASA Night.
A Map widget whose Basemap is set to Use global setting inherits $config['frontpage']['map']['tiles']. If the selected provider is unknown or cannot be used, Observium tries the global provider and finally the key-free ESRI canvas fallback.
Carto, Stadia Maps and MapTiler basemaps require provider-specific API keys:
| PHP |
|---|
| $config['map']['api_key']['carto'] = 'your-carto-key';
$config['map']['api_key']['stadia'] = 'your-stadia-key';
$config['map']['api_key']['maptiler'] = 'your-maptiler-key';
|
Providers without their required key remain listed in configuration forms with an API key required note, but are skipped when a map resolves its tiles.
Location name normalization is configured separately through the location mapping settings described above.
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;
|