LINUX.ORG.RU
ФорумAdmin

Что можно промониторить у PostgreSQL, имея zabbix agent и больше ничего?

 ,


1

4

Собственно, есть zabbix agent, установленный на системе клиента, куда нет доступа по ssh и в принципе нет доступа. Никаких специфических UserParameter'ов на агенте не прописано, он такой вполне себе голый как сокол.
Есть PostgreSQL, который работает на системе клиента и наружу доступен портом 5432. Никакого доступа туда тоже нет (для мониторинга не заведён пользователь).
AllowRemoteCommands установлен в 0, так что с этой стороны не подлезть
Известно, что система - RedHat ES 6.x

Внимание, вопрос:

Что можно промониторить в такой немного странной, но реально имеющей место быть ситуации?
Я добавил proc.num[postgres] и net.tcp.service[postgresql]
Следующим шагом промониторить ошибки в логах Postgres
Есть ещё какие-нибудь оригинальные идеи? :)

net.tcp.port[<ip>,порт]
log[файл,<regexp>,<кодировка>,<макс кол-во строк>] - требует активного zabbix  агента.

Ну и всякие там параметры vfs

pyatak123
()
Последнее исправление: pyatak123 (всего исправлений: 1)
Ответ на: комментарий от pyatak123

Самое «забавное», что не знаю, как у заказчика, но лично у меня на русифицированном CentOS'е постгрес умудряется писать в логи вида /var/lib/pgsql/data/pg_log/postgresql-Fri.log - строки на русском языке...

DRVTiny
() автор топика

Число коннектов из netstat, наличие лока в /run/postgresql/, свежесть бекапов? Больше вряд ли чего удастся достать без прав к директории с данными или юзера в базе

disarmer
()

Я не dba, но кто мешает запрашивать состояние субд через tcp подключение? На стороне сервера zabbix из скрипта подключаешься и опрашиваешь, шлёшь в заббикс; в заббиксе создаёшь данные типа trapper

http://www.postgresql.org/docs/9.1/static/monitoring-stats.html

https://www.zabbix.com/documentation/2.2/manual/config/items/itemtypes/trapper

https://www.zabbix.com/documentation/ru/2.2/manual/config/items/itemtypes/tra...

router 👍👍
()
Последнее исправление: router (всего исправлений: 1)
Ответ на: комментарий от router

Ну и общие соображения

  • желательно по-максимуму забирать в zabbix статистику использования памяти ( vm.memory.size ), включая shared сегменты, huge pages
  • найти диск(и), на котором расположены СУБД и файлы БД, и мониторить их статистику ( vfs.dev.read, vfs.dev.write с большинством ключей ). Если неизвестно, где они расположены - подбирать методом тыка, вручную через zabbix_get. Или, что гораздо лучше, спросить у админов сервера.

https://www.zabbix.com/documentation/ru/2.2/manual/config/items/itemtypes/zab...

router 👍👍
()
Ответ на: комментарий от pyatak123

ЕМНИП, расположение логов postgresql настраивается из самого postgresql

SELECT name, source, setting FROM pg_settings where name like 'log%' ORDER by 2, 1;
router 👍👍
()
Последнее исправление: router (всего исправлений: 2)
Ответ на: комментарий от router

для этого надо чтобы был настрое файл в /var/mysql\portgresql , без него работать не будет статистика по бд никакая, так что всё равно одни догадки

erzent
()

Никаких специфических UserParameter'ов на агенте не прописано, он такой вполне себе голый как сокол.

Ты DBA или где? :) Если ты знаешь что тебе нужно и можешь это обосновать, пиши официальный запрос организации, которая занимается администрированием сервера. С копией человеку, который передал тебе права администрирования СУБД

Не

я мегаадмин, дайте мне рутовый шел, быстро, решительно!

, а

Здравствуйте. В соответствии с договором $number от $date, администрирование СУБД postgresql на сервере $server заказчик $name передал нам на аутсорсинг. Для мониторинга производительности СУБД прошу

1. ...

2. ...

--
С уважением,
$должность $компания
$фио,

Если скажут «кто ты такой, мы тебя не знаем», общаешься через своего заказчика. Откажут - ну, мир не идеален. Но ты хотя бы пытался ;)

router 👍👍
()
Последнее исправление: router (всего исправлений: 1)

Повозиться придется, но например эрланг умеет быть агентом и сервером практически из коробки, а далее он уже может стыковаться с zabbix через MIB и порты.

Собственно нужно сделать выгрузку статистики/данных postgresql эрлангом, а дальше уже можно это передавать эрлангом по MIB. Python или другие наверное тоже так умеют, но в erlang есть характерные встроенные средства типа gen_server, gen_tcp и т.д. да и встроенная поддержка базовых возможностей SNMP

swwwfactory
()
Ответ на: комментарий от swwwfactory

а дальше уже можно это передавать эрлангом по MIB

Нафейхоа такой изврат, если есть zabbix_sender и тип данных trapper ?

router 👍👍
()
Ответ на: комментарий от router

Нафейхоа такой изврат, если есть zabbix_sender и тип данных trapper ?

ну не знаю его просто особо (тем более про sender) - эрланг более понятен и предсказуем, хотя постигнуть его реализацию SNMP без выкрутасов не очень получается.

swwwfactory
()
Ответ на: комментарий от router

У него же нету заведённого пользователя в базе, максимум что становится ясно из коннекта - то что сервер слушает порт.

disarmer
()
Ответ на: комментарий от router

С копией человеку, который передал тебе права администрирования СУБД

У нас мониторинг только, администрированием занимаются другие люди.

DRVTiny
() автор топика
Ответ на: комментарий от DRVTiny

Так заменяешь в тексте «администрирование» на «мониторинг» и пишешь DBA ;)

Вообще, взаимодействие между разными отделами ( и тем более компаниями ) - процесс достаточно бюрократический и не интересный. В случае проблем стоит эскалировать проблему начальнику своего отдела ( «Сан Саныч, эти пуськи бятые отказались создать пользователя для мониторинга. Не подскажешь, как грамотно составить запрос?» ), он обычно знает как по регламенту общаться с другими отделами.

Ну и сам посмотри, насколько тебе важно настроить мониторинг БД. Если для галочки, то письма с отказом создать пользователя будет достаточно, чтобы прикрыть свою задницу в случае проблем.

router 👍👍
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.