Вопрос или проблема
Существует ли способ включить action_url
(из определения сервиса) в шаблон электронной почты?
Только что протестировал это, и вам нужен макрос $SERVICEACTIONURL$, но имейте в виду, что макрос МОЖЕТ содержать относительный путь, который расширяется в веб-виде, но расширение не происходит, если вы используете его в строках уведомлений. Лучше использовать абсолютные URL.
.
Ответ или решение
Чтобы включить action_url
в уведомления по электронной почте Nagios, необходимо следовать определенным шагам и учитывать несколько важных аспектов.
1. Понимание макроса $SERVICEACTIONURL$
Для того чтобы добавить URL действия в шаблон уведомления, первым делом следует использовать макрос $SERVICEACTIONURL$
, который предоставляет ссылку на выполнение действий для конкретной службы. Этот макрос указывает на путь, заданный в определении службы Nagios.
2. Ограничения использования
Важно понимать, что макрос может содержать относительный путь, который будет корректно обрабатываться в веб-интерфейсе Nagios. Однако в уведомлениях по электронной почте на данный момент не происходит расширения относительно адресов. В результате этого, чтобы избежать путаницы и обеспечить корректное функционирование ссылок, рекомендуется использовать абсолютные URL.
3. Настройка уведомлений
Чтобы настроить уведомление таким образом, чтобы оно включало абсолютный action_url
, выполните следующие шаги:
-
Откройте файл конфигурации службы, который вы хотите изменить. Обычно он находится в
/usr/local/nagios/etc/objects/
или в другом репозитории, где сохранены ваши конфигурации Nagios. -
Найдите определение службы, для которой вы хотите добавить URL действия.
define service {
use generic-service
host_name your_host
service_description your_service
check_command your_command
action_url http://your-nagios-server/nagios/cgi-bin/some_action.pl?service=$SERVICEDESC$
}
- В части конфигурации уведомлений добавьте
$SERVICEACTIONURL$
, после чего убедитесь, что этот макрос указывает на полный URL.
4. Пример уведомления
Для того чтобы добавить action_url
в email-уведомление, необходимо редактировать шаблон уведомлений. В конфигурационных файлах добавьте соответствующие строки:
define contact {
...
service_notification_commands email_notification
...
}
define command {
command_name email_notification
command_line /usr/bin/printf "%b" "Уведомление о состоянии\n\nСлужба: $SERVICEDESC$\nСостояние: $SERVICESTATE$\nОписание: $SERVICEOUTPUT$\nДействие: $SERVICEACTIONURL$" | /usr/bin/mail -s "Уведомление Nagios от $NAGIOSHOST$" $CONTACTEMAIL$
}
5. Заключение
Следуя приведенным выше инструкциям, вы сможете успешно интегрировать action_url
в уведомления Nagios, отправляемые по электронной почте. Использование абсолютных URL минимизирует ошибки и повышает удобство восприятия полученной информации. Это важный шаг для оптимизации работы с Nagios и повышения эффективности мониторинга ваших сервисов. Если у вас возникнут дополнительные вопросы или потребуется индивидуальная помощь, не стесняйтесь обращаться на официальные форумы или ресурсы сообщества Nagios.