Skip to content

Instantly share code, notes, and snippets.

@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 / Template_SNMP_DELL_OpenManage.xml
Last active March 8, 2018 18:42
Zabbix SNMP monitoring template for DELL Openmanage Server Administrator
<?xml version="1.0" encoding="UTF-8"?>
<zabbix_export>
<version>2.0</version>
<date>2014-06-18T02:56:36Z</date>
<groups>
<group>
<name>Templates</name>
</group>
</groups>
<templates>
@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 / 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 / zabbix_custom_template_for_TCP_stats.xml
Created February 25, 2015 04:15
Custom Template - OS Linux TCP stats
<?xml version="1.0" encoding="UTF-8"?>
<zabbix_export>
<version>2.0</version>
<date>2015-02-25T04:14:42Z</date>
<groups>
<group>
<name>Custom Templates</name>
</group>
</groups>
<templates>
@alice-xu
alice-xu / zabbix_custom_template_for_OpenVPN.xml
Last active February 24, 2016 20:29
Custom Template - OpenVPN for Zabbix
<?xml version="1.0" encoding="UTF-8"?>
<zabbix_export>
<version>2.0</version>
<date>2014-06-29T06:40:14Z</date>
<groups>
<group>
<name>Custom Templates</name>
</group>
<group>
<name>OpenVPN clients</name>
@alice-xu
alice-xu / tcp_stats.sh
Created February 25, 2015 03:47
TCP state monitoring script for Zabbix
#!/usr/bin/env bash
#
# tcp_stats.sh:
# TCP state monitoring script for Zabbix
#
POLLING_TIME=$( date '+%s' )
NETSTAT_TCP_RESULT=$( netstat -na|grep '^tcp' )
if [ $? -ne 0 ]; then
@alice-xu
alice-xu / tcp_listen_port_discovery.sh
Created July 30, 2014 06:43
TCP listen port discovery for Zabbix LLD
#!/usr/bin/env bash
PROCNAME="$1"
PORT_LIST=$(ss -nap|grep LISTEN|grep \"${PROCNAME}\" \
|awk '{ print $4 }'|sed -e 's/.*://g'|sort|uniq)
[ -z "${PORT_LIST}" ] && echo ZBX_NOTSUPPORTED && exit 1
{
echo "{"
echo " \"data\":["
for PORT in ${PORT_LIST}; do
@alice-xu
alice-xu / get_system_uuid.sh
Created July 1, 2014 04:01
Get system uuid on Virtual Machine
#!/usr/bin/env bash
SYSTEM_UUID=$( cat /sys/devices/virtual/dmi/id/product_uuid 2> /dev/null | tr 'A-Z' 'a-z' \
|| cat /sys/hypervisor/uuid 2> /dev/null | tr 'A-Z' 'a-z' )
[ -z "${SYSTEM_UUID}" ] && SYSTEM_UUID='00000000-0000-0000-0000-000000000000'
echo ${SYSTEM_UUID}
@alice-xu
alice-xu / memcached_stats.sh
Created July 1, 2014 02:46
Memcached monitoring script for Zabbix
#!/usr/bin/env bash
#
# memcached_stats.sh:
# Memcached monitoring script for Zabbix
#
# $1: Memcached host(default: 127.0.0.1)
# $2: Memcached port(default: 11211)
# $3: Timeout(default: 3[sec])
#