Назад | Перейти на главную страницу

как отслеживать запрос, который возвращает метку времени с помощью zabbix

У меня Zabbix 4.4.0 установлен на Ubuntu 19.10

Я настроил плагин postgresql для мониторинга postgresql.

сейчас я хочу отслеживать последнюю вставленную строку в определенной таблице, чтобы получить ее метку времени, и последнюю строку, вставленную 10 минут назад, чтобы создать ошибку, и если несколько минут назад, чтобы создать предупреждение.

Я не играл в zabbix пару лет, поэтому многое забыл.

Я погуглил и нашел следующую ссылку: https://www.zabbix.com/forum/zabbix-help/23307-monitoring-mysql-postgresql-table

там он создает php-скрипт, который выполняет команду sql и отправляет ее с помощью zabbix trapper:

<?php
        /* Include database connection PHP lines here, this is just a fast and very crappy example using exec()/system() & bash */
        exec('echo "SELECT * from table......" | psql -U userdb -h hostname databasename', $result1);
        $mydata1 = trim($result1[0]);
        //Send to the trapper
        exec("/usr/bin/zabbix_sender -z $ZABBIXSERVER -p $ZABBIXPORT  -s $ZABBIXAGENT -k \"my.key.result1\" -o $mydata1");
    ?>

затем он создал файл conf для выполнения скрипта:

UserParameter=my_pg_data,php /etc/zabbix/mytools/sqlqueryscript.php;echo $?

затем добавил элемент и подключил его к хосту.

это решение меня немного озадачивает. поскольку сценарий запускается Zabbix, зачем мне использовать zabbix_sender в первую очередь ? почему бы мне просто не создать скрипт, который выводит результат, а zabbix обрабатывает результат.

как наиболее эффективно реализовать такую ​​вещь?

Спасибо!