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 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.