В сентябре 2021 года вышла 3-ая версия инструмента для мониторинга БД PostgreSQL под названием Mamonsu. Теперь в ней есть аж шесть штук красивеньких экранов (screens). При развёртывании этого самого Mamonsu я регулярно хожу по граблям. Так что выпишу их, пожалуй, здесь, чтобы не забыть.
... В третьей версии разработчики опять поломали инсталляционные скрипты. Они прописывают в системе неправильный URL с репозиторием. Им уже завели репорты на эту тему: раз, два. Правильные URLы вот такие для стабильных дебиана и убунты соответственно:
deb [arch=amd64] https://repo.postgrespro.ru/mamonsu/debian bullseye main
deb [arch=amd64] http://repo.postgrespro.ru/mamonsu/ubuntu focal main
GPG-ключик для APT-а лежит у меня вот здесь, например.
... В конфигах демона вполне себе можно использовать подключение к базе посредством unix socket. Но для этого нужно в директиве "host" писать полный пусть к сокету. Например:
host = /run/postgresql/.s.PGSQL.5432
Если пользователь БД совпадает с именем uid-а, из-под которого работает демон, то пароль, как правило, можно не указывать.
... Mamonsu умеет отправлять все метрики в активном режиме (push). Если zabbix-сервер позволяет их принимать, то функционал "agent" в демоне можно выключить. Нехай не занимает лишний TCP-порт.
[agent]
enabled = False
... Если у вас уже есть отдельный шаблон, которым вы мониторите общие метрики операционной системы, то стоит отключить их отправку демоном mamonsu. Зачем вам дублировать одни и те же данные?
[system]
enabled = False
... Есть какой-то баг. Шаблон, сгенерированный в mamonsu 3.0.0, не лезет в Zabbix 5.0 с отлупом "Incorrect value for int field max_columns". Но при этом вполне себе нормально заходит в Zabbix 4, откуда его можно потом экспортировать и засунуть в Zabbix 5. Я им зарепортил. Посмотрим что ответят.
... Самое главное. Когда делаешь "mamonsu bootstrap", нужно обязательно (обязательно, Карл!!!) указывать ключ "-d" (имя базы данных). Таким образом, команда на bootstrap выглядит примерно так.
sudo -u postgres /usr/bin/mamonsu bootstrap -M mamonsu -d mamonsu
Если этого не сделать, то он создаст схему и функции в базе данных по умолчанию, то есть в "postgres". Где потом будучи запущенным от непривилегированного пользователя, естественно, их уже не найдёт. Сколько же я раз наступил на эти грабли!
Странно, что разработчики не сделали наличие ключа "-d" обязательным наподобие ключа "-M". С одной стороны, ты админ, ты умный, ты должен соображать что творишь. С другой стороны, команда bootstrap без явного указания базы вообще не имеет смысла. Так как должна запускаться только от суперпользователя (как правило, его зовут postgres) и при этом писать ну уж точно куда угодно, но не в принадлежащую этому суперпользователю базу.
Зарепортил пожелание, посмотрим что скажут.
... А так вообще, хорошая софтинка. Удобная.