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 proxy is a process that may collect monitoring data from one or more monitored devices and send the information to the Zabbix server, essentially working on behalf of the server. All collected data is buffered locally and then transferred to the Zabbix server the proxy belongs to.

Deploying a proxy is optional, but may be very beneficial to distribute the load of a single Zabbix server. If only proxies collect data, processing on the server becomes less CPU and disk I/O hungry.

Usage

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

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

juju add-relation zabbix-proxy mysql
juju add-relation zabbix-proxy frontend

Zabbix proxy does not add new Zabbix agent to monitoring. This option is not available in this charm.

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

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

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.

An example,
juju set zabbix-proxy Timeout=10

Known Issues / Caveates

Zabbix proxy can not be active and passive at the same time. Please avoid add both relations with Zabbix Server at the same time.
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
VMwareFrequency
(int)
                            Delay in seconds between data gathering from a single VMware service.

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

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

                        
0
ProxyLocalBuffer
(int)
                            Proxy will keep data locally for N hours, even if the data have already been synced with the server.

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

                        
1
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
UnavailableDelay
(int)
                            How often host is checked for availability during the unavailability period, in seconds.

                        
60
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
HeartbeatFrequency
(int)
                            Frequency of heartbeat messages in seconds.
Used for monitoring availability of proxy on server side.

                        
60
DataSenderFrequency
(int)
                            Proxy will send collected data to the server every N seconds.

                        
1
ConfigFrequency
(int)
                            How often proxy retrieves configuration data from Zabbix server in seconds.

                        
3600
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
Timeout
(int)
                            Specifies how long we wait for agent, SNMP device or external check (in seconds).

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

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

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

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

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

                        
DebugLevel
(int)
                            Specifies debug level.

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

                        
ProxyOfflineBuffer
(int)
                            Proxy will keep data for N hours in case if no connectivity with Zabbix server.
Older data will be lost.
                        
1
Fping6Location
(string)
                            Location of fping6.

                        
/usr/bin/fping6