This is the documentation page for an unsupported version of Zabbix.
Is this not what you were looking for? Switch to the current version or choose one from the drop-down menu.

6. Zabbix appliance

Overview

As an alternative to setting up manually or reusing an existing server for Zabbix, users may download a Zabbix appliance or Zabbix appliance installation CD image. Zabbix appliance installation CD could be used for instant deployment of Zabbix server (MySQL), Zabbix server (PostgreSQL), Zabbix proxy (MySQL) and Zabbix proxy (SQLite 3).

Zabbix Appliance virtual machines have prepared Zabbix server with MySQL support. It is built using Zabbix appliance installation CD.

|<| |<| |-|

|<| |<| |-|

Zabbix appliance and installation CD versions are based upon the following Ubuntu versions:

Zabbix appliance version Ubuntu version
3.4.0 16.04.3

Zabbix appliance is available in the following formats:

  • vmdk (VMware/Virtualbox)
  • OVF (Open Virtualisation Format)
  • KVM
  • HDD/flash image, USB stick
  • Live CD/DVD
  • Xen guest
  • Microsoft VHD (Azure)
  • Microsoft VHD (Hyper-V)

To get started, boot the appliance and point your browser at the IP it has received over DHCP: http://<host_ip>/zabbix

It has Zabbix server configured and running on MySQL, as well as frontend available.

The appliance has been built using standard Ubuntu/Debian feature called Preseed files.

If the appliance fails to start up in Hyper-V, you may want to press Ctrl+Alt+F2 to switch tty sessions.

1 Changes to Ubuntu configuration

There are some changes applied to the base Ubuntu configuration.

1.1 Repositories

Official Zabbix repository has been added to /etc/apt/sources.list:

## Zabbix repository
       deb https://repo.zabbix.com/zabbix/3.4/ubuntu xenial main
       deb-src https://repo.zabbix.com/zabbix/3.4/ubuntu xenial main
1.2 Firewall

The appliance uses iptables firewall with predefined rules:

  • Opened SSH port (22 TCP);
  • Opened Zabbix agent (10050 TCP) and Zabbix trapper (10051 TCP) ports;
  • Opened HTTP (80 TCP) and HTTPS (443 TCP) ports;
  • Opened SNMP trap port (162 UDP);
  • Opened outgoing connections to NTP port (53 UDP);
  • ICMP packets limited to 5 packets per second;
  • All other incoming connections are dropped.
1.3 Additional packages

Various basic utilities have been added that could make working with Zabbix and monitoring in general easier:

  • iptables-persistent
  • mc
  • htop
  • snmptrapfmt
  • snmp-mibs-downloader

Some of these packages are used by Zabbix, some of them are installed to help users to configure/manage appliance settings.

1.4 Using a static IP address

By default the appliance uses DHCP to obtain the IP address. To specify a static IP address:

  • Log in as root user;
  • Open file /etc/network/interfaces in your favourite editor;
  • iface eth0 inet dhcpiface eth0 inet static
  • Add the following lines after iface eth0 inet static:
    • address <IP address of the appliance>
    • netmask <network mask>
    • gateway <your gateway address>
  • Run the commands sudo ifdown eth0 && sudo ifup eth0.

For more information about other possible options see the official Ubuntu documentation.

To configure DNS, add nameserver entries in /etc/resolv.conf, specifying each nameserver on its own line: nameserver 192.168.1.2.

1.5 Changing time zone

By default the appliance uses UTC for the system clock. To change the time zone, copy the appropriate file from /usr/share/zoneinfo to /etc/localtime, for example:

cp /usr/share/zoneinfo/Europe/Riga /etc/localtime
1.6 Locale changes

The appliance contains a few locale changes:

  • Contains languages: en_US.UTF-8, ru_RU.UTF-8, ja_JP.UTF-8, cs_CZ.UTF-8, ko_KR.UTF-8, it_IT.UTF-8,
    pt_BR.UTF-8, sk_SK.UTF-8, uk_UA.UTF-8, fr_FR.UTF-8, pl.UTF-8;
  • Default locale is en_US.UTF-8.

These changes are required to support a multilingual Zabbix web-interface.

1.7 Other changes
  • Network is configured to use DHCP to obtain IP address;
  • Utility fping is set to have permissions 4710 and is owned by group zabbix - suid and only allowed to be used by zabbix group;
  • ntpd configured to synchronise to the public pool servers: ntp.ubuntu.com;
  • LVM volume is used with ext4 filesystem.
  • "UseDNS no" is added to SSH server configuration file /etc/ssh/sshd_config to avoid long SSH connection waits;
  • Daemon snmpd is disabled using /etc/default/snmpd configuration file.

2 Zabbix configuration

Appliance Zabbix setup has the following passwords and other configuration changes:

2.1 Credentials (login:password)

System:

  • appliance:zabbix

Use "sudo su" command with "appliance" user name password to get root access rights

LiveCD comes without any password and uses the ubuntu user to log in into the console.

Database:

  • root:<random>
  • zabbix:<random>

Database passwords are randomly generated during the installation process.
Root password is stored to /root/.my.cnf file, it is not required to input a password under the "root" account.

Zabbix frontend:

  • Admin:zabbix

To change the database user password it has to be changed in the following locations:

  • MySQL;
  • /etc/zabbix/zabbix_server.conf;
  • /etc/zabbix/web/zabbix.conf.php.
2.2 File locations
  • Configuration files are placed in /etc/zabbix.
  • Zabbix server, proxy and agent logfiles are placed in /var/log/zabbix.
  • Zabbix frontend is placed in /usr/share/zabbix.
  • Home directory for user zabbix is /var/lib/zabbix.
2.3 Changes to Zabbix configuration
  • Server name for Zabbix frontend is set to "Zabbix Appliance";
  • Frontend timezone is set to Europe/Riga (this can be modified in /etc/apache2/conf-available/zabbix.conf);
2.4 Preserving configuration

If you are running a Live CD/DVD version of the appliance or for some other reason cannot have persistent storage, you can create a backup of the whole database, including all configuration and gathered data.

To create the backup, run:

sudo mysqldump zabbix | bzip2 -9 > dbdump.bz2

Now you can transfer the dbdump.bz2 file to another machine.

To restore from the backup, transfer it to the appliance and execute:

bzcat dbdump.bz2 | sudo mysql zabbix

Make sure that Zabbix server is stopped while performing the restore.

3 Frontend access

Access to frontend by default is allowed from everywhere.

The frontend can be accessed http://<host>/zabbix.

This can be customised in /etc/apache2/conf-available/zabbix.conf. You have to restart the webserver after modifying this file. To do so, log in using SSH as root user and execute:

service apache2 restart

4 Firewall

By default, only the ports listed in changes are open. To open additional ports just modify "/etc/iptables/rules.v4" or "/etc/iptables/rules.v6" files and reload firewall rules:

service iptables-persistent reload

5 Monitoring capabilities

Zabbix installation is provided with the support for the following:

  • SNMP
  • IPMI
  • Web monitoring
  • VMware monitoring
  • Jabber notifications
  • EZ Texting notifications
  • ODBC
  • SSH2
  • IPv6
  • SNMP Traps
  • Zabbix Java Gateway

6 SNMP traps

Zabbix appliance uses snmptrapfmt to handle SNMP traps. It is configured to receive all traps from everywhere.

Authentication is not required. If you would like to enable authentication, you need to change the /etc/snmp/snmptrapd.conf file and specify required auth settings.

All traps are stored in the /var/log/zabbix/snmptrapfmt.log file. It is rotated by logrotate before reaching 2GB file size.

7 Upgrading

The appliance Zabbix packages may be upgraded. To do so, run:

sudo apt install --only-upgrade 'zabbix.*'

8 Naming, init and other scripts

Appropriate init scripts are provided. To control Zabbix server, use any of these:

service zabbix-server status

Replace server with agent for Zabbix agent daemon or with proxy for Zabbix proxy daemon.

8.1 Increasing available diskspace

Create a backup of all data before attempting any of the steps.

Available diskspace on the appliance might not be sufficient. In that case it is possible to expand the disk. To do so, first expand the block device in your virtualization environment, then follow these steps.

Start fdisk to change the partition size. As root, execute:

fdisk /dev/sda

This will start fdisk on disk sda. Next, switch to sectors by issuing:

u

Don't disable DOS compatibility mode by entering c. Proceeding with it disabled will damage the partition.

Then delete the existing partition and create a new one with the desired size. In the majority of cases you will accept the available maximum, which will expand the filesystem to whatever size you made available for the virtual disk. To do so, enter the following sequence in fdisk prompt:

d
       n
       p
       1
       (accept default 63)
       (accept default max)

If you wish to leave some space for additional partitions (swap etc), you can enter another value for last sector. When done, save the changes by issuing:

w

After partition creation (new disk or extended existing) create physical volume:

pvcreate /dev/sdb1

Partition name /dev/sdb1 is used in the example; in your case disk name and partition number could be different. You can check partition number using fdisk -l /dev/sdb command.

Check newly created physical volume:

pvdisplay /dev/sdb1

Check available physical volumes. There must be 2 volumes zabbix-vg and newly created:

pvs

Extend your existing volume group with the newly created physical volume:

vgextend zabbix-vg /dev/sdb1

Check "zabbix-vg" volume group:

vgdisplay

Now extend your logical volume with the free PE space:

lvextend -l +100%FREE /dev/mapper/zabbix--vg-root

Resize your root volume (can be done on a live sysyem):

resize2fs /dev/mapper/zabbix--vg-root

Reboot the virtual machine (as the partition we modified is in use currently). That's it, filesystem should be grown to the partition size now. Check "/dev/mapper/zabbix--vg-root" volume:

df -h

9 Format-specific notes

9.1 Xen

Converting image for XenServer

To use Xen images with Citrix Xenserver you have to convert the disk image. To do so:

  • Create a virtual disk, which is at least as large as the image
  • Find out the UUID for this disk
xe vdi-list params=all
  • If there are lots of disks, they can be filtered by the name parameter name-label, as assigned when creating the virtual disk
  • Import the image
xe vdi-import filename="image.raw" uuid="<UUID>"

Instructions from Brian Radford blog.

9.2 VMware

The images in vmdk format are usable directly in VMware Player, Server and Workstation products. For use in ESX, ESXi and vSphere they must be converted using VMware converter.

9.3 HDD/flash image (raw)
dd if=./zabbix_appliance_3.4.0_x86_64.raw of=/dev/sdc bs=4k conv=fdatasync

Replace /dev/sdc with your Flash/HDD disk device.

10 Known issues