Monitoring LVM Thin Volume Pool using Zabbix

From Notes_Wiki

Home > Debian > Proxmox virtual environment > Monitoring LVM Thin Volume Pool using Zabbix

We can Monitor LVM Thin Volume Pool using Zabbix custom script

Zabbix Agent Script and Configuration

Create a new script in zabbix folder

# nano /etc/zabbix/script.sh

Script

#!/bin/bash

# Get LVM thin pool usage
disk_usage=$(sudo lvdisplay -v /dev/ssdvg/ssdlv | grep "Allocated pool data" | awk '{print $4}' | tr -d '%')

# Output the numeric value
echo "$disk_usage"

# Check if usage exceeds threshold (e.g., 80%)
if (( $(echo "$disk_usage > 80" | bc -l) )); then
    exit 1
fi

exit 0

make the script executable and change owner to zabbix user

# chmod +x /etc/zabbix/script.sh

# chown -R zabbix:zabbix /etc/zabbix/script.sh

Install sudo package

# apt install sudo

Edit the configuration file

# nano /etc/zabbix/zabbix_agentd.conf

add the following lines at the bottom in the following positions

### Option: EnableRemoteCommands - Deprecated, use AllowKey=system.run[*] or DenyKey=system.run[*] instead
 AllowKey=system.run[*]

### Option: UnsafeUserParameters
 UnsafeUserParameters=1

### Option: UserParameter
 UserParameter=custom.script,/etc/zabbix/script.sh

Restart the service

# systemctl restart zabbix-agent

Add the zabbix user in sudoers file

# visudo
   
 zabbix  ALL=(ALL) NOPASSWD: /sbin/lvdisplay

Zabbix Web Interface (UI) Setup

  • Login as Admin to Zabbix web UI
    • Navigate to the host list in Zabbix for configuration.
  • Click on Host Name
    • Select the specific Proxmox host to monitor.
  • Select Items tab
    • Opens the interface to manage monitoring items for the selected host.
  • Create New Item (Top Right Button)
  • Set Item Name, Type, and Key
  • Example:
  Name: lvm-script
  Type: zabbix-agent
  Key: custom.script
  Type of Information: Numeric (float)
  Update Interval: 15m