Проверка копий DATA LLD

Шаблоны заббикс мониторинг связанный с файлами и директориями
Аватара пользователя
Артём Мамзиков
Admin
Сообщения: 914
Стаж: 5 лет 11 месяцев
Откуда: Вологодская область
Благодарил (а): 1 раз
Поблагодарили: 42 раза
Контактная информация:

Проверка копий DATA LLD

Сообщение Артём Мамзиков »

Формат файлов и их хранения

Раз в месяц 1 число
По расписанию md1 - 1 число, wd1-7 в любой день h6 в 00Ч m0-32 с00м до 32м каждые 4 минуты
D:\bk_share\data\f.01\month\2024-06-01-data-full.7z
дифы ежедневные Переменны 1-7,05:00-07:00
D:\bk_share\data\f.01\day\2024-05-29-data-diff.7z

D:\bk_share\data\f.02\month\2024-06-01-data-full.7z
D:\bk_share\data\f.02\day\2024-05-29-data-diff.7z
..........
D:\bk_share\data\f.30\month\2024-06-01-data-full.7z
D:\bk_share\data\f.30\day\2024-05-29-data-diff.7z

У нас есть 30 папок на месяц и 30 ежедневных

Путь прописываем в макросах
{$PDATADIFF} D:\bk_share\data
{$PDATAFULL} D:\bk_share\data

Шаблон
Проверка копий DATA LLD.zip
Проверка копий DATA LLD.zip
(3.66 КБ) 0 скачиваний

Группы элементов данных
BK_DATA_DIFF_LLD
BK_DATA_FULL_LLD

Правила обнаружения
Обнаружение папок data diff на Windows Прототипы элементов данных 4 Прототипы триггеров 1 Прототипы графиков Прототипы узлов сети system.run["dir /A:D /B \"\"{$PDATADIFF}\"\""] 12h Zabbix агент Активировано

Обнаружение папок на Linux
system.run["ls -F \"{$PDATADIFF}\"|grep -E \"*/\""]
Обнаружение папок на Windows
system.run["dir /A:D /B \"\"{$PDATADIFF}\"\""]

Команда проверки из терминала
zabbix_get -s $1 -k system.run["dir /A:D /B \""{$PDATADIFF}"\""]
Предобработка
Показать

Код: Выделить всё

var data = value.split("\n");
    var result = [];
    
    for (var i = 0; i < data.length; i++) {
        var obj = {};
        obj["{#DATANAMEF}"] = data[i].replace("\r", "");
        result.push(obj);
    }
    
//return JSON.stringify(result);
// Читаемый вид перенос строк
return JSON.stringify(result).replace(/\[/g,"[\n").replace(/\},/g,"},\n").replace(/\}]/g,"}\n]");

Обнаружение папок data full на Windows Прототипы элементов данных 4 Прототипы триггеров 1 Прототипы графиков Прототипы узлов сети system.run["dir /A:D /B \"\"{$PDATAFULL}\"\""] 24h Zabbix агент Активировано

Обнаружение папок на Linux
system.run["ls -F \"{$PDATAFULL}\"|grep -E \"*/\""]
Обнаружение папок на Windows
system.run["dir /A:D /B \"\"{$PDATAFULL}\"\""]

Команда проверки из терминала
zabbix_get -s $1 -k system.run["dir /A:D /B \""{$PDATAFULL}"\""]
Предобработка
Показать

Код: Выделить всё

var data = value.split("\n");
    var result = [];
    
    for (var i = 0; i < data.length; i++) {
        var obj = {};
        obj["{#DATANAMEF}"] = data[i].replace("\r", "");
        result.push(obj);
    }
    
//return JSON.stringify(result);
// Читаемый вид перенос строк
return JSON.stringify(result).replace(/\[/g,"[\n").replace(/\},/g,"},\n").replace(/\}]/g,"}\n]");

Обнаружение файлов на Linux Прототипы элементов данных Прототипы триггеров Прототипы графиков Прототипы узлов сети system.run["grep -r -l \".*diff.7z\" /mnt/bk_share/data| sed 's|^/mnt/bk_share/data/||'"] 12h Zabbix агент Деактивировано

Обнаружение файлов на Linux
grep -r -l ".*diff.7z" {$PDATADIFF}| sed 's|^{$PDATADIFF}||'
find {$PDATADIFF} -type f -name ".*diff.7z" | sed 's|^{$PDATADIFF}||'
Windows
zabbix_get -s $IP -p $PORT -k system.run["dir /a-d /B \""${puti}"\""]
Предобработка
Показать

Код: Выделить всё

var data = value.split("\n");
    var result = [];
    
    for (var i = 0; i < data.length; i++) {
        var obj = {};
        obj["{#DATANAMEF}"] = data[i].replace("\r", "");
        result.push(obj);
    }
    
//return JSON.stringify(result);
// Читаемый вид перенос строк
return JSON.stringify(result).replace(/\[/g,"[\n").replace(/\},/g,"},\n").replace(/\}]/g,"}\n]");

Прототипы элементов данных Для 1 правила обнаружения

Наличие файла day\2025-01-31-{#DATANAMEF}-diff.7z vfs.file.exists["{$PDATADIFF}\{#DATANAMEF}\day\{$DATE_YYYY}-{$DATE_MM}-{$DATE_DD}-{#DATANAMEF}-diff.7z"] 0 90d 90d Zabbix агент BK_DATA_DIFF_LLD Да

Размер файла day\2025-01-31-{#DATANAMEF}-diff.7z vfs.file.size["{$PDATADIFF}\{#DATANAMEF}\day\{$DATE_YYYY}-{$DATE_MM}-{$DATE_DD}-{#DATANAMEF}-diff.7z"] 0 90d 90d Zabbix агент BK_DATA_DIFF_LLD Да

Время изменения свойств файла day\2025-01-31-{#DATANAMEF}-diff.7z vfs.file.time["{$PDATADIFF}\{#DATANAMEF}\day\{$DATE_YYYY}-{$DATE_MM}-{$DATE_DD}-{#DATANAMEF}-diff.7z",change] 0 90d 90d Zabbix агент BK_DATA_DIFF_LLD Да

Время изменения файла day\2025-01-31-{#DATANAMEF}-diff.7z vfs.file.time["{$PDATADIFF}\{#DATANAMEF}\day\{$DATE_YYYY}-{$DATE_MM}-{$DATE_DD}-{#DATANAMEF}-diff.7z",modify] 0 90d 90d Zabbix агент BK_DATA_DIFF_LLD Да
Обнаружение папок data diff на Windows Прототипы элементов данных
Обнаружение папок data diff на Windows Прототипы элементов данных

Прототипы триггеров
Средняя Файл бэка старый или отсутсвует {$DATE_YYYY}-{$DATE_MM}-{$DATE_DD}-{#DATANAMEF}-diff.7z
{check-data-back-local-lld:vfs.file.exists["{$PDATADIFF}\{#DATANAMEF}\day\{$DATE_YYYY}-{$DATE_MM}-{$DATE_DD}-{#DATANAMEF}-diff.7z"].max(15h)}=0 or {check-data-back-local-lld:vfs.file.exists["{$PDATADIFF}\{#DATANAMEF}\day\{$DATE_YYYY}-{$DATE_MM}-{$DATE_DD}-{#DATANAMEF}-diff.7z"].nodata(24h)}=1 or {check-data-back-local-lld:vfs.file.time["{$PDATADIFF}\{#DATANAMEF}\day\{$DATE_YYYY}-{$DATE_MM}-{$DATE_DD}-{#DATANAMEF}-diff.7z",modify].fuzzytime(28h)}=0 or {check-data-back-local-lld:vfs.file.size["{$PDATADIFF}\{#DATANAMEF}\day\{$DATE_YYYY}-{$DATE_MM}-{$DATE_DD}-{#DATANAMEF}-diff.7z"].last(#2)}/{check-data-back-local-lld:vfs.file.size["{$PDATADIFF}\{#DATANAMEF}\day\{$DATE_YYYY}-{$DATE_MM}-{$DATE_DD}-{#DATANAMEF}-diff.7z"].last()}<0.9 or {check-data-back-local-lld:vfs.file.size["{$PDATADIFF}\{#DATANAMEF}\day\{$DATE_YYYY}-{$DATE_MM}-{$DATE_DD}-{#DATANAMEF}-diff.7z"].last()}/{check-data-back-local-lld:vfs.file.size["{$PDATADIFF}\{#DATANAMEF}\day\{$DATE_YYYY}-{$DATE_MM}-{$DATE_DD}-{#DATANAMEF}-diff.7z"].last(#2)}>1.1 Да
Обнаружение папок data diff на Windows Прототипы триггеров
Обнаружение папок data diff на Windows Прототипы триггеров


Прототипы элементов данных для Правила обнаружения 2
Наличие файла month\2025-01-31-{#DATANAMEF}-full.7z vfs.file.exists["{$PDATAFULL}\{#DATANAMEF}\month\{$DATE_YYYY}-{$DATE_MM}-{$DATE_DD}-{#DATANAMEF}-full.7z"] 0 90d 90d Zabbix агент BK_DATA_FULL_LLD Да

Размер файла month\2025-01-31-{#DATANAMEF}-full.7z vfs.file.size["{$PDATAFULL}\{#DATANAMEF}\month\{$DATE_YYYY}-{$DATE_MM}-{$DATE_DD}-{#DATANAMEF}-full.7z"] 0 90d 90d Zabbix агент BK_DATA_FULL_LLD Да

Время изменения свойств файла month\2025-01-31-{#DATANAMEF}-full.7z vfs.file.time["{$PDATAFULL}\{#DATANAMEF}\month\{$DATE_YYYY}-{$DATE_MM}-{$DATE_DD}-{#DATANAMEF}-full.7z",change] 0 90d 90d Zabbix агент BK_DATA_FULL_LLD Да

Время изменения файла month\2025-01-31-{#DATANAMEF}-full.7z vfs.file.time["{$PDATAFULL}\{#DATANAMEF}\month\{$DATE_YYYY}-{$DATE_MM}-{$DATE_DD}-{#DATANAMEF}-full.7z",modify] 0 90d 90d Zabbix агент BK_DATA_FULL_LLD Да
Обнаружение папок data full на Windows Прототипы элементов данных
Обнаружение папок data full на Windows Прототипы элементов данных

Прототипы триггеров
Средняя Файл бэка старый или отсутсвует {$DATE_YYYY}-{$DATE_MM}-{$DATE_DD}-{#DATANAMEF}-full.7z
{$DATE_DD}=01 and ({check-data-back-local-lld:vfs.file.exists["{$PDATAFULL}\{#DATANAMEF}\month\{$DATE_YYYY}-{$DATE_MM}-{$DATE_DD}-{#DATANAMEF}-full.7z"].max({$TRIG_SECONDS_PREV_MONTH})}=0 or {check-data-back-local-lld:vfs.file.exists["{$PDATAFULL}\{#DATANAMEF}\month\{$DATE_YYYY}-{$DATE_MM}-{$DATE_DD}-{#DATANAMEF}-full.7z"].nodata({$TRIG_SECONDS_PREV_MONTH})}=1 or {check-data-back-local-lld:vfs.file.time["{$PDATAFULL}\{#DATANAMEF}\month\{$DATE_YYYY}-{$DATE_MM}-{$DATE_DD}-{#DATANAMEF}-full.7z",modify].fuzzytime({$TRIG_SECONDS_PREV_MONTH})}=0 or {check-data-back-local-lld:vfs.file.size["{$PDATAFULL}\{#DATANAMEF}\month\{$DATE_YYYY}-{$DATE_MM}-{$DATE_DD}-{#DATANAMEF}-full.7z"].last(#2)}/{check-data-back-local-lld:vfs.file.size["{$PDATAFULL}\{#DATANAMEF}\month\{$DATE_YYYY}-{$DATE_MM}-{$DATE_DD}-{#DATANAMEF}-full.7z"].last()}<0.9 or {check-data-back-local-lld:vfs.file.size["{$PDATAFULL}\{#DATANAMEF}\month\{$DATE_YYYY}-{$DATE_MM}-{$DATE_DD}-{#DATANAMEF}-full.7z"].last()}/{check-data-back-local-lld:vfs.file.size["{$PDATAFULL}\{#DATANAMEF}\month\{$DATE_YYYY}-{$DATE_MM}-{$DATE_DD}-{#DATANAMEF}-full.7z"].last(#2)}>1.1) Да
Обнаружение папок data full на Windows Прототипы триггеров
Обнаружение папок data full на Windows Прототипы триггеров
количество слов: 1010

Вернуться в «Файлы и Папки»