Network monitoring system with many features.
It can be used for:

  • high level monitoring of IT services;
  • centralized monitoring of your servers and applications;
  • monitoring of SNMP-enabled devices;
  • performance monitoring (process load, network activity, disk
    activity, memory usage, OS parameters etc.);
  • data visualization.

Overview

Zabbix is software that monitors numerous parameters of a network and the health and integrity of servers.

Zabbix server is the central process of Zabbix software.

The server performs the polling and trapping of data, it calculates triggers, sends notifications to users. It is the central component to which Zabbix agents and proxies report data on availability and integrity of systems. The server can itself remotely check networked services (such as web servers and mail servers) using simple service checks.

Usage

Zabbix works with Zabbix agent, Zabbix proxy, Zabbix frontend and Zabbix Java Gateway charms.

The functioning of a basic Zabbix server is broken into three distinct components; they are: Zabbix server, web frontend and database storage.

juju add-relation zabbix-server mysql
juju add-relation zabbix-server frontend

Zabbix server autmatically adds new Zabbix agents to monitoring as empty host (without linked templates) and Zabbix proxies by proxy type (active or passive)

juju add-relation zabbix-server:agent-active zabbix-agent
juju add-relation zabbix-server:proxy-passive zabbix-proxy

If relation with Zabbix proxy is destroyed, the charm removes the proxy from configuration and disable all hosts monitored by the proxy.
If relation with Zabbix agent is destroyed, the charm disables host related with the removed relation with Zabbix agent.

Configuration

There is listed a few major configuration options which can be changed:

Timeout - Spend no more than Timeout seconds on checks processing.
ListenPort - Agent will listen on this port for connections from the server.
DefaultHostGroup - Default Host group for new hosts with active Zabbix agent relations

An example,
juju set zabbix-server Timeout=10

Known Issues / Caveates

Zabbix server/proxy can use different database types, so while relation to database is not added, there is no installed Zabbix server/proxy packages.
We recommend to add a relation between Zabbix agent and Zabbix server/proxy after adding relation Zabbix server/proxy with one of available database types.
The charm Zabbix server/proxy supports only MySQL database.

Web Interface username/password

Login: Admin
Password: zabbix

–°ontact information

Configuration

HousekeepingFrequency
(int)
                            How often Zabbix will perform housekeeping procedure (in hours).

                        
1
StartVMwareCollectors
(int)
                            Number of pre-forked vmware collector instances.

                        
CacheSize
(string)
                            Size of configuration cache, in bytes.

                        
8M
ProxyConfigFrequency
(int)
                            How often Zabbix server sends configuration data to a Zabbix proxy in seconds. Used only for proxies in a passive mode.

                        
3600
ValueCacheSize
(string)
                            Size of history value cache, in bytes.

                        
8M
StartHTTPPollers
(int)
                            Number of pre-forked instances of HTTP pollers.

                        
1
LogFileSize
(string)
                            Maximum size of log file in MB.

                        
0
UnavailableDelay
(int)
                            How often host is checked for availability during the unavailability period, in seconds.

                        
60
StartPingers
(int)
                            Number of pre-forked instances of ICMP pingers.

                        
1
MaxHousekeeperDelete
(int)
                            No more than 'MaxHousekeeperDelete' rows (corresponding to [tablename], [field], [value]) will be deleted per one task in one housekeeping cycle.

                        
500
AlertScriptsPath
(string)
                            A short description of the configuration option.

                        
/etc/zabbix/alert.d/
VMwareCacheSize
(string)
                            Shared memory size for storing VMware data.

                        
8M
ListenPort
(int)
                            Listen port for trapper.

                        
10051
TrapperTimeout
(int)
                            Specifies how many seconds trapper may spend processing new data.

                        
300
ExternalScripts
(string)
                            Location of external scripts.

                        
/usr/lib/zabbix/externalscripts
FpingLocation
(string)
                            Location of fping.

                        
/usr/bin/fping
DefaultLinuxTemplate
(string)
                            Default template name for new passive Zabbix agents.

                        
Template OS Linux
TrendCacheSize
(string)
                            Size of trend cache, in bytes.

                        
4M
HistoryTextCacheSize
(string)
                            Size of text history cache, in bytes.

                        
16M
StartDBSyncers
(int)
                            Number of pre-forked instances of DB Syncers.

                        
4
User
(string)
                            Drop privileges to a specific, existing user on the system.

                        
zabbix
DefaultActiveLinuxTemplate
(string)
                            Default template name for new active Zabbix agents.

                        
Template OS Linux
VMwareFrequency
(int)
                            Delay in seconds between data gathering from a single VMware service.

                        
60
StartPollersUnreachable
(int)
                            Number of pre-forked instances of pollers for unreachable hosts (including IPMI and Java).

                        
1
StartIPMIPollers
(int)
                            Number of pre-forked instances of IPMI pollers.

                        
AllowRoot
(int)
                            Allow the server to run as 'root'.

                        
UnreachableDelay
(int)
                            How often host is checked for availability during the unreachability period, in seconds.

                        
15
UnreachablePeriod
(int)
                            After how many seconds of unreachability treat a host as unavailable.

                        
45
StartTimers
(int)
                            Number of pre-forked instances of timers.
Timers process time-based trigger functions and maintenance periods.
Only the first timer process handles the maintenance periods.

                        
1
Timeout
(int)
                            Specifies how long we wait for agent, SNMP device or external check (in seconds).

                        
5
SenderFrequency
(int)
                            How often Zabbix will try to send unsent alerts (in seconds).

                        
30
HistoryCacheSize
(string)
                            Size of history cache, in bytes.

                        
8M
StartSNMPTrapper
(int)
                            If set to 1, SNMP trapper process will be started.

                        
ProxyDataFrequency
(int)
                            How often Zabbix server requests history data from a Zabbix proxy in seconds. Used only for proxies in a passive mode.

                        
1
LogSlowQueries
(int)
                            How long a database query may take before being logged (in milliseconds).

                        
StartDiscoverers
(int)
                            Number of pre-forked instances of discoverers.

                        
1
CacheUpdateFrequency
(int)
                            How often Zabbix will perform update of configuration cache, in seconds.

                        
60
DebugLevel
(int)
                            Specifies debug level.

                        
3
DefaultHostGroup
(string)
                            Default host group for new Zabbix agents.

                        
Juju servers
Fping6Location
(string)
                            Location of fping6.

                        
/usr/bin/fping6