Понадобилось мне однажды мониторить в заббиксе свободное место на сервере Oracle. Всё бы ничего, однако простая задача усложнилась. Нужно мониторить свободное место внутри определённого tablespace. Данную задачу можно решить с помощью SQL запроса: SELECT trunc(sum(bytes/1024/1024/1024),0)
FROM dba_free_space
WHERE tablespace_name=MY_TABLESPACE'; Осталось только научиться передавать результат SQL запроса в zabbix. Приступим. У нас имеется: Разобьём задачу на части: SQL запрос уже есть SELECT trunc(sum(bytes/1024/1024/1024),0)
FROM dba_free_space
WHERE tablespace_name=MY_TABLESPACE'; На месте этого запроса может быть любой другой ваш запрос. Разрешаем пользователю zabbix выполнять этот SQL запрос В базе данных создаём юзера zabbix: CREATE USER zabbix IDENTIFIED BY "my_password";
GRANT CREATE SESSION to zabbix;
GRANT SELECT ON dba_free_space TO zabbix; Где "my_password" - пароль пользователя. Возможно, ещё какие-то права понадобятся, не помню. В папке "/etc/sudoers.d" создаем файл "