mamonsu — агент мониторинга для сбора метрик операционной системы и Postgres Pro.
mamonsu {report | tune}
mamonsu agent действие
mamonsu zabbix {template | host | hostgroup} zabbix-action
mamonsu — это активный агент мониторинга для Postgres Pro. Исполненный на базе zabbix, mamonsu реализует расширяемое кросс-платформенное решение для сбора и визуализации множества метрик Postgres Pro и операционной системы.
Агент mamonsu включает следующие компоненты:
Руководящий процесс, контролирующий все выполняющиеся потоки.
Модули, определяющие какие метрики собирать и как представлять собранные данные.
Чтобы обеспечить стабильное подключение к наблюдаемой системе, модули mamonsu используют пул соединений Postgres Pro. При необходимости вы можете добавить собственные дополнительные модули для наблюдения за метриками, важными в вашей системе.
Для использования mamonsu вам потребуется настроенный сервер и учётная запись zabbix.
Предварительно собранный пакет mamonsu распространяется вместе с Postgres Pro Enterprise, но устанавливается отдельным инсталлятором. Завершив установку Postgres Pro Enterprise и mamonsu, выполните следующие действия, чтобы начать сбор метрик:
Если вы начинаете с нуля, настройте ваш сервер Postgres Pro и подготовьте пустую базу данных. За подробностями обратитесь к Разделу 18.2.
Выполните начальный запуск mamonsu. Вы должны указать IP-адрес сервера, за которым будете наблюдать, а также имя базы данных, имя и пароль пользователя Postgres Pro, используя которые mamonsu будет подключаться к серверу. Если пароль не требуется, параметр -W можно опустить.
mamonsu bootstrap --hostip_сервера--dbnameимя_базы_данных--usernameимя_пользователя-Wпароль
В результате mamonsu создаёт в указанной базе данных несколько таблиц с префиксом mamonsu. Не удаляйте эти таблицы, так как они нужны для работы mamonsu.
mamonsu позволяет управлять некоторой функциональностью zabbix из командной строки. Вы можете создавать и удалять узлы и группы узлов zabbix, а также создавать, удалять или импортировать шаблоны zabbix. Если вы будете выполнять команды, связанные с zabbix, настройте следующие переменные окружения для вашего сервера zabbix:
Задайте в переменных ZABBIX_USER и ZABBIX_PASSWD имя и пароль вашей учётной записи zabbix, соответственно.
Задайте в переменной ZABBIX_URL адрес http://zabbix/
Если вы установите указанные переменные, вы можете опустить эти параметры в последующих командах:
--url=http://zabbix/ --user=имя_пользователя_zabbix--password=пароль_пользователя_zabbix
Если у вас ещё нет узла zabbix, создайте группу узлов zabbix и узел, на котором будут собираться метрики:
mamonsu zabbix hostgroup createид_группы_узловmamonsu zabbix host createимя_узлаид_группы_узловид_шаблонаIP_адрес
Отредактируйте конфигурационный файл agent.conf, предоставляемый в составе mamonsu. По умолчанию agent.conf размещается в каталоге установки mamonsu.
Настройте параметры, связанные с zabbix. Вы должны указать в поле address адрес сервера zabbix и имя узла zabbix, который будет получать собираемые метрики. Узлы, доступные для вашей учётной записи, вы можете увидеть в веб-интерфейсе zabbix на странице (Конфигурация) > (Узлы).
[zabbix] ; включён по умолчанию enabled =Trueclient =имя_узла_zabbixaddress =ip_сервера_zabbix
Укажите базу данных и имя пользователя Postgres Pro для установления подключения. В следующем примере мы подключаемся к базе данных postgres с именем пользователя postgres. Если пароль не требуется, задайте в поле password значение None. mamonsu начнёт собирать метрики, начиная с этой базы данных, и попытается подключиться к другим базам данных, существующим в системе. По умолчанию mamonsu считывает метрики каждые 10 мс. Вы можете изменить этот интервал, скорректировав параметр query_timeout. Если ваш сервер Postgres Pro работает с нестандартным портом, не забудьте указать его номер в параметре port.
[postgres] ; включён по умолчанию enabled = True user = postgres database = postgres ; пустой пароль password = None port = 5432 query_timeout = 10
По умолчанию mamonsu будет собирать метрики как Postgres Pro, так и системы. Если требуется, вы можете запретить сбор метрик того или иного типа, установив для параметра enabled значение False в соответствующем разделе файла agent.conf.
[system] ; включён по умолчанию enabled = True
Экспортируйте шаблон для системы zabbix:
mamonsu export template template.xml
mamonsu генерирует файл template.xml в текущем каталоге.
Импортируйте template.xml в zabbix:
mamonsu zabbix template export template.xml --url=http://zabbix/ --user=имя_пользователя_zabbix--password=пароль_пользователя_zabbix
Чтобы загрузить шаблон через веб-интерфейс zabbix, воспользуйтесь своей учётной записью zabbix и перейдите на страницу Templates (Шаблоны) > Import (Импорт).
Добавьте шаблон к целевому узлу. Для этого в веб-интерфейсе выберите ваш узел, перейдите на страницу Templates (Шаблоны), щёлкните Add (Добавить), выберите шаблон PostgresPro-Linux и затем щёлкните Update (Обновить).
Завершив настройку, запустите mamonsu:
service mamonsu start
mamonsu считывает параметры из файла конфигурации и начинает мониторинг вашей системы.
mamonsu позволяет вам управлять сбором метрик и некоторыми параметрами zabbix непосредственно из командной строки. Программа mamonsu может принимать следующие параметры.
reportВывести подробную информацию об используемом оборудовании и параметрах Postgres Pro.
tuneОптимизировать конфигурацию системы с учётом собранной информации об используемом оборудовании и параметрах Postgres Pro.
agentКоманда mamonsu agent предоставляет доступ ко всем доступным метрикам из командной строки. Вы можете задать одно из следующих действий:
versionВывести версию mamonsu.
metric-listВывести список доступных метрик.
metric-get имя_метрикиПолучить указанную метрику. Список доступных метрик можно получить, воспользовавшись командой metric-list.
zabbix templateУправляет шаблонами zabbix, выполняя одно из действий, описанных в Подразделе «Действия zabbix».
zabbix hostУправляет узлами zabbix, выполняя одно из действий, описанных в Подразделе «Действия zabbix».
zabbix hostgroupУправляет группой узлов zabbix, выполняя одно из действий, описанных в Подразделе «Действия zabbix».
Используя mamonsu, вы можете управлять некоторой функциональностью сервера zabbix из командной строки. А именно, вы можете создавать или удалять узлы и группы узлов zabbix, а также генерировать, импортировать и удалять шаблоны zabbix с помощью описанных ниже команд. В них имя_объекта должно соответствовать типу объекта zabbix в команде: template (шаблон), host (узел) или hostgroup (группа узлов).
listВывести список доступных шаблонов, узлов или групп узлов.
show имя_объектаВывести информацию об указанном шаблоне, узле или группе узлов.
id имя_объектаВывести идентификатор указанного объекта.
delete ид_объектаУдалить указанный объект.
create имя_группы_узловcreate имя_узла ид_группы_узлов
ид_шаблона ip_адресСоздать новый узел или группу узлов.
export имя_шаблонаСгенерировать шаблон zabbix.
infoВывести подробную информацию об указанном узле в зависимости от следующих параметров:
templates ид_узлаВывести список шаблонов, доступных для заданного узла.
hostgroups ид_узлаПоказать группы узлов, к которым относится указанный узел.
graphs ид_узлаПоказать, какие графики доступны для указанного узла.
Чтобы просмотреть список доступных метрик, выполните следующую команду:
mamonsu agent metric-list
Чтобы просмотреть определённую метрику, выполните:
mamonsu agent metric-get имя_метрикигде имя_метрики — имя метрики, представляющей интерес. Вы можете просмотреть графики по собранным метрикам в веб-интерфейсе zabbix, в меню (Графики).
Чтобы создать отчёт по используемому оборудованию и конфигурации Postgres Pro, выполните:
mamonsu report
Проанализировав аппаратную конфигурацию, mamonsu может помочь вам произвести общую оптимизацию вашей системы и сервера Postgres Pro:
mamonsu tune
Для добавления дополнительного модуля в mamonsu выполните следующие действия:
Установите путь к каталогу модулей в файле конфигурации и поместите файлы модулей в указанный каталог.
[plugins] directory = /etc/mamonsu/plugins
Повторите экспорт шаблона zabbix:
mamonsu -c agent.conf -e template.xml
Загрузите обновлённый template.xml на сервер zabbix.