Skip to content

Instantly share code, notes, and snippets.

@alice-xu
alice-xu / openvpn_client_discovery.sh
Created June 16, 2014 01:24
OpenVPN client config discovery for Zabbix LLD
#!/usr/bin/env bash
VPN_SERVER=$( hostname --fqdn )
CLIENT_CONFIG_DIR="$1"
[ -z "${CLIENT_CONFIG_DIR}" ] && CLIENT_CONFIG_DIR='/etc/openvpn/ccd'
{
echo "{"
echo " \"data\":["
for line in $( ls -1 "${CLIENT_CONFIG_DIR}" 2> /dev/null ); do
@alice-xu
alice-xu / virsh_vm_discovery.sh
Last active August 29, 2015 14:02
virsh VM discovery script for Zabbix Low Level Discovery
#!/usr/bin/env bash
#
# virsh_vm_discovery.sh:
# Virtual Machine discovery script for Zabbix
#
export LANG=en_US.UTF-8
HV_NAME=$( hostname --fqdn )
VMLIST=$( virsh list --all|tail -n +3|awk '{ print $2 }' )
@alice-xu
alice-xu / openvpn_stats.sh
Last active June 10, 2017 16:31
OpenVPN monitoring script for Zabbix
#!/usr/bin/env bash
#
# openvpn_stats.sh:
# OpenVPN monitoring script for Zabbix
#
# $1: OpenVPN server host IP/hostname. (default: 127.0.0.1)
# $2: OpenVPN management CLI port. (default: 7505)
# $3: Password file for OpenVPN management CLI. (default: <none>)
# $4: Timeout(sec) (default: 3)
#
@alice-xu
alice-xu / vfs_fs_discovery.sh
Created May 24, 2014 04:44
Custom script for script.vfs.fs.discovery on my Zabbix.
#!/bin/env bash
{
echo "{"
echo " \"data\":["
while read -r line; do
FSNAME=$(echo $line|awk '{print $2}'|sed -e 's/\\/\\\\/g' -e 's|/|\\/|g')
FSTYPE=$(echo $line|awk '{print $3}')
FSDEV=$(echo $line|awk '{print $1}'|sed -e 's/\\/\\\\/g' -e 's|/|\\/|g')
BDNAME=$( \
@alice-xu
alice-xu / zbx_functions
Last active August 29, 2015 14:01
zbx_functions: Bash functions for Zabbix monitoring
export PATH='/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin'
# Read Zabbix agent config.
ZABBIX_AGENTD_CONF='/etc/zabbix/zabbix_agentd.conf'
ZABBIX_SERVERS=$( grep -v '^#' "${ZABBIX_AGENTD_CONF}" \
| grep ServerActive \
| sed -e 's/\s//g' -e 's/ServerActive=//g' -e 's/,/ /g' )
ZABBIX_SERVER_DEFAULTPORT=10051
MY_HOSTNAME=$( zabbix_agentd -t agent.hostname|cut -d'|' -f2-|sed -e 's/]$//' )