Wlancards.ru

ПК техника, WI FI Адаптеры
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Zabbix: Оптимизация и чистка базы данных

Zabbix: Оптимизация и чистка базы данных

Спустя 2 года решил обновить запись Zabbix: Чистка базы данных, так как есть более эффективные методы борьбы с «распуханием» базы , да и в целом информации накопилось больше чем можно удержать в голове и evernote.

Основная задача, которую пытаемся решить — малой кровью обеспечить хорошую производительность сервера и предотвратить неконтролируемый рост базы.

monitoring-temperatury-i-220v-cherez-zabbix

Настройка PING3

Администрировать устройство можно следующими способами: WEB интерфейс, Telnet, SNMP.
Подробное описание можно почитать тут http://www.equicom.ua/ping/ping3/Ping3(-knock).pdf
При первом включении, по умолчанию на устройстве установлен статический IP адрес 192.168.2.200 (DHCP не поддерживается). Также созданы два аккаунта для входа:

  • admin:admin (логин:пароль) — пользователь с правами администратора (полный доступ ко всем функциям устройства)
  • user:user (логин:пароль) — пользователь с ограниченными правами (только наблюдение за состоянием устройства)

После успешной авторизации будет открыта страница системных настроек, на которой можно увидеть номер используемой версии firmware. Далее необходимо произвести конфигурирование устройства и настройку всех требуемых параметров:

  • На вкладке System указываем нужный статический IP для устройства. Также изменяем пароли для авторизации.
  • На вкладке Analog Lines настраиваем значения, для аналоговых входов.

Устройство имеет три внешних аналоговых входа, именуемых AN1-AN3. Входы AN1 и AN2 выведены на одноименные разъемы, указанные на корпусе устройства. Вход AN3 выведен на разъем EXT. Еще один вход AN4 является внутренним и предназначен для измерения собственного напряжения питания устройства PING3.
Для точности получение данных, нужно изменять параметры получения значений. К каждому отдельному датчику, свои параметры.
Для получения значения температуры в градусах Цельсия в настройках аналогового входа, к которому подключен термодатчик, необходимо задать такие коэффициенты:

  • O (offset) = –50
  • M (multiplier) = 330
  • Averaging = 100 (или больше)

Для получения значения собственного напряжения питания устройства в вольтах установите для входа AN4 следующие параметры:

  • O (offset) = 0.5
  • M (multiplier) = 21.7
  • Averaging = 100

На этом, настройку устройства PING3 можно считать завершенной.

Получение данных с устройства PING3

Самым распространенным способом считать информацию с устройства, есть протокол сетевого управления SNMP. Устройство PING3 поддерживает версии SNMP v1, v2c.
Таблица (неполная, только для аналоговых входов) с поддерживаемыми OID выглядит следующим образом:

Читайте так же:
Музыка и компьютер презентация
OIDTypeAN1AN2AN3AN4ext
1.3.6.1.4.1.35160.1.16.1.7.1Integervalue offset
1.3.6.1.4.1.35160.1.16.1.8.1Integervalue multiplier
1.3.6.1.4.1.35160.1.16.1.9.1Integerlow limit
1.3.6.1.4.1.35160.1.16.1.10.1Integerhigh limit
1.3.6.1.4.1.35160.1.16.1.11.1Integerhysteresis
1.3.6.1.4.1.35160.1.16.1.12.1Integeraveraging
1.3.6.1.4.1.35160.1.16.1.13.1Integercurrent value
1.3.6.1.4.1.35160.1.16.1.7.2Integervalue offset
1.3.6.1.4.1.35160.1.16.1.8.2Integervalue multiplier
1.3.6.1.4.1.35160.1.16.1.9.2Integerlow limit
1.3.6.1.4.1.35160.1.16.1.10.2Integerhigh limit
1.3.6.1.4.1.35160.1.16.1.11.2Integerhysteresis
1.3.6.1.4.1.35160.1.16.1.12.2Integeraveraging
1.3.6.1.4.1.35160.1.16.1.13.2Integercurrent value
1.3.6.1.4.1.35160.1.16.1.7.3Integervalue offset
1.3.6.1.4.1.35160.1.16.1.8.3Integervalue multiplier
1.3.6.1.4.1.35160.1.16.1.9.3Integerlow limit
1.3.6.1.4.1.35160.1.16.1.10.3Integerhigh limit
1.3.6.1.4.1.35160.1.16.1.11.3Integerhysteresis
1.3.6.1.4.1.35160.1.16.1.12.3Integeraveraging
1.3.6.1.4.1.35160.1.16.1.13.3Integercurrent value
1.3.6.1.4.1.35160.1.16.1.7.4Integervalue offset
1.3.6.1.4.1.35160.1.16.1.8.4Integervalue multiplier
1.3.6.1.4.1.35160.1.16.1.9.4Integerlow limit
1.3.6.1.4.1.35160.1.16.1.10.4Integerhigh limit
1.3.6.1.4.1.35160.1.16.1.11.4Integerhysteresis
1.3.6.1.4.1.35160.1.16.1.12.4Integeraveraging
1.3.6.1.4.1.35160.1.16.1.13.4Integercurrent value
1.3.6.1.4.1.35160.1.26.0IntegerPower Sensor

Полный список OID можно посмотреть при помощи приложения SnmpWalk.exe (качаем тут https://snmpsoft.com/shell-tools/snmp-walk/), выполнив команду:
SnmpWalk.exe -r:192.168.2.200

Подключение к Zabbix

Сбор данных в систему Zabbix, задача индивидуальная, в зависимости от подключенных датчиков и их особенностей. Разработан готовый шаблон, для мониторинга температуры и 220 (используются датчики, указаны в описании статьи) в серверной, можно скачать тут. Каждое устройство добавляем как новый узел сети, с указанием интерфейса SNMP.

Внедрение Zabbix

Как видим, Zabbix полезный инструмент, позволяющий не только найти причины ошибки, но и избежать ее повторения в будущем. Однако, для получения полной и корректной информации, следует выполнить его настройку. Это технически сложный процесс, для которого не подходит универсальная инструкция. У специалистов It-lite большой опыт таких работ, благодаря чему они быстро и качественно выполнят внедрение мониторинга Zabbix. При этом, они обязательно учитывают нюансы настраиваемой инфраструктуры.

Обнаружение интерфейсов микротик

В Zabbix есть прекрасный механизм низкоуровневого обнаружения и есть подготовленный готовый шаблон, который вам нужно будет скачать тут. После импортируем этом шаблон в Zabbix и присоединяем его к нашему узлу сети.

Читайте так же:
Максимальная информационная емкость жесткого магнитного диска

Добавление шаблона

После через некоторое время минуты 3-5 можно зайти и посмотреть последние данные и убедиться, что наши интерфейсы появились в узлах сети и данные от них приходят.

Мониторинг данных

Так как у меня канал от провайдера подключен в порт «ether1» будем мониторить его. Дальше идем Настройки-> Узлы сети-> Элементы данных -> ищем тут наш интерфейс ether1 (In) и ether1 (Out). Отмечаем их и копируем в заранее созданный отдельный шаблон именно для интерфейса и для конкретного узла. (можно, конечно, и по-другому, но так в последующем будет удобно всем этим управлять).

Выбор интерфейсов

Копирование в шаблон

Дальше отсоединяем шаблон (с очищением данных), который мы использовали для обнаружения интерфейсов и присоединяем тот в который только скопировали.

Просмотр данных

Почему именно так, а не сделать обнаружение для всех разом? Это не удобно так как на каждый придется заходить отключать ненужное и если вы будете VPNиться до микротика то и эти подключения будут автоматом создаваться в Zabbix. Вы можете придумать свои варианты).

Низкоуровневые обнаружения в теории

LLD появился в Zabbix где-то с версии 2.0. Эта техника применяется не только для автообнаружения на хостах, LLD еще очень хорошо разгружает работу сервера Zabbix. В случае активной проверки сервер Zabbix сам отправляет запрос на хост, чтобы получить метрику. Обычно запрос ставится в очередь наряду со всеми остальными запросами и обрабатывается в порядке очереди, но, если метрик много, сервер будет серьезно загружен. В случае с LLD в режиме проверки хост zabbix-trapper сам отправляет серверу список метрик, а спустя небольшое время — и сами метрики со значениями. То есть нагрузка выходит минимальная. Сервер сам решает, что принимать, а что нет, исходя из настроек.

Реализация технологии LLD на хосте следующая: используется связка «приложение — скрипт — сендер Zabbix — сервер Zabbix». Давайте пройдемся по всем этапам, чтобы было понятнее.

  1. Инициализация скрипта.
  2. Запрос от скрипта к приложению на получение метрик.
  3. Обработка запроса от скрипта приложением.
  4. Ответ скрипту от приложения с передачей данных.
  5. Формирование скриптом JSON LLD для передачи имен метрик на сервер Zabbix.
  6. Выдача JSON при вызове скрипта.
  7. Обработка полученных от приложения данных путем формирования метрик и их значений (к примеру, с записью в файл).
  8. Вызов сендера Zabbix скриптом и инициализация отправки метрик на сервер.
  9. Сендер передает запрос на сервер Zabbix. Режим проверки на сервере zabbix-trapper.
  10. Сервер Zabbix считывает метрики и отправляет ответ для сендера.
  11. Сендер получает ответ от сервера и логирует его на экран или в файл.
Читайте так же:
Все материнские платы msi

Чтобы было наглядней, я подготовил для вас небольшую графическую схему взаимодействия компонентов. Надеюсь, она вам поможет.

Схема взаимодействия компонентов Zabbix LLD

Схема взаимодействия компонентов Zabbix LLD

В остальных вопросах вы можете смело обращаться к документации Zabbix. Русскоязычная документация лежит в открытом доступе.

Чтобы ясно понимать принципы работы и взаимодействия компонентов в системе, всегда рисуйте схему. Это поможет вам увидеть полную картину работы системы и освежит память в случае, если вы давно не притрагивался к компонентам системы.

Шаг 5: Добавление Хоста на Zabbix — Server Ubuntu Linux

По умолчанию Zabbix отслеживает только тот сервер, на котором он установлен. В этом разделе мы добавим Zabbix-Host на Zabbix-Server через браузер.

Итак, войдите в свой экземпляр Zabbix-сервера используя браузер.

В левой навигационной панели выберите пункт Configuration > > Hosts

Настройка хостов на Zabbix сервера

Настройка хостов на Zabbix сервера

Перейдите в правый верхний угол и нажмите кнопку «Создать хост«. (Create host)

Создать хост

Создать хост

В появившемся окне заполните данные удаленного хоста, такие как имя хоста. видимое имя, IP-адрес, краткое описание и нажмите на кнопку «Выбрать» (Select) рядом с текстовым полем «Группы«.

Заполните все поля

Заполните все поля

В появившемся списке выберите пункт «Серверы Linux‘ и нажмите кнопку «Выбрать«.

Добавить группу хостов

Добавить группу хостов

Это приведет вас обратно, и вы сможете просмотреть только что добавленную группу, как показано ниже.

Добавить группу серверов Linux

Добавить группу серверов Linux

Затем перейдите на вкладку «шаблоны» (Templates) и нажмите кнопку «Выбрать» рядом с текстовым полем «Связать новые шаблоны» (Link new Templates).

Перейдите на вкладку шаблоны

Перейдите на вкладку шаблоны

Нажмите на кнопку «Выбрать«(Select) рядом с текстовым полем «Группа хостов«, как показано на рисунке.

Читайте так же:
Материнская плата asus p8h77 v характеристики

Поиск группы хостов

Поиск группы хостов

Нажмите на опцию «Шаблоны/операционные системы» (Templates/Operating systems), как показано на рисунке.

выберите шаблоны опции операционной системы

выберите шаблоны опции операционной системы

Затем выберите опцию «Template OS Linux by Zabbix agent’ и нажмите кнопку «Выбрать» (Select).

Выберите шаблон OS Linux с помощью Zabbix агента

Выберите шаблон OS Linux с помощью Zabbix агента

Затем нажмите на кнопку «Добавить» (Add).

Ссылка новый шаблон для Zabbix агента

Ссылка новый шаблон для Zabbix агента

Теперь ваш хост будет указан на панели мониторинга, как показано на рисунке ниже.

Удаленный хост добавлен на в Zabbix сервер

Удаленный хост добавлен на в Zabbix сервер

Низкоуровневое обнаружение в ZABBIX: правила LLD

В официальной документации эта тема 1 рассмотрена подробно, но на мой взгляд примеры слишком узкие (штатное обнаружение файловых систем, snmp OID’ов и сетевых интерфейсов) и обсуждение вопроса начинается совсем не с того конца. По поводу пользовательских правил обнаружения присутствует лишь небольшая «приписка» в самом конце с примером скрипта на perl (!).

Мне же хочется рассмотреть вопрос значительно шире, но в то же время на конкретных примерах. Я расскажу об LLD на основе задачи анализа данных производительности дисковой подсистемы Linux-серверов. Метрики производительности буду получать утилитой iostat (пакет sysstat). Пример вывода данных:

Низкоуровневое обнаружение в ZABBIX правила LLD 01

Вы же можете анализировать вывод любой другой программы.

Что это?

Для тех, кто ещё не знает о чем идет речь, небольшое пояснение на основе простого примера:

у вас есть сервер, на сервере один жесткий диск. Вам нужно отслеживать набор метрик этого диска. Вы без труда создаете шаблон, наполняете его ключами данных, триггерами и прочими элементами и ставите на мониторинг. Далее вам нужно мониторить второй сервер, на котором два диска (разумеется с разными именами). Перед вами встает задача написать новый или дополнить существующий шаблон ещё одним диском с точно такими же метриками. А что, если потом у вас появится сервер с 10 дисками или более?

Правила обнаружения элегантно решают подобные задачи, самостоятельно определяя список отслеживаемых объектов с заранее установленными одинаковыми метриками для каждого.

Читайте так же:
Мониторы для компьютера на алиэкспресс

Правила обнаружения

Для создания правила обнаружения необходимо зайти в шаблон мониторинга (или создать новый, если его ещё нет) — Правила обнаружения — Создать правило обнаружения:

Низкоуровневое обнаружение в ZABBIX правила LLD 02

Подавляющее большинство параметров произвольные и вы можете выбрать для них любые значения, но все же я поясню некоторые моменты:

  • Имя — любое на ваш вкус;
  • Тип — только Zabbix агент;
  • Ключ — выберите любой, но потом вы должны использовать это же имя ключа в конфигурации агента Zabbix;
  • Интервал обновлений — не выставляйте слишком маленький интервал, ведь аппаратная конфигурация сервера обычно меняется редко. Для отладки можете использовать значение в 60 сек., чтобы не ждать слишком долго;
  • Фильтр — имя макроса, которое будет использоваться для извлечения имен блочных устройств (актуально для моего примера. У вас это может быть что-то другое, например имена сетевых интерфейсов). Макрос должен быть заключен в <#>, в имени допускается использование символов A-Z , 0-9 , _;

Нажимайте Сохранить и на этом этапе работы на стороне сервера Zabbix завершены, в следующих статьях мы сюда ещё вернемся.

Набор данных

Агент должен возвращать серверу набор отслеживаемых элементов в формате json (список блочных устройств, если опираться на мой пример). Это главное и единственное требование. Каким образом вы это реализуете уже не так важно. Данные в человекочитаемом виде могут выглядеть так:

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector