Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Как можно отфильтровать дискаверинг баз? #171

Open
ktulkhu opened this issue Oct 7, 2021 · 4 comments
Milestone

Comments

@ktulkhu
Copy link

ktulkhu commented Oct 7, 2021

В шаблоне присутствует дискавери для баз данных:
Database discovery

в котором есть фильтры:
{#DATABASE} matches .*

Хочу исключить из дискаверинга базы postgres, mamonsu:
{#DATABASE} not matches postgres|mamonsu

После этого получаю в логе кучу ошибок о том, что часть переданных сендером элементов не принята.
Я так понял, что сендер ВСЕГДА посылать данные по ВСЕМ базам, неважно, пофильтрованы они на стороне шаблона или нет, следовательно, если они пофильтрованы и под них не создались элементы (с типом zabbix trapper), то данные, которые сендер посылает по этим пофильтрованным базам, будут отвергаться сервером (т. к. под них нет созданных айтемов).

Следовательно, фильтрация в таком виде - бесполезна? Или я не правильно ей пользуюсь?
Или нужно фильтровать на стороне mamonsu агента? Типа, как с метриками системы:
[system]
##enabled = True
enabled = False

что-то подобное нужно и для фильтрации баз, чтобы сендер не посылал данные по отфильтрованным базам?

@cuprumtan
Copy link
Contributor

Добрый день!
Шаблон Mamonsu генерируется и настраивается только с помощью команды mamonsu export, любые другие изменения, сделанные в шаблоне вручную, либо не дадут никакого эффекта, либо приведут к ошибкам в процессе сбора метрик.

В Mamonsu нет возможности фильтровать базы, discovery собирают и отправляют информацию по всем доступным базам кластера.

@ktulkhu
Copy link
Author

ktulkhu commented Oct 8, 2021

Тогда два вопроса:

  1. Как-то можно эту "фичу", что шаблон можно модифиицировать только командой export укзать в документации? Совсем неочевидно, что поведение шаблона именно такое. И в целом, существует какая-то более подробная документация по настройке шаблона с помощью mamonsu export? Хотя бы пара живых примеров, как это использовать. Из того, что в описании команды export - не читается, что там можно менять что-то кроме описания Application и включать/выключать метрики системы (за последнее, кстатит, тоже не уверен, но из описания я именно так понял). И, как я понял, на этом возможности тюнинга все? Или есть какие-то возможнсоти выборочно включать-выключать метрики, которые представлены на текущий момент (не блоком, типа [system] disable), а выборочно прям по любой метрике?

  2. Можно добавить возможность фильтрации баз? Хотя бы на стороне агента. У меня есть объекты мониторинга, в которых среди порядка 20 баз мониторить нужно только штук пять. Остальные - тестовые или архивные. Смысл их мониторить? И смысл передавать данные по пятнадцати ненужным базам в заббикс?
    Можно, например, сделать блок [databases] (в конфиге агента), где будет возможность составлять какие-то фильтры по базам?
    Вообще, функционал агента довольно разнообразен, но документация по нему какая-то куцая. Приходится все методом тыка пробовать, не до конца понимая, как это вообще должно рабоать. Та же возможность фильтра дискавери баз в самом шаблоне указана (прям фильтр в дискавери, который, якобы, дает возмоность отбора). Если она не работает - зачем так сделали? Зачем вообще в шаблоне добавили этот "фейковый" фильтр, который только путает, подразумевая функционал (стандартный, между прочим, для дискавери), который не реализован?

@cuprumtan
Copy link
Contributor

  1. Mamonsu - это внешний агент мониторинга, который собирает данные о состоянии кластера и системы и отправляет данные на Zabbix-сервер, где уже имеется подготовленный для Mamonsu шаблон. При этом агент не производит анализ состояния шаблона на Zabbix-сервере, чтобы получить какие-либо изменения, внесенные вручную после загрузки шаблона. Это стандартное поведение для Zabbix trapper. mamonsu export генерирует шаблон исходя из того, какие плагины активны и какие плагины пользователь добавил сам. Включить/отключить плагины Mamonsu можно через конфигурационный файл агента. Выборочно отдельные метрики включать/отключать возмжности нет, на данный момент можно управлять только на уровне плагинов. Возможности тюнинга есть у каждого плагина - в конфигурационном файле практически в каждой секции есть свои парметры. Например, частота опроса, критический размер bloat и т.д. Примеры тюнинга плагинов также есть. Команда mamonsu export в свою очередь при генерации шаблона применяет настройки из конфигурационного файла агента и позволяет менять название самого шаблона (--template-name), название группы элементов данных (--application), добавлять свои собственные плагины (--add-plugins).
    Давайте этот пункт кратко подытожим: невозможность модификацировать шаблон агента после его загрузки на сервер Zabbix - не фича, а обычное поведение. Документацию можно будет дополнить: добавим больше примеров с тюнингом плагинов. Также у нас есть постепенно наполняемый раздел best practices, добавим туда примеры генерации шаблонов в различных вариациях. 🙂
  2. Mamonsu на данный момент отслеживает состояние кластера полностью, но, да, будет замечательно добавить возможность на уровне баз данных отслеживать только определенные. Задача ушла в разработку. Надеюсь, в ближайшем мажорном релизе эта возможность появится.

@ktulkhu
Copy link
Author

ktulkhu commented Oct 12, 2021

Все понял, благодарю за пояснения.

@cuprumtan cuprumtan added this to the major milestone Nov 30, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants