Категорії
Solaris

Мониторим службы стандартными средствами

Solaris предоставляет богатый набор возможностей для управления службами. Одно из замечательных средств – внутренний механизм отслеживания состояния служб. В других ОС приходится ставить ПО наподобии monit или писать вручную скрипты, а в Solaris это уже продумано.

Тестовый стенд: Solaris11.

Данная статья является вольным переводом соответствующего раздела раздела официальной документации.

Для управления уведомлениями используется команда svccfg setnotify. Её синтаксис таков:

# /usr/sbin/svccfg setnotify {[-g] tset | class} notification_parameters

-g = значит глобально
tset = состояние служб или событий (может быть maintenance, degraded, offline, and online, all, а так же наборы с приставками to/from: to-online, from-offline)
class = события (problem-repaired, problem-diagnosed, problem-updated, problem-resolved)
notification_parameters = параметры уведомления (mailto, snmp, syslog)

Следующая команда создаст уведомление, когда какая-то из служб перейдёт в состояние maintenance:

# /usr/sbin/svccfg setnotify -g maintenance mailto:sysadmins@example.com

Или для отдельного сервиса:

# /usr/sbin/svccfg -s svc:/system/name-service/switch:default setnotify maintenance mailto:sysadmins@example.com

Так же можно использовать вместо maintenance такие ключевые слова degraded, offline, and online, all (или несколько, перечисленные через запятую без пробела).
Ещё приятным моментом будет узнать то, что можно отслеживать не только изменения, а и переходы с одного состояния в другое или просто переход в состояние. Для этого используются ключевые слова to-* и from-* :

# /usr/sbin/svccfg -s svc:/system/name-service/switch:default setnotify to-online mailto:sysadmins@example.com

А так же можно ещё к этому всему отправлять сообщения в snmp traps:

# /usr/sbin/svccfg setnotify problem-repaired snmp:SNMP-TRAP

Вместо problem-repaired можно использовать problem-diagnosed, problem-updated, problem-resolved (или несколько, перечисленные через запятую без пробела)

А вот пример удаление уведоммления:

# /usr/sbin/svccfg -s svc:/system/name-service/switch:default delnotify to-online

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

# /usr/sbin/svccfg listnotify problem-diagnosed
    Event: problem-diagnosed (source: svc:/system/fm/notify-params:default)
        Notification Type: smtp
            Active: true
            reply-to: root@localhost
            to: root@localhost

        Notification Type: snmp
            Active: true

        Notification Type: syslog
            Active: true

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *

Домашняя страничка Andy
Записки молодого админа
Самостоятельная подготовка к Cisco CCNA
Самостоятельная подготовка к Cisco CCNP
Powered by Muff