Как можно отфильтровать дискаверинг баз?
ktulkhu opened this issue · 4 comments
В шаблоне присутствует дискавери для баз данных:
Database discovery
в котором есть фильтры:
{#DATABASE} matches .*
Хочу исключить из дискаверинга базы postgres, mamonsu:
{#DATABASE} not matches postgres|mamonsu
После этого получаю в логе кучу ошибок о том, что часть переданных сендером элементов не принята.
Я так понял, что сендер ВСЕГДА посылать данные по ВСЕМ базам, неважно, пофильтрованы они на стороне шаблона или нет, следовательно, если они пофильтрованы и под них не создались элементы (с типом zabbix trapper), то данные, которые сендер посылает по этим пофильтрованным базам, будут отвергаться сервером (т. к. под них нет созданных айтемов).
Следовательно, фильтрация в таком виде - бесполезна? Или я не правильно ей пользуюсь?
Или нужно фильтровать на стороне mamonsu агента? Типа, как с метриками системы:
[system]
##enabled = True
enabled = False
что-то подобное нужно и для фильтрации баз, чтобы сендер не посылал данные по отфильтрованным базам?
Добрый день!
Шаблон Mamonsu генерируется и настраивается только с помощью команды mamonsu export, любые другие изменения, сделанные в шаблоне вручную, либо не дадут никакого эффекта, либо приведут к ошибкам в процессе сбора метрик.
В Mamonsu нет возможности фильтровать базы, discovery собирают и отправляют информацию по всем доступным базам кластера.
Тогда два вопроса:
-
Как-то можно эту "фичу", что шаблон можно модифиицировать только командой export укзать в документации? Совсем неочевидно, что поведение шаблона именно такое. И в целом, существует какая-то более подробная документация по настройке шаблона с помощью mamonsu export? Хотя бы пара живых примеров, как это использовать. Из того, что в описании команды export - не читается, что там можно менять что-то кроме описания Application и включать/выключать метрики системы (за последнее, кстатит, тоже не уверен, но из описания я именно так понял). И, как я понял, на этом возможности тюнинга все? Или есть какие-то возможнсоти выборочно включать-выключать метрики, которые представлены на текущий момент (не блоком, типа [system] disable), а выборочно прям по любой метрике?
-
Можно добавить возможность фильтрации баз? Хотя бы на стороне агента. У меня есть объекты мониторинга, в которых среди порядка 20 баз мониторить нужно только штук пять. Остальные - тестовые или архивные. Смысл их мониторить? И смысл передавать данные по пятнадцати ненужным базам в заббикс?
Можно, например, сделать блок [databases] (в конфиге агента), где будет возможность составлять какие-то фильтры по базам?
Вообще, функционал агента довольно разнообразен, но документация по нему какая-то куцая. Приходится все методом тыка пробовать, не до конца понимая, как это вообще должно рабоать. Та же возможность фильтра дискавери баз в самом шаблоне указана (прям фильтр в дискавери, который, якобы, дает возмоность отбора). Если она не работает - зачем так сделали? Зачем вообще в шаблоне добавили этот "фейковый" фильтр, который только путает, подразумевая функционал (стандартный, между прочим, для дискавери), который не реализован?
- Mamonsu - это внешний агент мониторинга, который собирает данные о состоянии кластера и системы и отправляет данные на Zabbix-сервер, где уже имеется подготовленный для Mamonsu шаблон. При этом агент не производит анализ состояния шаблона на Zabbix-сервере, чтобы получить какие-либо изменения, внесенные вручную после загрузки шаблона. Это стандартное поведение для Zabbix trapper. mamonsu export генерирует шаблон исходя из того, какие плагины активны и какие плагины пользователь добавил сам. Включить/отключить плагины Mamonsu можно через конфигурационный файл агента. Выборочно отдельные метрики включать/отключать возмжности нет, на данный момент можно управлять только на уровне плагинов. Возможности тюнинга есть у каждого плагина - в конфигурационном файле практически в каждой секции есть свои парметры. Например, частота опроса, критический размер bloat и т.д. Примеры тюнинга плагинов также есть. Команда mamonsu export в свою очередь при генерации шаблона применяет настройки из конфигурационного файла агента и позволяет менять название самого шаблона (--template-name), название группы элементов данных (--application), добавлять свои собственные плагины (--add-plugins).
Давайте этот пункт кратко подытожим: невозможность модификацировать шаблон агента после его загрузки на сервер Zabbix - не фича, а обычное поведение. Документацию можно будет дополнить: добавим больше примеров с тюнингом плагинов. Также у нас есть постепенно наполняемый раздел best practices, добавим туда примеры генерации шаблонов в различных вариациях. 🙂 - Mamonsu на данный момент отслеживает состояние кластера полностью, но, да, будет замечательно добавить возможность на уровне баз данных отслеживать только определенные. Задача ушла в разработку. Надеюсь, в ближайшем мажорном релизе эта возможность появится.
Все понял, благодарю за пояснения.