Zabbix перезапускает службу Windows

Обновлено: 21.11.2024

В этой лекции я покажу, как использовать сценарии администрирования из Zabbix Server, Zabbix Proxy и агентов Zabbix.

Конфигурация зависит от

  • из какого процесса и на каком сервере будет выполняться скрипт.
  • включены ли удаленные команды для процесса, выполняющего сценарий,
  • потребуются ли пользователю Zabbix привилегии sudo для какой-либо части команды скрипта.
  • есть ли у агента работающие пассивные проверки.

В этом видео я показываю, как настроить и решить проблемы с уже существующими сценариями администрирования, пинговать и определять операционную систему.

При вызове сценария администрирования ping для хоста за прокси-сервером Zabbix конфигурация прокси-сервера Zabbix также должна быть обновлена, чтобы разрешить удаленные команды. Это связано с тем, что пинг будет выполняться с прокси-сервера Zabbix. Вы также должны перезапустить прокси-сервер Zabbix после любого изменения конфигурации.

Для сценария администрирования, используемого для определения операционной системы, исполняемый файл nmap будет использоваться либо с сервера Zabbix, либо с прокси-сервера Zabbix, и его необходимо будет сначала установить на сервере или прокси-сервере, и вам также потребуется разрешить привилегии sudo пользователя Zabbix для его выполнения.

Добавьте строку zabbix ALL=(ALL) NOPASSWD: /usr/bin/nmap

Нажмите Ctrl-X и Y, чтобы сохранить.

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

Устранение неполадок

Для Zabbix Proxy 5.01 и более ранних версий, если вы хотите, чтобы он мог передавать удаленные команды с сервера Zabbix на отслеживаемые им хосты, вам нужно только установить EnableRemoteCommands=1 . И вы перезапустили свой агент/прокси-сервер после внесения изменений.

Для Zabbix Proxy 5.02 и более поздних версий необходимо установить параметры AllowKey и/или DenyKey, а затем перезапустить прокси-сервер.

Вы можете игнорировать это предупреждение.

Для Zabbix Proxy 5.01 и более ранних версий, если вы хотите, чтобы он мог передавать удаленные команды с сервера Zabbix на хосты, которые он отслеживает, вам нужно только установить EnableRemoteCommands=1

Если бы вы добавили AllowKey или DenyKey в конфигурацию прокси для Zabbix 5.01, вы бы теперь получили сообщение об ошибке: неизвестный параметр "AllowKey" в файле конфигурации "/etc/zabbix/zabbix_proxy.conf" и/или неизвестный параметр "DenyKey". " в файле конфигурации "/etc/zabbix/zabbix_proxy.conf" в зависимости от того, что вы добавили.

Важно использовать AllowKey или DenyKey, только если вы используете Zabbix Proxy 5.02 или более позднюю версию.

Если вы видите сообщение об ошибке,

Это может быть многое. Это также может быть связано с тем, что ваш агент подключен к серверу только с активными проверками. Сервер не может найти вашего агента по IP-адресу или доменному имени, возможно, из-за того, что он находится в другой сети, где не настроено правило брандмауэра для пересылки запроса с сервера. Если ваш агент находится за брандмауэром и использует прокси-сервер Zabbix, вам не нужно настраивать брандмауэр, если ваш прокси-сервер также работает в активном режиме (по умолчанию).

Остановка запуска служб Windows

Вы можете создавать сценарии администрирования для остановки/запуска/перезапуска служб Windows.

На изображении выше показан пример сценария администрирования для перезапуска буфера печати Windows.

Если вы хотите явно остановить или запустить службу очереди печати, например,

Вы можете получить статус службы, используя команду

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

Однако, если вы остановите агент Zabbix, используя описанный выше метод, вы не сможете перезапустить его снова.

например, это не удастся.

Агент остановится, но не запустится.

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

Если вы просто создаете сценарий для выполнения, маловероятно, что он завершит выполнение, поскольку родительский процесс, который его запустил (агент Zabbix), был преждевременно остановлен, прежде чем он смог продолжить работу и завершиться запуском нового процесса агента Zabbix.

Если вы хотите попробовать эти команды локально на хосте, вам потребуется запустить cmd или powershell с правами администратора.

Powershell более подробно обсуждается позже в курсе Powershell Windows Updates.

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

Zabbix — один из самых популярных в мире пакетов мониторинга с открытым исходным кодом.

Агент Zabbix, ключевой компонент программного обеспечения, отвечает за мониторинг хост-компьютера и сбор информации для использования в отчетах и ​​оповещениях.

Агент Zabbix устанавливается как служба Windows, что является естественным выбором для автоматической работы в фоновом режиме в среде 24/7:

Чтобы защитить службу Windows агента Zabbix с помощью Service Protector:

При необходимости загрузите и установите Service Protector.

Запустить Service Protector.

Выберите Protector > Add, чтобы открыть окно добавления Protector:

На вкладке Общие в поле Служба для защиты выберите службу Windows агента Zabbix:

Service Protector обладает расширенными функциями, но пока давайте остановимся на основах. Нажмите кнопку Сохранить, чтобы сохранить настройки.

Через несколько секунд в главном окне появится запись для службы агента Zabbix. Зеленый щит указывает на то, что Service Protector активно присматривает за Zabbix:

Вот оно! В следующий раз, когда ваш компьютер перезагрузится, служба Windows агента Zabbix запустится автоматически (как обычно), а Service Protector будет отслеживать службу и быстро перезапускать ее, если она останавливается по какой-либо причине.

Мы рекомендуем вам отредактировать запись агента Zabbix и изучить множество настроек, которые могут быть полезны в вашей среде. Например, отправка электронной почты при сбое службы, автоматический перезапуск, если служба «зависает» при запуске или остановке, и многое другое.

Проблемы с защитой службы Windows агента Zabbix?

Ответы на часто задаваемые вопросы и советы по устранению неполадок см. в FAQ по Service Protector.

С помощью удаленных команд вы можете указать, что определенная предопределенная команда автоматически выполняется на контролируемом узле при определенных условиях.

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

В наиболее очевидных случаях использования этой функции вы можете попробовать:

Автоматически перезапускать какое-либо приложение (веб-сервер, промежуточное ПО, CRM), если оно не отвечает

Используйте команду IPMI «reboot» для перезагрузки удаленного сервера, если он не отвечает на запросы

Автоматическое освобождение места на диске (удаление старых файлов, очистка /tmp) при нехватке места на диске

Миграция ВМ с одного физического устройства на другое в зависимости от загрузки ЦП

Добавлять новые узлы в облачную среду при нехватке ресурсов ЦП (диск, память и т. д.)

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

Удаленные команды могут выполняться сервером Zabbix, прокси или агентом. Удаленные команды на агенте Zabbix могут выполняться непосредственно сервером Zabbix или через прокси Zabbix. Удаленные команды агента Zabbix и прокси-сервера Zabbix отключены по умолчанию. Их можно включить:

установка для параметра EnableRemoteCommands значения «1» в конфигурации прокси-сервера.

Удаленные команды, выполняемые сервером Zabbix, запускаются, как описано в разделе Выполнение команд, включая проверку кода выхода.

Удаленные команды выполняются, даже если целевой хост находится на обслуживании.

Ограничение удаленных команд

Ограничение удаленных команд после разрешения всех макросов зависит от типа базы данных и набора символов (для хранения символов, отличных от ASCII, требуется более одного байта):

< td>База данных Oracle

В следующем руководстве представлены пошаговые инструкции по настройке удаленных команд.

Конфигурация

Те удаленные команды, которые выполняются на агенте Zabbix (пользовательские сценарии), должны быть сначала включены в конфигурации агента.

Удаленные команды не работают с активными агентами Zabbix.

Затем при настройке нового действия в Конфигурация → Действия:

  • Определите соответствующие условия. В этом примере установите, что действие активируется при любой проблеме сбоя в одном из приложений Apache:

Все обязательные поля ввода отмечены красной звездочкой.

На вкладке Операции выберите тип операции удаленной команды

Выберите тип удаленной команды (IPMI, Пользовательский сценарий, SSH, Telnet, Глобальный сценарий)

Если выбран тип Пользовательский скрипт, выберите способ выполнения пользовательского скрипта (агентом Zabbix, сервером Zabbix (прокси) или только сервером Zabbix)

Введите удаленную команду

В этом случае Zabbix попытается перезапустить процесс Apache. С помощью этой команды убедитесь, что команда выполняется на агенте Zabbix (нажмите кнопку Агент Zabbix напротив Выполнить в).

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

Агент Zabbix должен работать на удаленном хосте и принимать входящие соединения. Агент Zabbix выполняет команды в фоновом режиме.

Разрешения на доступ

Убедитесь, что у пользователя zabbix есть права на выполнение настроенных команд. Кто-то может заинтересоваться использованием sudo для предоставления доступа к привилегированным командам. Чтобы настроить доступ, выполните от имени пользователя root:

Примеры строк, которые можно использовать в файле sudoers:

В некоторых системах файл sudoers не позволяет нелокальным пользователям выполнять команды. Чтобы изменить это, закомментируйте параметр requiretty в /etc/sudoers.

Удаленные команды с несколькими интерфейсами

Если целевая система имеет несколько интерфейсов выбранного типа (агент Zabbix или IPMI), удаленные команды будут выполняться на интерфейсе по умолчанию.

Возможно выполнение удаленных команд через SSH и Telnet с использованием другого интерфейса, отличного от интерфейса агента Zabbix. Доступный интерфейс для использования выбирается в следующем порядке:

Интерфейс агента Zabbix по умолчанию

Интерфейс SNMP по умолчанию

Интерфейс JMX по умолчанию

Интерфейс IPMI по умолчанию

Удаленные команды IPMI

Для удаленных команд IPMI следует использовать следующий синтаксис:

- одна из команд IPMI без пробелов

- «включено», «выключено» или любое целое число без знака. является необязательным параметром.

Примеры

Пример 1

Перезапуск Windows при определенных условиях.

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

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

Для целей этого поста я настрою zabbix для перезапуска доменной службы Active Directory, когда служба выйдет из строя.

- Войдите в zabbix → нажмите «Конфигурация/Действия» → нажмите «Создать действие» (в верхнем правом углу) → введите имя действия и оставьте остальное по умолчанию

- Перейдите на вкладку «Условия» → «Оставить метку условия» (A) → удалите все другие условия и добавьте новое условие «Триггер» (новым условием будет « Триггер = >) → нажмите «Добавить», чтобы добавить новое условие.

- Перейдите на вкладку «Операции» → Тип операции «Удаленная команда» → Введите новую цель как «Текущий хост» → Тип равен «Пользовательский сценарий» → Выполнить соответствует «Агент Zabbix» → Введите команду «cmd /c «net start» NTDS» ' → нажмите «Добавить», чтобы добавить новое реактивное действие → сохраните конфигурацию

- Чтобы проверить это, просто остановите « Службу домена Active Directory » → Подождите несколько секунд и проверьте, была ли перезапущена служба → Чтобы подтвердить этот тест, ниже приведен журнал в файле журнала агента:

  • Nhận đường liên kết
  • Фейсбук
  • Твиттер
  • Pinterest
  • Электронная почта
  • Унг Донг Хач

Nhận xét

Анг нхан ксет

Bài đăng phổ biến từ blog này

ЧИСТКА БАЗЫ ДАННЫХ Zabbix

Размер моей базы данных Zabbix сильно увеличился за последние несколько месяцев, и, поскольку на моем диске заканчивалось место, я решил очистить базу данных от старых событий. Глядя на таблицы базы данных, самой большой из них была history_uint , которая содержит данные истории элементов — более 400 миллионов записей и более 30 ГБ дискового пространства до очистки. Поскольку удаление старых записей из этой таблицы напрямую было бы очень медленным процессом, я решил создать новую таблицу и вставить последние записи из таблицы history_uint, а затем просто заменить старую таблицу новой.Поскольку это неофициальная процедура, используйте ее на свой страх и риск. Среда: Zabbix v2.2 MySql 5.1 – InnoDB с innodb_file_per_table=ON Шаг 1 – Остановите сервер Zabbix Шаг 2 – Откройте ваш любимый клиент MySQL и создайте новую таблицу CREATE TABLE history_uint_new LIKE history_uint; Шаг 3. Вставьте последние записи из таблицы history_uint в таблицу history_uint_new Сначала вам нужно удалить

Настройка службы DHCP Relay на устройстве FortiGate

Настройка службы ретрансляции DHCP на устройстве FortiGate Если клиенты настроены на получение IP-адреса с помощью ретрансляции DHCP, настройте сервер FortiGate, как показано ниже. Чтобы настроить ретрансляцию DHCP на устройстве FortiGate, выполните следующие действия. выберите Интерфейс для настройки ретрансляции DHCP. 2. Включите DHCP-сервер в интерфейсе и выберите «Дополнительно». 3. В поле «Режим» выберите «Ретрансляция». 4. В поле Тип выберите Обычный. 5. Выберите ОК. 6. Если между устройством FortiGate и сервером DHCP установлен маршрутизатор, определите статический маршрут к серверу DHCP. Примечание. Иногда требуется указать более одного IP-адреса ретранслятора DHCP, чтобы обеспечить покрытие дополнительных подсетей локальной сети. Хотя в веб-менеджере (GUI) нет такой возможности для настройки, можно настроить до 8 IP-адресов из интерфейса командной строки. config system interface edit set dhcp-relay-ip .

Читайте также:

База данныхОграничение по количеству символов Ограничение в байтах
MySQL6553565535
20484000
PostgreSQL65535 не ограничено
SQLite (только прокси Zabbix)65535не ограничено