OpenBSD

OpenBSD is a security-focused, free and open-source, Unix-like operating system based on the Berkeley Software Distribution. Theo de Raadt created OpenBSD in 1995 by forking NetBSD.

Available solutions




This template is for Zabbix version: 6.4
Also available for: 6.2 6.0

Source: https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/os/openbsd?at=release/6.4

OpenBSD by Zabbix agent

Overview

It is an Official OpenBSD template. It requires Zabbix agent 6.4 or newer.

Requirements

Zabbix version: 6.4 and higher.

Tested versions

This template has been tested on:

  • OpenBSD

Configuration

Zabbix should be configured according to the instructions in the Templates out of the box section.

Setup

Install Zabbix agent on OpenBSD according to Zabbix documentation.

Macros used

Name Description Default
{$AGENT.TIMEOUT}

The timeout after which the agent is considered unavailable. It works only for the agents reachable from Zabbix server/proxy (in passive mode).

3m

Items

Name Description Type Key and additional info
OpenBSD: Maximum number of opened files

It could be increased by using the sysctl utility or modifying the file /etc/sysctl.conf.

Zabbix agent kernel.maxfiles
OpenBSD: Maximum number of processes

It could be increased by using the sysctl utility or modifying the file /etc/sysctl.conf.

Zabbix agent kernel.maxproc
OpenBSD: Number of running processes

The number of processes in a running state.

Zabbix agent proc.num[,,run]
OpenBSD: Number of processes

The total number of processes in any state.

Zabbix agent proc.num[]
OpenBSD: Host boot time Zabbix agent system.boottime
OpenBSD: Interrupts per second Zabbix agent system.cpu.intr

Preprocessing

  • Change per second:
OpenBSD: Processor load (1 min average per core)

The processor load is calculated as the system CPU load divided by the number of CPU cores.

Zabbix agent system.cpu.load[percpu,avg1]
OpenBSD: Processor load (5 min average per core)

The processor load is calculated as the system CPU load divided by the number of CPU cores.

Zabbix agent system.cpu.load[percpu,avg5]
OpenBSD: Processor load (15 min average per core)

The processor load is calculated as the system CPU load divided by the number of CPU cores.

Zabbix agent system.cpu.load[percpu,avg15]
OpenBSD: Context switches per second Zabbix agent system.cpu.switches

Preprocessing

  • Change per second:
OpenBSD: CPU idle time

The time the CPU has spent doing nothing.

Zabbix agent system.cpu.util[,idle]
OpenBSD: CPU interrupt time

The amount of time the CPU has been servicing hardware interrupts.

Zabbix agent system.cpu.util[,interrupt]
OpenBSD: CPU nice time

The time the CPU has spent running users' processes that have been niced.

Zabbix agent system.cpu.util[,nice]
OpenBSD: CPU system time

The time the CPU has spent running the kernel and its processes.

Zabbix agent system.cpu.util[,system]
OpenBSD: CPU user time

The time the CPU has spent running users' processes that are not niced.

Zabbix agent system.cpu.util[,user]
OpenBSD: Host name

A host name of the system.

Zabbix agent system.hostname

Preprocessing

  • Discard unchanged with heartbeat: 1d

OpenBSD: Host local time Zabbix agent system.localtime
OpenBSD: Free swap space Zabbix agent system.swap.size[,free]
OpenBSD: Free swap space in % Zabbix agent system.swap.size[,pfree]
OpenBSD: Total swap space Zabbix agent system.swap.size[,total]
OpenBSD: System information

The information as normally returned by the 'uname -a'.

Zabbix agent system.uname

Preprocessing

  • Discard unchanged with heartbeat: 1d

OpenBSD: System uptime Zabbix agent system.uptime
OpenBSD: Number of logged in users

The number of users who are currently logged in.

Zabbix agent system.users.num
OpenBSD: Checksum of /etc/passwd Zabbix agent vfs.file.cksum[/etc/passwd,sha256]

Preprocessing

  • Discard unchanged with heartbeat: 1h

OpenBSD: Available memory

The available memory is defined as free+cached+buffers memory.

Zabbix agent vm.memory.size[available]
OpenBSD: Total memory Zabbix agent vm.memory.size[total]
OpenBSD: Version of Zabbix agent running Zabbix agent agent.version

Preprocessing

  • Discard unchanged with heartbeat: 1d

OpenBSD: Host name of Zabbix agent running Zabbix agent agent.hostname

Preprocessing

  • Discard unchanged with heartbeat: 1d

OpenBSD: Zabbix agent ping

The agent always returns 1 for this item. It could be used in combination with nodata() for the availability check.

Zabbix agent agent.ping
OpenBSD: Zabbix agent availability

Monitoring the availability status of the agent.

Zabbix internal zabbix[host,agent,available]
OpenBSD: Get filesystems

The vfs.fs.get key acquires raw information set about the file systems. Later to be extracted by preprocessing in dependent items.

Zabbix agent vfs.fs.get

Triggers

Name Description Expression Severity Dependencies and additional info
OpenBSD: Configured max number of opened files is too low on {HOST.NAME} last(/OpenBSD by Zabbix agent/kernel.maxfiles)<1024 Info
OpenBSD: Configured max number of processes is too low on {HOST.NAME} last(/OpenBSD by Zabbix agent/kernel.maxproc)<256 Info
OpenBSD: Too many processes running on {HOST.NAME} avg(/OpenBSD by Zabbix agent/proc.num[,,run],5m)>30 Warning
OpenBSD: Too many processes on {HOST.NAME} avg(/OpenBSD by Zabbix agent/proc.num[],5m)>300 Warning
OpenBSD: Processor load is too high on {HOST.NAME} avg(/OpenBSD by Zabbix agent/system.cpu.load[percpu,avg1],5m)>5 Warning
OpenBSD: Hostname was changed on {HOST.NAME} last(/OpenBSD by Zabbix agent/system.hostname,#1)<>last(/OpenBSD by Zabbix agent/system.hostname,#2) Info
OpenBSD: Lack of free swap space on {HOST.NAME}

It probably means that the systems requires more physical memory.

last(/OpenBSD by Zabbix agent/system.swap.size[,pfree])<50 Warning
OpenBSD: Host information was changed on {HOST.NAME} last(/OpenBSD by Zabbix agent/system.uname,#1)<>last(/OpenBSD by Zabbix agent/system.uname,#2) Info
OpenBSD: {HOST.NAME} has just been restarted change(/OpenBSD by Zabbix agent/system.uptime)<0 Info
OpenBSD: /etc/passwd has been changed on {HOST.NAME} last(/OpenBSD by Zabbix agent/vfs.file.cksum[/etc/passwd,sha256],#1)<>last(/OpenBSD by Zabbix agent/vfs.file.cksum[/etc/passwd,sha256],#2) Warning
OpenBSD: Lack of available memory on server {HOST.NAME} last(/OpenBSD by Zabbix agent/vm.memory.size[available])<20M Average
OpenBSD: Zabbix agent is not available

For passive checks only the availability of the agents and a host is used with {$AGENT.TIMEOUT} as the time threshold.

max(/OpenBSD 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

The discovery of network interfaces as defined in the global regular expression "Network interfaces for discovery".

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

  • Change per second:
  • Custom multiplier: 8

Interface {#IFNAME}: Outgoing network traffic Zabbix agent net.if.out[{#IFNAME}]

Preprocessing

  • Change per second:
  • Custom multiplier: 8

LLD rule Mounted filesystem discovery

Name Description Type Key and additional info
Mounted filesystem discovery

Discovery of different types of file systems as defined in the global regular expression "File systems for discovery".

Dependent item vfs.fs.dependent.discovery

Item prototypes for Mounted filesystem discovery

Name Description Type Key and additional info
{#FSNAME}: Get filesystem data Dependent item vfs.fs.dependent[{#FSNAME},data]

Preprocessing

  • JSON Path: $.[?(@.fsname=='{#FSNAME}')].first()

{#FSNAME}: Filesystem is 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

  • JSON Path: $.options

    ⛔️Custom on fail: Discard value

  • Regular expression: `(?:^

{#FSNAME}: Free inodes, % Dependent item vfs.fs.dependent.inode[{#FSNAME},pfree]

Preprocessing

  • JSON Path: $.inodes.pfree

{#FSNAME}: Free disk space Dependent item vfs.fs.dependent.size[{#FSNAME},free]

Preprocessing

  • JSON Path: $.bytes.free

{#FSNAME}: Free disk space, % Dependent item vfs.fs.dependent.size[{#FSNAME},pfree]

Preprocessing

  • JSON Path: $.bytes.pfree

{#FSNAME}: Total disk space Dependent item vfs.fs.dependent.size[{#FSNAME},total]

Preprocessing

  • JSON Path: $.bytes.total

{#FSNAME}: Used disk space Dependent item vfs.fs.dependent.size[{#FSNAME},used]

Preprocessing

  • JSON Path: $.bytes.used

Trigger prototypes for Mounted filesystem discovery

Name Description Expression Severity Dependencies and additional info
{#FSNAME}: Filesystem has become read-only

The filesystem has become read-only. A possible reason is an I/O error. It is available only for Zabbix agents 6.4 and higher.

last(/OpenBSD by Zabbix agent/vfs.fs.dependent[{#FSNAME},readonly],#2)=0 and last(/OpenBSD by Zabbix agent/vfs.fs.dependent[{#FSNAME},readonly])=1 Average Manual close: Yes
{#FSNAME}: Free inodes is less than 20% last(/OpenBSD by Zabbix agent/vfs.fs.dependent.inode[{#FSNAME},pfree])<20 Warning
{#FSNAME}: Free disk space is less than 20% last(/OpenBSD by Zabbix agent/vfs.fs.dependent.size[{#FSNAME},pfree])<20 Warning

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

Articles and documentation

+ Propose new article

Не нашли то, что искали?