assistanz
Assistanz

Installing Zabbix Agent in FreeBSD 12.0

Zabbix Agent Installation and Configuration Guide on FreeBSD 12.0

 

Zabbix is an open-source monitoring software tool for diverse IT components, including networks, servers, virtual machines (VMs) and cloud services. It provides monitoring metrics, among others network utilization, CPU load and disk space consumption. This monitoring configuration can be done using XML based templates which contain elements to monitor.

 

In this guide, we are going to see zabbix agent installation and it’s configuration in FreeBSD12.0 operating system. This guide will help many freebsd users to monitor their machines via zabbix monitoring system. Here we are going to install zabbix-agent v4.0.25 from different ways which are listed below,

 

Installing from ports collection

 

Before proceeding with installation, make sure that your ports tree collection is up to date by running the below command,

 

# portsnap update

Or

# portsnap fetch

# portsnap extract

 

Then, navigate to port directory “/usr/ports/net-mgmt/zabbix4-agent/” and run the command ‘make install’ to install only the agent.

 

Installing from packages

 

# pkg install zabbix4-agent

 

Above command will install the latest the version of package.

 

In both installation procedures, a zabbix user and a zabbix group will get created automatically. Once the installation completes, you can able to see the configuration files at /usr/local/etc/zabbix4 directory. If there is any problem in installing it via package distribution, directly download the binary file from the below git link and install it by using the below commands

 

# fetch https://gitlab.com/freebsd1/zabbix-agent/-/blob/master/zabbix4-agent-4.0.25.txz 

# pkg add zabbix4-agent-4.0.25.txz

 

Configuring Zabbix4-agent

After the installation is complete, next part is to configure the zabbix agent to communicate with the zabbix server and to enable the log file.

 

Here are the two things that will create at /usr/local/etc/zabbix4

  • conf.sample – Sample agent configuration file. From which zabbix agent configuration file can be copied from here or a new file can be created.
  • conf.d/ – It is a directory to store the custom user parameters required for the zabbix templates. But it has to be enabled in the configuration file as include parameter.

 

Main parameters required for zabbix agent configuration is listed below,

  • Server => Need to provide zabbix server IP along with subnet.
  • ServerActive => Need to provide zabbix server IP for active check.
  • LogFile => path for the zabbix agent log file.
  • HostnameItem=system.hostname => Don’t change the value for this parameter. This will use the system hostname as the hostname value when adding host in zabbix server.
  • Include => Enable this parameter with the value *.conf , so that custom user parameters can be mentioned in that conf file.
  • Timeout => It is optional. If you are using any scripts to get the values for key item then it should be enabled. By default timeout is 3 seconds for processing scripts.

Example values are listed below:

 

LogFile=/var/log/zabbix_agentd.log

Server=x.x.x.x/24

ServerActive=x.x.x.x

HostnameItem=system.hostname

Include=/usr/local/etc/zabbix4/zabbix_agentd.conf.d/*.conf

Timeout=20

 

Now to start the zabbix agent service, issue the below command in the terminal and to start the service automatically at the boot time,

 

# sysrc zabbix_agentd_enable=YES

# service zabbix_agentd start

 

Note: If you want to run the agent service as a zabbix user, change the user and group ownership to zabbix for /usr/local/etc/zabbix4 . Also, change ownership for the log file too.

 

From different git sources, I have collected useful zabbix templates for FreeBSD and also written a script to install the agent and to configure it automatically. To do so, clone this git repo and run the zabbix_agent.sh script to make your job simple.

 

  • IPv4 and IPv6 Statistics

By using this template, can monitor the ipv4 and ipv6 network statistics report in a graphical format.

 

Template File => FreeBSD_IP_statistics.xml

Conf File          => IP_Stats.conf

 

Source: https://share.zabbix.com/operating-systems/freebsd/ip-utilisation

 

  • Disk Statistics

By using this template, we can monitor all the disks utilization and the read/write speed in a graphical format.

 

Template File    => iostat-template.xml

Conf File             => iostat.conf

External scripts => iostat-collect.sh , iostat-parse.sh

 

Source: https://github.com/zzzevaka/zabbix-freebsd-iostat

 

  • ZFS Statistics

By using this template, we can monitor the zfs dataset usage, vdev errors, read and write and zpool usage & health status in a graphical format.

 

Template File     => zfs_template.xml

Conf File             => zfs.conf

External scripts => zpool_health.sh

 

Source: https://share.zabbix.com/operating-systems/linux/zfs-on-linux

Note: Additionally added an external script which helps to display the pool health status in the graph.

 

Download the template files along with the zabbix agent binary file from this git repo https://gitlab.com/freebsd1/zabbix-agent . There is an installation script ‘zabbix_agent_install.sh’ to make the user job easier in installing and configuring the agent. Please go through the README file for the installation instructions.

 

Below steps are to be followed in Zabbix web interface in order to do the following:

  1. Importing Templates.
  2. Creating/Adding a New Host.
  3. Link a Template to the Host.

Let’s see the above topics in detail

 

Importing Templates

 

All the templates provided in the git link can be imported to the zabbix server by navigating to the following menu,

 

Configuration  ->  Templates  ->  Click ‘Import’ Button

 

Then choose the template file and click import.

 

Creating/Adding a New Host

 

To do this, navigate to the menu,

Configuration  ->  Hosts  -> Create Host .

 

Here in Hostname field, should provide system hostname, in groups field can provide anything, also you can create your own group and in agent interface field should provide the IP address of the host and then click ‘Add’ button.

zabbix_adding host

Link a Template to the Host

 

Once the host is added, can link the one or more templates to that host at,

Configuration  -> Hosts  -> Click the Added New Host (host.example.com)  -> Templates

 

Here type the template name ‘iostat-freebsd’ in the ‘Link New Templates’ field, select and add that template which should be displayed in ‘Linked Templates’ section as shown below and then click ‘Update’.

For zfs template, there are some more things to be configured in the web interface like creating ‘Regular Expressions’ and ‘Value Mapping’.  Create the new regular expressions as shown below:

Create Regular Expression

 

Navigate to Administration  ->  General  -> Regular Expressions(choose from the dropdown) and have to create two regular expressions as shown in the below pics,

 

“ZFS fileset”

Expression type: Character string included

Expression: /

“not docker ZFS dataset”

Expression type: Result is FALSE

Expression: ([a-z-0-9]{64}$|[a-z-0-9]{64}-init$)

 

Create Value Mapping

Navigate to Administration  ->  General  -> Value Mapping(choose from the dropdown) and have to create two value mapping as shown in the below pics,

 

Once everything is done and depending on the zabbix templates added, after few minutes host information will get collected and can be viewed at,

Monitoring  -> Graphs

If there is any error in the vdev or if the pool is not online, you can see the alert generated at the Dashboard and the dashboard view can be edited according to the user need.

 

DirectAdmin Server Management Plans

Premium Support

24/7 End User Support from your Helpdesk
$ 99 Monthly / Server
  • Unlimited Support Plan
  • 24/7 Emergency Phone
  • Chat Support for Admin
  • Separate Account Manager
  • NDA & SLA
  • SLA Review Meetings
  • FREE Consultancy Services
  • Simple SignUp Process
  • Instant Account Activation
  •  

Platinum Support

24/7 Proactive Support
$ 49 Monthly / Server
  • Unlimited Support Plan
  • 24/7 Emergency Phone
  • Chat Support for Admin
  • Separate Account Manager
  • Advance Proactive Monitoring
  • Guaranteed SLA
  • SLA Review Meetings
  • 3rd Party Application Support
  • FREE Consultancy Services
  • Server Migration Support
  • Weekly Status Report
  • No End User Support
Popular

Unlimited Support

24/7 Support

$ 30 Monthly / Server
  • Unlimited Support Plan
  • 24/7 Support
  • Basic Monitoring
  • 30 Minutes Response Time
  • 4 Hours Resolution time for the Possible Issues
  • Security and Performance Optimization
  • React to Customers queries
  • Simple SignUp Process
  • Instant Account Activation
  • No Third party application support
  • No Migration and End User Support

Cpanel Server Management Plans

Premium Support

24/7 End User Support from your Helpdesk

$ 99 Monthly / Server
  • 24/7 End User White Label Support
  • Unlimited Number of Tickets
  • Chat Support for Admin
  • Separate Account Manager
  • Guaranteed SLA
  • Weekly Status Reports
  • FREE Consultancy Services
  • Simple SignUp Process
  • Instant Account Activation

Platinum Support

24/7 Proactive Server Management
$ 49 Monthly / Server
  • Unlimited Support Plan
  • 24/7 Emergency Phone
  • Chat Support for Admin
  • Separate Account Manager
  • Advance Proactive Monitoring
  • Guaranteed SLA
  • SLA Review Meetings
  • 3rd Party Application Support
  • FREE Consultancy Services
  • Server Migration Support
  • Weekly Status Report
  • No End User Support
Popular

Unlimited Support

24/7 Server Management

$ 29 Monthly / Server
  • Unlimited Admin Tasks
  • 24/7 Support
  • Basic Monitoring
  • 30 Minutes Response time
  • 4 hours Response time for possible issues
  • Security and Performance Optimization
  • React to Customers queries
  • No Third party application support
  • No Migration and End User Support

Cpanel Server Management Plans

Premium Support

24/7 End User Support from your Helpdesk

$ 99 Monthly / Server
  • 24/7 End User White Label Support
  • Unlimited Number of Tickets
  • Chat Support for Admin
  • Separate Account Manager
  • Guaranteed SLA
  • Weekly Status Reports
  • FREE Consultancy Services
  • Simple SignUp Process
  • Instant Account Activation

Platinum Support

24/7 Proactive Server Management
$ 49 Monthly / Server
  • Unlimited Support Plan
  • 24/7 Emergency Phone
  • Chat Support for Admin
  • Separate Account Manager
  • Advance Proactive Monitoring
  • Guaranteed SLA
  • SLA Review Meetings
  • 3rd Party Application Support
  • FREE Consultancy Services
  • Server Migration Support
  • Weekly Status Report
  • No End User Support
Popular

Unlimited Support

24/7 Server Management

$ 29 Monthly / Server
  • Unlimited Admin Tasks
  • 24/7 Support
  • Basic Monitoring
  • 30 Minutes Response time
  • 4 hours Response time for possible issues
  • Security and Performance Optimization
  • React to Customers queries
  • No Third party application support
  • No Migration and End User Support