Zabbix. Мониторинг резервного копирования Linux серверов.

Скрипты
Мониторинг резервного копирования серверов на Linux состоит из 2-х скриптов.

1. На сервере Zabbix 10.10.10.10 по cron в 7:00 ежедневно запускается скрипт /usr/local/bin/externalscripts/testBackup который монтирует хранилище backup 10.10.10.5 и проверяет размер созданных backup за последние 12 часов. Данные записывает в файл backupLogTest.log

#!/bin/bash 
#объявляем переменные                                                                     
CIFS_SHARE_PATH='/mnt' 
MNT_SERVER='10.10.10.5'
MNT_SERVER_PATH='/back'
CIFS_USER='back'
CIFS_PASSWORD='back'
DIR_SERV=(server1 server2 server3)
LOG_FILE=/usr/local/bin/externalscripts/backupLogTest.log
 
# монтируем хранилище с бэкапами
mount //$MNT_SERVER$MNT_SERVER_PATH $CIFS_SHARE_PATH -o user=$CIFS_USER,password=$CIFS_PASSWORD,rw,mode=0777 
# удаляем предыдущий log файл
rm $LOG_FILE 
 
#Проверяем был ли создан backup за последние 12 часов по каждому из списка серверов
for SER_NAME in ${DIR_SERV[@]}
 
do
    sizeF=`find $CIFS_SHARE_PATH/linux/$SER_NAME -type f -mmin  -720 -name "*.gz" -ls | cut -d " " -f 16`
        if [[ "$sizeF" = "" ]]
            then
            sizeF=0
        fi
    echo $SER_NAME $sizeF >> $LOG_FILE
done
 
umount $CIFS_SHARE_PATH

После окончания работы скрипта получаем файл backupLogTest.log:

server1 1379421184
server2 26492469309
server3 8613626764

2. По запросу Zabbix-agent вызывается скрипт /usr/local/bin/externalscripts/analizTestBackup с параметром «servername» и получает размер необходимого backup файла.

cat /usr/local/bin/externalscripts/backupLogTest.log | grep $1 | cut -d " " -f 2

Настройка Zabbix
1. Настройка конфигурационного файла zabbix_agentd.conf

В конфиг zabbix-agent /usr/local/etc/zabbix_agentd.conf добавляем пользовательские параметры для каждого сервера.

UserParameter=test.server1,/usr/local/bin/externalscripts/analizTestBackup server1
UserParameter=test.server2,/usr/local/bin/externalscripts/analizTestBackup server2
UserParameter=test.server3,/usr/local/bin/externalscripts/analizTestBackup server3

2.Настройка web интерфейса

Создание элемента данных и триггера на примере server1.

Настройки-Узлы сети-Zabbix server-Элементы данных-Создать элемент данных.

Имя: test_back_server1 
Тип: Zabbix агент 
Ключ: test.server1 
Интерфейс узла сети: 127.0.0.1:10050 
Тип информации: Числовой (с плавающей точкой) 
Единица измерения: b 
Переменные интервалы: 
      Интервал: 1800 
      Период: 1-7,07:00-07:35

Настройки-Узлы сети-Zabbix server-Триггеры-Создать триггер

Имя: error backup server1: Проблема с backup server1 
Выражение: {Zabbix server:test.server1.last()}=0 
Важность: Чрезвычайная

Остальные сервера заводятся аналогично.

Все это позволяет видеть на графиках как изменяется размер backup файла.

testback

А также видеть события о неудачных бэкапах.