Отправка уведомлений Zabbix в скайп (звонки со скайпа — бонусом)

image

Случилось так что в компании, из-за перебоев электропитания, несколько раз падали сервера, а администраторы узнавали об этом только утром когда сотрудники не смогли приступить к работе.

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

Тогда у меня и зародилась идея — «А давайте админам звонить в критических ситуациях!»

За реализацией и скриптами — прошу под кат.

За исходную точку приймем уже установленный и настроенный Zabbix которому не хватает лишь системы уведомлений.

В нашей инфраструктуре zabbix развернут на Debian 7 x64 — что привнесло некоторые излишества в процесс уведомления, так как Skype не удалось запустить на данной системе. Тем у кого 32-bit система — головная боль не светит.

Итак, приступим.

Первым делом нам необходимо установить Skype и его зависимости:
Система планируется очень ресурсоэкономичной, потому графической оболочки иметь не будет, как таковой.

1. Устанавливаем базовые компоненты.

# Добавляем юзера Skype из-под которого будет запускаться наш сервис
useradd skype
passwd skype
# Устанавливаем x server
apt-get install xvfb
apt-get install fluxbox x11vnc
# Удовлетворяем требования для skype
apt-get install dbus
apt-get install libasound2 libqt4-dbus libqt4-network libqtcore4 libqtgui4 libxss1 libpython2.6 libqt4-xml libaudio2 libmng1 fontconfig liblcms1
apt-get install lib32stdc++6 lib32asound2 ia32-libs libc6-i386 lib32gcc1
# Качаем инсталяшку скайпа с сайта  
wget http://www.skype.com/go/getskype-linux-deb-32 -O skype.deb
# Устанавливаем скайп
dpkg -i skype.deb


Если остались какие-либо зависимости — apt-get install нам в помощь.

* Стоит заметить что скайп есть только 32-битный. И на Debian 7 x64 его запустить не удалось. Моим решением стала установка еще одной виртуальной машины с Debian 7 32-bit и запуска скайпа на ней

Вторым шагом нам необходимо установить Skype4py — набор Python скриптов\утилит с помощью которых мы можем подключаться к инстансу скайпа.

# Скачиваем Skype4Py
wget 'http://sourceforge.net/projects/skype4py/files/skype4py/1.0.31.0/Skype4Py-1.0.31.0.tar.gz/download?use_mirror=switch'
# Распаковуем архив
tar -xzf Skype4Py-1.0.31.0.tar.gz
# Устанавливаем Skype4py
cd Skype4Py-1.0.31.0/
python setup.py install


Итак, на данный момент у нас есть все необходимое для работы.

Третим шагом мы упростим свою дальнейшую работу.
Для этого создадим несколько скриптов для более быстрого запуска сервиса.
1. start-server.sh — данный скрипт будет запускать\останавливать\перезапускать Xvfb, fluxbox и сам Skype:

#!/bin/bash

if [[ "$USER" != 'skype' ]]; then
	echo "Please start this script as skype!"
	exit 1
fi

export DISPLAY=:1

dnb=`dirname "$0"`


start() {
	if [[ `ps aux | grep skype | grep "Xvfb :1" | grep -v grep | wc -l` == '0' ]]; then
		echo "starting Xvfb"
		Xvfb :1 -screen 0 800x600x16 &
	else
		echo "Xvfb already running"
	fi
	if [[ `ps aux | grep skype | grep "fluxbox" | grep -v grep | wc -l` == '0' ]]; then
		echo "starting fluxbox"
		sleep 1
		fluxbox &
	else
		echo "fluxbox already running"
	fi
	if [[ `ps -eo pid,user,args | grep skype | awk '{ print $1 " " $3; }' | grep skype | wc -l` == '0' ]]; then
		echo "starting skype"
		sleep 2
		skype &
	else
		echo "skype already running"
	fi
}

stop() {
	if [[ `ps -eo pid,user,args | grep skype | awk '{ print $1 " " $3; }' | grep skype | wc -l` == '0' ]]; then
		echo "skype is NOT running"
	else
		echo "killing skype"
		killall skype
	fi

	"$dnb/start-vnc.sh" stop

	if [[ `ps aux | grep skype | grep "fluxbox" | grep -v grep | wc -l` == '0' ]]; then
		echo "fluxbox is NOT running"
	else
		echo "Killing fluxbox"
		killall fluxbox
	fi
	if [[ `ps aux | grep skype | grep "Xvfb :1" | grep -v grep | wc -l` == '0' ]]; then
		echo "Xvfb is NOT running"
	else
		echo "Killing Xvfb"
		killall Xvfb
	fi
}

status() {
	i='3'
	if [[ `ps aux | grep skype | grep "Xvfb :1" | grep -v grep | wc -l` == '0' ]]; then
		echo "Xvfb is NOT running"
	else	
		echo "Xvfb is running"
		((i--))
	fi
	if [[ `ps aux | grep skype | grep "fluxbox" | grep -v grep | wc -l` == '0' ]]; then
		echo "fluxbox is NOT running"
	else
		echo "fluxbox is running"
		((i--))
	fi
	if [[ `ps -eo pid,user,args | grep skype | awk '{ print $1 " " $3; }' | grep skype | wc -l` == '0' ]]; then
		echo "skype is NOT running"
	else
		echo "skype is running"
		((i--))
	fi
	if [[ "$i" == '0' ]]; then
		echo "OVERALL STATUS: OK"
		exit 0
	fi
	if [[ "$i" == '1' || "$i" == '2' ]]; then
		echo "OVERALL STATUS: NOT RUNNING PROPERLY"
		
	else
		echo "OVERALL STATUS: NOT RUNNING"
	fi
	exit "$i"
}


case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
status)
status
;;
*)
echo "Usage: $0 {start|stop|restart|status}"
exit 1
esac



2. start-vnc.sh — скрипт для запуска VNC сервера — так как нам необходим графический интерфейс для ввода аккаунта скайпа и подтверждения разрешения на работу с внешним API:

#!/bin/bash

if [[ "$USER" != 'skype' ]]; then
	echo "Please start this script as skype!"
	exit 1
fi

export DISPLAY=:1

dnb=`dirname "$0"`


start() {
	"$dnb/start-server.sh" status
	if [[ "$?" == '0' ]]; then
		echo "Starting x11vnc"
		if [[ `ps aux | grep skype | grep "x11vnc -display :1" | grep -v grep | wc -l` == '0' ]]; then
		x11vnc -display :1 -bg -nopw -listen localhost -xkb
		else
			echo "x11vnc is already running!"
		fi
		#pid=`ps aux | grep skype | grep "x11vnc -display :1" | grep -v grep | awk '{ print $2; }'`
		echo "	now use on your machine: ssh -L 5900:127.0.0.1:5900 'skype@`hostname`'"
		echo "	and connect to your local port with vncviewer!"
	else
		echo "The server doesn't run."
		echo 'Use "'"$dnb"'/start-server.sh" to start the server'
	fi
	
}


status() {
	if [[ `ps aux | grep skype | grep "x11vnc -display :1" | grep -v grep | wc -l` == '0' ]]; then
		echo "x11vnc isn't running"
		exit 1
	else
		echo "x11vnc is running"
		exit 0
	fi
}

stop() {
	if [[ `ps aux | grep skype | grep "x11vnc -display :1" | grep -v grep | wc -l` == '0' ]]; then
		echo "x11vnc isn't running"
	else
		echo "killing x11vnc"
		killall x11vnc
	fi
}




case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
status)
status
;;
*)
echo "Usage: $0 {start|stop|restart|status}"
exit 1
esac


Шаг четвертый — запускаем и настраиваем скайп.
Запускаем оба наших скрипта под юзером skype:
./start-server.sh start
./start-vnc.sh start

Пробрасуем порт VNC сервера (можно и на локальный IP сервера мапить \в скрипте ./start-vnc.sh\ — но для большей универсальности используем такой метод):
ssh -L 5900:127.0.0.1:5900 ‘skype@your.zabbix.server’

Подключаемся любимым VNC вьювером к 127.0.0.1 порт 5900 и видим запущеный скайп
Вводим логин и пароль для аккаунта который будет отправлять нам уведомления И НЕ ЗАБЫВАЕМ ПОСТАВИТЬ ГАЛОЧКУ НА СОХРАНЕНИЕ ПАРОЛЯ

Включаем в скайпе:

no chat history
just people on my list can write me
just people on my list can call me

Прежде чем закрывать окно графического интерфейса нам необходимо разрешить подключения Skype4py к самому скайпу.
Для этого с консоли выполняем (текст скрипта — ниже по тексту):

./sendim.sh ‘USERNAME’ ‘HELLO WORLD’

где USERNAME — имя аккауна КУДА отправлять сообщение
HELLO WORLD — само сообщение

Возвращаемся к окну с VNC и видим что скайп просит нас разрешения — жмем «разрешить и запомнить».

Останавливаем VNC сервер:

./start-vnc.sh stop


И проверяем работу скайпа, отправив еще раз:

./sendim.sh ‘USERNAME’ ‘HELLO WORLD’


Теперь сообщение должно прийти нашему USERNAME.

Шаг последний — настройка zabbix.
1. Ищем в zabbix_server.conf путь для AlertScriptsPath
2. Создаем скрипты для отправки уведомлений

Создаем два скрипта:
sendim.sh — в домашнем каталоге юзера skype и делаем линк в папку AlertScriptsPath

#!/bin/bash

export DISPLAY=:1

python ~skype/sendim.py "$1" "$2"


В данном скрипте первый параметр — имя пользователя (кому отправлять), второй — сообщение.

sendim.py — в домашнем каталоге юзера Skype:

import Skype4Py
import sys
# Create an instance of the Skype class.
skype = Skype4Py.Skype()
# Connect the Skype object to the Skype client.
skype.Attach()
user = sys.argv[1]
msg = ' '.join(sys.argv[2:])
message = skype.SendMessage(user, msg)


Проверяем еще раз:

./sendim.sh username message


Конфигурируем уведомления в Zabbix.
1. Настраиваем Media type
идем в Administration -> Media Types и создаем новый медиа тип:
Name: Skype
Type: Script
Script name: sendim.sh
Enabled: true


2. Определяем пользователей работающих с данными уведомлениями:
идем в Administration -> Users и в свойствах юзверя (-ей) разрешаем наш новый медиа тип и конфигурим юзернеймы для скайпа
Type: Skype
Send to: YOUR_SKYPE_NAME

YOUR_SKYPE_NAME — скайп логин кому будем отправлять.
И так для каждого юзера кому хотим отправлять уведомления.

Конфигурируем Actions для отправки уведомлений:

Все что мы хотим отправлять в скайп — должно находится в строке subject (само тело сообщения — не отправляется).

Создаем необходимые Conditions и настраиваем Operations:



Можно тестировать.

* Как я указывал в начале — у нас скайп стоит на отдельном от zabbix сервере и команды выполняются удаленно с помощью
sudo sshpass -p 'skype' ssh skype@IP_ADDRESS "./sendim.sh '$1' '$2'"

где IP_ADDRESS — айпишник сервера со скайпом

Также реализована функция — «звонилка». Скайп звонит Админам по указанным номерам.
Тексты скриптов — ниже. В случае необходимости расскажу как настроить — но это тема отдельного поста )

skype_caller.py — подключаемся и звоним со скайпа:

#!python
# ---------------------------------------------------------------------------------------------
#  Python / Skype4Py example that takes a skypename or number from the commandline
# and calls it.
#

import sys
import Skype4Py

# This variable will get its actual value in OnCall handler
CallStatus = 0

# Here we define a set of call statuses that indicate a call has been either aborted or finished
CallIsFinished = set ([Skype4Py.clsFailed, Skype4Py.clsFinished, Skype4Py.clsMissed, Skype4Py.clsRefused, Skype4Py.clsBusy, Skype4Py.clsCancelled]);

def AttachmentStatusText(status):
   return skype.Convert.AttachmentStatusToText(status)

def CallStatusText(status):
    return skype.Convert.CallStatusToText(status)

# This handler is fired when status of Call object has changed
def OnCall(call, status):
    global CallStatus
    CallStatus = status
    print 'Call status: ' + CallStatusText(status)

# This handler is fired when Skype attatchment status changes
def OnAttach(status): 
    print 'API attachment status: ' + AttachmentStatusText(status)
    if status == Skype4Py.apiAttachAvailable:
        skype.Attach()

# Let's see if we were started with a command line parameter..
try:
    CmdLine = sys.argv[1]
    file = sys.argv[2]
except:
    print 'Missing command line parameter'
    sys.exit()

# Creating Skype object and assigning event handlers..
skype = Skype4Py.Skype()
skype.OnAttachmentStatus = OnAttach
skype.OnCallStatus = OnCall

# Starting Skype if it's not running already..
if not skype.Client.IsRunning:
    print 'Starting Skype..'
    skype.Client.Start()

# Attatching to Skype..
print 'Connecting to Skype..'
skype.Attach()

# Make the call
print 'Calling ' + CmdLine + '..'
global cl
cl = skype.PlaceCall(CmdLine)
cl.InputDevice( Skype4Py.callIoDeviceTypeFile ,file )


# Loop until CallStatus gets one of "call terminated" values in OnCall handler
while not CallStatus in CallIsFinished:
    pass


skype_caller.sh — вызывалка skype_caller.py:

#!/bin/bash

export DISPLAY=:1

python ~skype/skype_caller.py "$1" "$2"


Всем Хабр.
Поделиться публикацией

Комментарии 51

    +4
    как-то много телодвижений. если система такая критичная, может проще было смс-ки отсылать?
      0
      для отправки смс-ок надо договарисватся с оператором (e-mail -> sms у нас нету)

      На крайний случай сейчас планирую подключение обычного мобильного телефона именно для этих целей
      второй вариант — отправка смс с того же скайпа, но звонки, как по мне, эфективнее и больше шансов что админы услышат. Особенно в ночное то время
        +3
        Для первого способа sms.ru (не сочтите за рекламу).
          0
          Спасибо! смотрел на него, но есть проблемма — Номер не в РФ. ))

          Мы не в РФ )
            +2
            Насколько я знаю, подобных провайдеров много в любой стране, и цены у них более чем доступные.
            Я закинул при регистрации 100 рэ два года назад, до сих пор не кончились.
              0
              Я писал бесплатный сервис skysiss, сейчас можно слать POST на public page и он будет слать сообщение на нужный skype/xmpp/whatsapp но там задержка для антиспама стоит. Могу дописать API для этого без ограничений по аккаунту к примеру, может еще кому нибудь пригодиться. Мне не сложно.
                0
                Пользуюсь давно уже smsc.ru (то же не сочтите за рекламу) для отправки смс на номера в Украине, смс приходят быстро, а ихнее API очень удобное, отсылается обычное письмо (почта) к ним и вуоля, вам пришла смс.
                P.S. Пользуюсь в связке nagios + smsc, пока доволен.
              +3
              Рекомендую smsc.ru. Удобное апи для всех языков.
                0
                лучше sms, конечно — если ляжет и-нет, скайп будет бесполезен.
                У нас прикручен какой-то gsm-передатчик, а на Zabbix — скрипты с gnokii.
                Также есть отправка сообщений в твиттер и жаббер — кому как удобнее — но критические сообщения настроены только на смс
                  0
                  Самое главное в подключении телефона — тариф с предоплатой на котором при достижении 0 все блокируется. А то был печальный опыт когда залип скрипт отправки смс на постоплатном тарифе. В итоге улетело около 40 000 смс =(
                +19
                Шикарный способ анекдотичного удаления гланд… Вместо того, чтобы чинить архитектурные огрехи при которых почта, через которую отсылаются сообщения, ложится вместе с системой, про которую эти сообщения, вместо того, чтоб использовать заложенный в коробку с заббиксом способ посылки смс, вместо того, чтоб использовать открытый SIP на худой конец, Вы выбрали проприетарный, кривой и глючный скайп. И для чего? Не для болтания за жизнь. Вы на ЭТО повесили систему информирования.

                Спасибо за руководство о том, как не надо делать НИКОГДА.
                  –4
                  ну например для того чтоб юзать только скайп. а не держать 300 меседжеров.

                  а скайп он типа как стандарт, все его юзают.
                    +4
                    Каких мессенджеров? Речь идет про звонки админам, на мобильные или городские номера И через sip им позвонить можно намного проще скайпа. А если нужно текстовое информирование, то лучше емейла для этого ничего не подойдет. Хотя да, не надо при этом использовать те же сервера, что мониторятся.

                    Аргумент про «стандарт» шикарен. Не вступая в холивар на тему где эти «все», кто его юзает, скажу только то, что стандартизация хороша, когда она не в ущерб надежности.
                      0
                      я и не говорил что скайп хорош.

                      я говорю что на десктопе держать много всего разного не удобно. а просто позвонить — да, скайп вовсе не лучший вариант.
                        0
                        Вы забыли еще момент что админы не всегда есть в скайпе, как по мне смс или SIP + звонок гораздо надежнее. Плюс как по мне куда более надежнее арендовать какую то внешнюю VPS настроить nagion на сервере + nrpe на стороне клиента (сервер который мониторится) и будет вам счестье, благо стоимость VPS сейчас минимальная.
                    0
                    Кстати, буду благодарен, если подкинете годную скриптуемую звонилку по SIP.
                      0
                      www.pjsip.org/
                      Linphone (linphonec/linphonecsh)

                      © Статья из гугла
                        0
                        Понятно. Хотел на ней написать звонилку, но так и не смог установить. К сожалению, в репозиториях Ubuntu её нет. Возможно ещё раз попробую.
                        0
                        Так а астериск чем плох?
                        call файлы в спулер. И фестивалем алерт проговаривать — у нас прекрасно работает.
                          0
                          А можете минимальный пример привести? С Астериском не работал.
                            0
                            Что именно привести?
                            Доку по настройке астериска? Или как реализовать звонки с алертами через него?
                            Мне правда не жалко, просто надо понять масштаб катастрофы )))
                              0
                              Скажем, аналог описанного в топике решения — скрипт sip_caller.sh <recipient> <path-to-audio-file> и sip_sendim.sh <recipient> <message>.
                                +1
                                Сообщения через SIP — это не работает.
                                А звонки — легко.

                                Ну как-то так, например (там вначале регулярка — вырезает текст из нашего шаблона, у вас, скорее всего чуть по другому будет, но суть та же):

                                #!/bin/bash
                                cd /tmp
                                PHONE=$1
                                TEXT=`echo "${*:2}"| sed 's/\[//' | sed 's/\]//'`
                                FILE=`echo "$PHONE$(date +%s)" | md5sum | cut -f1 -d ' '`
                                echo $TEXT | /usr/bin/text2wave -o /tmp/$FILE.ulaw -otype ulaw -eval "(voice_cmu_us_slt_arctic_hts)" >> /tmp/$FILE.debug.txt 2>&1
                                cat <<EOF > /tmp/$FILE.call
                                Channel: SIP/Sipnet-Out-1/011$PHONE
                                MaxRetries: 2
                                RetryTime: 30
                                WaitTime: 60
                                Priority: 1
                                Application: Playback
                                Data: "alerts/$FILE"
                                EOF
                                cp /tmp/$FILE.ulaw /usr/share/asterisk/sounds/alerts > /dev/null 2>&1
                                cp /tmp/$FILE.call /var/spool/asterisk/outgoing > /dev/null 2>&1
                                rm /tmp/$FILE.ulaw
                                rm /tmp/$FILE.call
                                

                                  0
                                  Но, кстати, надо сказать, что система черевата следующим факапом — когда у нас изза DDOS атаки лег свитч и заббикс потерял 100 серверов, то он нагенерировал 300 колл файлов (по одному на сервак и каждому админу). И, ввиду легшего свитча, не смог отдать файлы астериску. А когда, через час сеть появилась, мы получили 300 исходящих звонков и (не говоря уже про мат озверевших админов, отбивающихся от астериска) долгие разборки с SIP провайдером на тему, что нам якобы поломали астериск и отключили, на всякий случай.
                                  +2
                            0
                            Мой старый велосипед работает на pjsip habrahabr.ru/post/126963
                          0
                          А разве Microsoft потихоньку не хоронит разработку под Skype? Документацию с с офф. сайта убрали, отзывают лицензии, я не сильно в теме, но мелькали такие новости.
                          Я бы смотрел в сторону SIP или Jingle под XMPP(aka Jabber) если очень нужны звонки, но имхо для уведомлений достаточно смс, благо прикручиваются они элементарно, провайдеров полно.
                            –1
                            Неужели все админы, ночью, так мгновенно реагируют на короткий звук о СМС?
                              0
                              Судя по вашему описанию важно чтобы сотрудники придя на работу могли работать. Так зачем тревожить чуткий сон админа? Проснулся по будильнику, увидел смс, поднял сервер во время завтрака, поехал на работу, не? :)
                                0
                                А это зависит от того, как дежурства построены (если они есть). Если есть внутренее SLA, в котором прописано время реакции на SMS, то это проблема админа, как он просыпаться будет )))
                                  +1
                                  Можно поставить не короткий)
                                +5
                                Стоит заметить что скайп есть только 32-битный. И на Debian 7 x64 его запустить не удалось. Моим решением стала установка еще одной виртуальной машины с Debian 7 32-bit и запуска скайпа на ней

                                Можно поставить 32х битный скайп на Debian 7 x64
                                dpkg --add-architecture i386
                                apt-get update
                                apt-get -f upgrade
                                cd /tmp
                                wget http://download.skype.com/linux/skype-debian_4.2.0.13-1_i386.deb
                                dpkg -i skype-debian_4.2.0.13-1_i386.deb
                                apt-get -f install
                                
                                  0
                                  А админы круглосуточно сидят в скайпе? SMS можно не только через шлюз слать. Телефон туда прикрутить через COM порт и радоваться.
                                    0
                                    Скайп — звонит на телефон. деньги закинуты на скайп и он звонит на список номеров
                                    +2
                                    ИМХО стоит добавить, что система работоспособна, если и провайдерский канал в инет, и сервер, отправляющий сообщения, снабжены бесперебойным электропитанием. :)
                                      0
                                      Скрипты неплохо было бы убрать под спойлеры.
                                      И таки да, смс же намного лучше и проще сделать.
                                        0
                                        Не увидел в статье: как мониторится что ваши скайпоскрипты еще работают и как админы узнают если вдруг упадут.
                                          0
                                          ну забиксом же)

                                          но только никто не позвонит в этом случае )
                                          +4
                                          Только USB-свисток + SMS
                                          Никаких Skype!
                                            0
                                            Ну я бы сказал, что SMS и живые звонки — хороши в качестве эскалации по disaster событиям. По высокому северити можно и так, например.
                                            +1
                                            Дешевый телефон (или USB-модем) + пара скриптов = никакого геморроя с глючным скайпом и нормальные звонки/смс + резервный канал
                                              0
                                              А если сервера в Гонолулу стоят каком в датацентре?
                                                0
                                                Это не повод изобретать велосипед на костылях.
                                                  0
                                                  В целом согласен. Скайп, в любом слуаче, не лучший инструмент для оповещений.
                                              +1
                                              Код скриптов для скайпа взят из github.com/opensourcehacker/sevabot
                                              Хорошо бы указывать источник.
                                                0
                                                Самый большой недостаток Skype — нет рабочего порта в FreeBSD
                                                (есть старая версия через эмуляцию Linux — но это треш...)
                                                • НЛО прилетело и опубликовало эту надпись здесь
                                                    0
                                                    Как заметили многие — использовать скайп идея очень сомнительная.
                                                    Голосовые звонки вообще так себе задумка, но если уж их делать, то вам нужен спул. Иначе сервер отправки звонков не справится.

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

                                                      Эта задача давно у меня в голове в разделе «проекты, которые перевернут мир, но все лень их написать» — нужно какой-то простенький почтовый агрегатор (сторонний для пользователя. не на его серверах), который собирает сообщения вроде «server A mysql check OK», «server B mysql check OK», «server B disk free check OK», и отправляет суммированный дайджест. Или не отправляет даже, если все «в шаблоне» (просто раз в сутки или в неделю отправляет общую сводку). И отправляет срочно, если пришел какой-то FAIL, или же (!) если сгенерерованный дайджест не подходит под правила (или просто отличается от предыдущего), например, если в нем нет почему-то данных про «server B». В итоге, даже если почта ляжет — админ все равно получит алерт в скором времени.
                                                        +1
                                                        Основной проблемой стало то, что все уведомления администраторам отправлялись по почте — которая, как можно с легкостью догадатся, тоже лягла.

                                                        Я щас скажу элементарщину, но тем не менее. Во-первых, не держите все яйца в одной корзине. Систему мониторинга нужно уносить от объектов мониторинга. Во-вторых, никто не отменял мониторинг системы мониторинга. У меня это делается тривиальными баш-костылями, но пару раз уже выручало. Когда заббикс молчит — это не значит, что всё ок. Вполне возможно, что заббикс лежит ;-)
                                                          0
                                                          Согласен. А лучше использовать внешние сервисы проверок совместно с заббиксом. Он приглядывает изнутри за здоровьем. А сервисы — снаружи, глазами пользователя. Ну или/и за заббиксом.

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

                                                        Самое читаемое