Source: https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/os/freebsd?at=release/7.4
FreeBSD by Zabbix agent
Overview
This is an official FreeBSD template. It requires Zabbix agent 7.4 or newer.
Notes on filesystem (FS) discovery:
- The ext4/3/2 FS reserves space for privileged usage, typically set at 5% by default.
- BTRFS allocates a default of 10% of the volume for its own needs.
- To mitigate potential disasters, FS usage triggers are based on the maximum available space.
- Utilization formula:
pused = 100 - 100 * (available / total - free + available)
- Utilization formula:
- The FS utilization chart, derived from graph prototypes, reflects FS reserved space as the difference between used and available space from the total volume.
Requirements
Zabbix version: 7.4 and higher.
Tested versions
This template has been tested on:
- FreeBSD
Configuration
Zabbix should be configured according to the instructions in the Templates out of the box section.
Setup
Install Zabbix agent on FreeBSD according to Zabbix documentation.
Macros used
| Name | Description | Default |
|---|---|---|
| {$AGENT.TIMEOUT} | Timeout after which the agent is considered unavailable. Works only for agents reachable from Zabbix server/proxy (in passive mode). |
3m |
| {$VFS.FS.FSNAME.NOT_MATCHES} | Used for filesystem discovery. Can be overridden on the host or linked template level. |
^(/dev|/sys|/run|/proc|.+/shm$) |
| {$VFS.FS.FSNAME.MATCHES} | Used for filesystem discovery. Can be overridden on the host or linked template level. |
.+ |
| {$VFS.FS.FSTYPE.MATCHES} | Used for filesystem discovery. Can be overridden on the host or linked template level. |
Macro too long. Please see the template. |
| {$VFS.FS.FSTYPE.NOT_MATCHES} | Used for filesystem discovery. Can be overridden on the host or linked template level. |
^\s$ |
| {$VFS.FS.INODE.PFREE.MIN.CRIT} | The critical threshold of the filesystem metadata utilization. |
10 |
| {$VFS.FS.INODE.PFREE.MIN.WARN} | The warning threshold of the filesystem metadata utilization. |
20 |
| {$VFS.FS.PUSED.MAX.CRIT} | The critical threshold of the filesystem utilization. |
90 |
| {$VFS.FS.PUSED.MAX.WARN} | The warning threshold of the filesystem utilization. |
80 |
Items
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Maximum number of opened files | May be increased by using the |
Zabbix agent | kernel.maxfiles |
| Maximum number of processes | May be increased by using the |
Zabbix agent | kernel.maxproc |
| Number of running processes | Number of processes in a running state. |
Zabbix agent | proc.num[,,run] |
| Number of processes | Total number of processes in any state. |
Zabbix agent | proc.num[] |
| Host boot time | Zabbix agent | system.boottime | |
| Interrupts per second | Number of interrupts processed. |
Zabbix agent | system.cpu.intr Preprocessing
|
| Processor load (1 min average per core) | Calculated as the system CPU load divided by the number of CPU cores. |
Zabbix agent | system.cpu.load[percpu,avg1] |
| Processor load (5 min average per core) | Calculated as the system CPU load divided by the number of CPU cores. |
Zabbix agent | system.cpu.load[percpu,avg5] |
| Processor load (15 min average per core) | Calculated as the system CPU load divided by the number of CPU cores. |
Zabbix agent | system.cpu.load[percpu,avg15] |
| Context switches per second | The combined rate at which all processors on the computer are switched from one thread to another. |
Zabbix agent | system.cpu.switches Preprocessing
|
| CPU idle time | Time the CPU has spent doing nothing. |
Zabbix agent | system.cpu.util[,idle] |
| CPU interrupt time | Time the CPU has spent servicing hardware interrupts. |
Zabbix agent | system.cpu.util[,interrupt] |
| CPU nice time | Time the CPU has spent running users' processes that have been niced. |
Zabbix agent | system.cpu.util[,nice] |
| CPU system time | Time the CPU has spent running the kernel and its processes. |
Zabbix agent | system.cpu.util[,system] |
| CPU user time | Time the CPU has spent running users' processes that are not niced. |
Zabbix agent | system.cpu.util[,user] |
| Host name | The host name of the system. |
Zabbix agent | system.hostname Preprocessing
|
| Host local time | The local system time of the host. |
Zabbix agent | system.localtime |
| Free swap space | The free space of the swap volume/file expressed in bytes. |
Zabbix agent | system.swap.size[,free] |
| Free swap space in % | The free space of the swap volume/file expressed in %. |
Zabbix agent | system.swap.size[,pfree] |
| Total swap space | Total space of the swap volume/file expressed in bytes. |
Zabbix agent | system.swap.size[,total] |
| System information | Information as normally returned by |
Zabbix agent | system.uname Preprocessing
|
| System uptime | Zabbix agent | system.uptime | |
| Number of logged in users | The number of users who are currently logged in. |
Zabbix agent | system.users.num |
| Checksum of /etc/passwd | Zabbix agent | vfs.file.cksum[/etc/passwd,sha256] Preprocessing
|
|
| Available memory | Defined as free + cached + buffers. |
Zabbix agent | vm.memory.size[available] |
| Total memory | Total memory expressed in bytes. |
Zabbix agent | vm.memory.size[total] |
| Version of Zabbix agent running | Zabbix agent | agent.version Preprocessing
|
|
| Host name of Zabbix agent running | Zabbix agent | agent.hostname Preprocessing
|
|
| Zabbix agent ping | The agent always returns "1" for this item. May be used in combination with |
Zabbix agent | agent.ping |
| Zabbix agent availability | Used for monitoring the availability status of the agent. |
Zabbix internal | zabbix[host,agent,available] |
| Get filesystems | The |
Zabbix agent | vfs.fs.get |
Triggers
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| FreeBSD: Configured max number of opened files is too low on {HOST.NAME} | last(/FreeBSD by Zabbix agent/kernel.maxfiles)<1024 |
Info | ||
| FreeBSD: Configured max number of processes is too low on {HOST.NAME} | last(/FreeBSD by Zabbix agent/kernel.maxproc)<256 |
Info | ||
| FreeBSD: Too many processes running on {HOST.NAME} | avg(/FreeBSD by Zabbix agent/proc.num[,,run],5m)>30 |
Warning | ||
| FreeBSD: Too many processes on {HOST.NAME} | avg(/FreeBSD by Zabbix agent/proc.num[],5m)>300 |
Warning | ||
| FreeBSD: Processor load is too high on {HOST.NAME} | avg(/FreeBSD by Zabbix agent/system.cpu.load[percpu,avg1],5m)>5 |
Warning | ||
| FreeBSD: Hostname was changed on {HOST.NAME} | last(/FreeBSD by Zabbix agent/system.hostname,#1)<>last(/FreeBSD by Zabbix agent/system.hostname,#2) |
Info | ||
| FreeBSD: Lack of free swap space on {HOST.NAME} | The system might need more physical memory. |
last(/FreeBSD by Zabbix agent/system.swap.size[,pfree])<50 |
Warning | |
| FreeBSD: Host information was changed on {HOST.NAME} | last(/FreeBSD by Zabbix agent/system.uname,#1)<>last(/FreeBSD by Zabbix agent/system.uname,#2) |
Info | ||
| FreeBSD: {HOST.NAME} has just been restarted | change(/FreeBSD by Zabbix agent/system.uptime)<0 |
Info | ||
| FreeBSD: /etc/passwd has been changed on {HOST.NAME} | last(/FreeBSD by Zabbix agent/vfs.file.cksum[/etc/passwd,sha256],#1)<>last(/FreeBSD by Zabbix agent/vfs.file.cksum[/etc/passwd,sha256],#2) |
Warning | ||
| FreeBSD: Lack of available memory on server {HOST.NAME} | last(/FreeBSD by Zabbix agent/vm.memory.size[available])<20M |
Average | ||
| FreeBSD: Zabbix agent is not available | For passive checks only. The availability of the agent(s) and a host is used with |
max(/FreeBSD by Zabbix agent/zabbix[host,agent,available],{$AGENT.TIMEOUT})=0 |
Average | Manual close: Yes |
LLD rule Network interface discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Network interface discovery | Used for the discovery of network interfaces. |
Zabbix agent | net.if.discovery |
Item prototypes for Network interface discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Interface {#IFNAME}: Incoming network traffic | Zabbix agent | net.if.in[{#IFNAME}] Preprocessing
|
|
| Interface {#IFNAME}: Outgoing network traffic | Zabbix agent | net.if.out[{#IFNAME}] Preprocessing
|
LLD rule Mounted filesystem discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Mounted filesystem discovery | The discovery of mounted filesystems with different types. |
Dependent item | vfs.fs.dependent.discovery Preprocessing
|
Item prototypes for Mounted filesystem discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| FS [{#FSNAME}]: Get data | Intermediate data of |
Dependent item | vfs.fs.dependent[{#FSNAME},data] Preprocessing
|
| FS [{#FSNAME}]: Option: Read-only | The filesystem is mounted as read-only. It is available only for Zabbix agents 6.4 and higher. |
Dependent item | vfs.fs.dependent[{#FSNAME},readonly] Preprocessing
|
| FS [{#FSNAME}]: Inodes: Free, in % | Free metadata space expressed in %. |
Dependent item | vfs.fs.dependent.inode[{#FSNAME},pfree] Preprocessing
|
| FS [{#FSNAME}]: Space: Available | Available storage space expressed in bytes. |
Dependent item | vfs.fs.dependent.size[{#FSNAME},free] Preprocessing
|
| FS [{#FSNAME}]: Space: Available, in % | Deprecated metric. Space availability expressed as a percentage, calculated using the current and maximum available spaces. |
Dependent item | vfs.fs.dependent.size[{#FSNAME},pfree] Preprocessing
|
| FS [{#FSNAME}]: Space: Used, in % | Calculated as the percentage of currently used space compared to the maximum available space. |
Dependent item | vfs.fs.dependent.size[{#FSNAME},pused] Preprocessing
|
| FS [{#FSNAME}]: Space: Total | Total space expressed in bytes. |
Dependent item | vfs.fs.dependent.size[{#FSNAME},total] Preprocessing
|
| FS [{#FSNAME}]: Space: Used | Used storage expressed in bytes. |
Dependent item | vfs.fs.dependent.size[{#FSNAME},used] Preprocessing
|
Trigger prototypes for Mounted filesystem discovery
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| FreeBSD: FS [{#FSNAME}]: Filesystem has become read-only | The filesystem has become read-only, possibly due to an I/O error. Available only for Zabbix agents 6.4 and higher. |
last(/FreeBSD by Zabbix agent/vfs.fs.dependent[{#FSNAME},readonly],#2)=0 and last(/FreeBSD by Zabbix agent/vfs.fs.dependent[{#FSNAME},readonly])=1 |
Average | Manual close: Yes |
| FreeBSD: FS [{#FSNAME}]: Running out of free inodes | Disk writing may fail if index nodes are exhausted, leading to error messages like "No space left on device" or "Disk is full", despite available free space. |
min(/FreeBSD by Zabbix agent/vfs.fs.dependent.inode[{#FSNAME},pfree],5m)<{$VFS.FS.INODE.PFREE.MIN.CRIT:"{#FSNAME}"} |
Average | |
| FreeBSD: FS [{#FSNAME}]: Running out of free inodes | Disk writing may fail if index nodes are exhausted, leading to error messages like "No space left on device" or "Disk is full", despite available free space. |
min(/FreeBSD by Zabbix agent/vfs.fs.dependent.inode[{#FSNAME},pfree],5m)<{$VFS.FS.INODE.PFREE.MIN.WARN:"{#FSNAME}"} |
Warning | Depends on:
|
| FreeBSD: FS [{#FSNAME}]: Space is critically low | The volume's space usage exceeds the |
min(/FreeBSD by Zabbix agent/vfs.fs.dependent.size[{#FSNAME},pused],5m)>{$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"} |
Average | Manual close: Yes |
| FreeBSD: FS [{#FSNAME}]: Space is low | The volume's space usage exceeds the |
min(/FreeBSD by Zabbix agent/vfs.fs.dependent.size[{#FSNAME},pused],5m)>{$VFS.FS.PUSED.MAX.WARN:"{#FSNAME}"} |
Warning | Manual close: Yes Depends on:
|
Feedback
Please report any issues with the template at https://support.zabbix.com
You can also provide feedback, discuss the template, or ask for help at ZABBIX forums