macOS by Zabbix agent
Macros used
| Name | Value |
|---|---|
| {$AGENT.TIMEOUT} | 3m |
Items collected
| Name | Description | Type | Interval | Key and additional info |
|---|---|---|---|---|
| macOS: Host name of Zabbix agent running | - | - | 1h | agent.hostname |
| macOS: Zabbix agent ping | The agent always returns 1 for this item. It could be used in combination with nodata() for the availability check. | - | - | agent.ping |
| macOS: Version of Zabbix agent running | - | - | 1h | agent.version |
| macOS: Maximum number of opened files | It could be increased by using sysctl utility or modifying the file /etc/sysctl.conf. | - | 1h | kernel.maxfiles |
| macOS: Maximum number of processes | It could be increased by using sysctl utility or modifying the file /etc/sysctl.conf. | - | 1h | kernel.maxproc |
| macOS: Incoming network traffic on en0 | - | - | - | net.if.in[en0] |
| macOS: Outgoing network traffic on en0 | - | - | - | net.if.out[en0] |
| macOS: Host boot time | - | - | 10m | system.boottime |
| macOS: Processor load (1 min average per core) | The processor load is calculated as the system CPU load divided by the number of CPU cores. | - | - | system.cpu.load[percpu,avg1] |
| macOS: Processor load (5 min average per core) | The processor load is calculated as the system CPU load divided by the number of CPU cores. | - | - | system.cpu.load[percpu,avg5] |
| macOS: Processor load (15 min average per core) | The processor load is calculated as the system CPU load divided by the number of CPU cores. | - | - | system.cpu.load[percpu,avg15] |
| macOS: Host name | A host name of the system. | - | 1h | system.hostname |
| macOS: Host local time | - | - | - | system.localtime |
| macOS: System information | The information as normally returned by the 'uname -a'. | - | 1h | system.uname |
| macOS: System uptime | - | - | 10m | system.uptime |
| macOS: Number of logged in users | The number of users who are currently logged in. | - | - | system.users.num |
| macOS: Checksum of /etc/passwd | - | - | 15m | vfs.file.cksum[/etc/passwd,sha256] |
| macOS: Get filesystems | The vfs.fs.get key acquires raw information set about the file systems. Later to be extracted by preprocessing in dependent items. | - | - | vfs.fs.get |
| macOS: Available memory | The available memory is defined as free+cached+buffers memory. | - | - | vm.memory.size[available] |
| macOS: Total memory | - | - | 1h | vm.memory.size[total] |
| macOS: Zabbix agent availability | Monitoring the availability status of the agent. | INTERNAL | - | zabbix[host,agent,available] |
Triggers
| Name | Description | Expression | Priority | Dependencies |
|---|---|---|---|---|
| macOS: Configured max number of opened files is too low | - | last(/macOS by Zabbix agent/kernel.maxfiles)<1024 | INFO 🔔 | macOS: Maximum number of opened files |
| macOS: Configured max number of processes is too low | - | last(/macOS by Zabbix agent/kernel.maxproc)<256 | INFO 🔔 | macOS: Maximum number of processes |
| macOS: Processor load is too high | - | avg(/macOS by Zabbix agent/system.cpu.load[percpu,avg1],5m)>5 | WARNING 📢 | macOS: Processor load (1 min average per core) |
| macOS: Hostname was changed | - | last(/macOS by Zabbix agent/system.hostname,#1)<>last(/macOS by Zabbix agent/system.hostname,#2) | INFO 🔔 | macOS: Host name |
| macOS: Host information was changed | - | last(/macOS by Zabbix agent/system.uname,#1)<>last(/macOS by Zabbix agent/system.uname,#2) | INFO 🔔 | macOS: System information |
| macOS: Server has just been restarted | - | change(/macOS by Zabbix agent/system.uptime)<0 | INFO 🔔 | macOS: System uptime |
| macOS: /etc/passwd has been changed | - | last(/macOS by Zabbix agent/vfs.file.cksum[/etc/passwd,sha256],#1)<>last(/macOS by Zabbix agent/vfs.file.cksum[/etc/passwd,sha256],#2) | WARNING 📢 | macOS: Checksum of /etc/passwd |
| macOS: Lack of available memory on server | - | last(/macOS by Zabbix agent/vm.memory.size[available])<20M | AVERAGE ⚠ | macOS: Available memory |
| macOS: 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(/macOS by Zabbix agent/zabbix[host,agent,available],{$AGENT.TIMEOUT})=0 | AVERAGE ⚠ | macOS: Zabbix agent availability |
Discovery rule №1
| Name | Description | Type | Interval | 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". Note that the option to exclude dmg software images from discovery is available only with Zabbix agents 6.4 and higher. | DEPENDENT | 0 | vfs.fs.dependent.discovery |
Item prototypes
| Name | Description | Type | Interval | Key and additional info |
|---|---|---|---|---|
| {#FSNAME}: Free inodes, % | - | DEPENDENT | - | vfs.fs.dependent.inode[{#FSNAME},pfree] |
| {#FSNAME}: Free disk space | - | DEPENDENT | - | vfs.fs.dependent.size[{#FSNAME},free] |
| {#FSNAME}: Free disk space, % | - | DEPENDENT | - | vfs.fs.dependent.size[{#FSNAME},pfree] |
| {#FSNAME}: Total disk space | - | DEPENDENT | - | vfs.fs.dependent.size[{#FSNAME},total] |
| {#FSNAME}: Used disk space | - | DEPENDENT | - | vfs.fs.dependent.size[{#FSNAME},used] |
| {#FSNAME}: Get filesystem data | - | DEPENDENT | - | vfs.fs.dependent[{#FSNAME},data] |
Trigger prototypes
| Name | Description | Expression | Priority | Dependencies |
|---|---|---|---|---|
| {#FSNAME}: Free inodes is less than 20% | - | last(/macOS by Zabbix agent/vfs.fs.dependent.inode[{#FSNAME},pfree])<20 | WARNING 📢 | {#FSNAME}: Free inodes, % |
| {#FSNAME}: Free disk space is less than 20% | - | last(/macOS by Zabbix agent/vfs.fs.dependent.size[{#FSNAME},pfree])<20 | WARNING 📢 | {#FSNAME}: Free disk space, % |