mamonsu

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 Standard, но устанавливается отдельным инсталлятором. Завершив установку Postgres Pro Standard и mamonsu, выполните следующие действия, чтобы начать сбор метрик:

  1. Если вы начинаете с нуля, настройте ваш сервер Postgres Pro и подготовьте пустую базу данных. За подробностями обратитесь к Разделу 19.2.

  2. Выполните начальный запуск mamonsu. Вы должны указать IP-адрес сервера, за которым будете наблюдать, а также имя базы данных, имя и пароль пользователя Postgres Pro, используя которые mamonsu будет подключаться к серверу. Если пароль не требуется, параметр -W можно опустить.

    mamonsu bootstrap --host ip_сервера --dbname имя_базы_данных --username имя_пользователя -W пароль

    В результате mamonsu создаёт в указанной базе данных несколько таблиц с префиксом mamonsu. Не удаляйте эти таблицы, так как они нужны для работы mamonsu.

  3. mamonsu позволяет управлять некоторой функциональностью zabbix из командной строки. Вы можете создавать и удалять узлы и группы узлов zabbix, а также создавать, удалять или импортировать шаблоны zabbix. Если вы будете выполнять команды, связанные с zabbix, настройте следующие переменные окружения для вашего сервера zabbix:

    • Задайте в переменных ZABBIX_USER и ZABBIX_PASSWD имя и пароль вашей учётной записи zabbix, соответственно.

    • Задайте в переменной ZABBIX_URL адрес http://zabbix/

    Если вы установите указанные переменные, вы можете опустить эти параметры в последующих командах:

    --url=http://zabbix/ --user=имя_пользователя_zabbix --password=пароль_пользователя_zabbix
  4. Если у вас ещё нет узла zabbix, создайте группу узлов zabbix и узел, на котором будут собираться метрики:

    mamonsu zabbix hostgroup create ид_группы_узлов
    mamonsu zabbix host create имя_узла ид_группы_узлов ид_шаблона IP_адрес
          
  5. Отредактируйте конфигурационный файл agent.conf, предоставляемый в составе mamonsu. По умолчанию agent.conf размещается в каталоге установки mamonsu.

    • Настройте параметры, связанные с zabbix. Вы должны указать в поле address адрес сервера zabbix и имя узла zabbix, который будет получать собираемые метрики. Узлы, доступные для вашей учётной записи, вы можете увидеть в веб-интерфейсе zabbix на странице Configuration (Конфигурация) > Hosts (Узлы).

      [zabbix]
      ; включён по умолчанию
      enabled = True
      client = имя_узла_zabbix
      address = 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
  6. Экспортируйте шаблон для системы zabbix:

    mamonsu export template template.xml

    mamonsu генерирует файл template.xml в текущем каталоге.

  7. Импортируйте template.xml в zabbix:

    mamonsu zabbix template export template.xml --url=http://zabbix/ --user=имя_пользователя_zabbix --password=пароль_пользователя_zabbix

    Чтобы загрузить шаблон через веб-интерфейс zabbix, воспользуйтесь своей учётной записью zabbix и перейдите на страницу Templates (Шаблоны) > Import (Импорт).

  8. Добавьте шаблон к целевому узлу. Для этого в веб-интерфейсе выберите ваш узел, перейдите на страницу 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».

Действия 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, в меню Graphs (Графики).

Чтобы создать отчёт по используемому оборудованию и конфигурации Postgres Pro, выполните:

mamonsu report

Проанализировав аппаратную конфигурацию, mamonsu может помочь вам произвести общую оптимизацию вашей системы и сервера Postgres Pro:

mamonsu tune

Добавление дополнительных модулей

Для добавления дополнительного модуля в mamonsu выполните следующие действия:

  1. Установите путь к каталогу модулей в файле конфигурации и поместите файлы модулей в указанный каталог.

    [plugins]
    directory = /etc/mamonsu/plugins
  2. Повторите экспорт шаблона zabbix:

    mamonsu -c agent.conf -e template.xml
  3. Загрузите обновлённый template.xml на сервер zabbix.