Я пытаюсь отправлять оповещения системы монитоирнга Nagios через Skype. Всё работает отлично, но хотелось бы более читабельный вид сообщений, чтобы тело сообщения было не в одну строку. Сейчас выглядет так (в скайпе):
RECOVERY Host: nagios-test Service: PING Info: PING OK 1.22ms
А хотелось бы, чтобы это было так:
RECOVERY
Host: nagios-test
Service: PING
Info: PING OK 1.22ms
Отправку я делаю с помощью этого BASH-скрипта, который в свою очередь передает аргументы в python-скрипт (см. ниже):
/usr/local/nagios/sbin/skype_alert.sh
#!/bin/bash export DISPLAY=:0 PT=`which python` SKYPE_LOGIN=$1 SKYPE_MESSAGE="${@:2}" $PT /usr/local/nagios/sbin/skype_alert.py $SKYPE_LOGIN "$SKYPE_MESSAGE"
/usr/local/nagios/sbin/skype_alert.py:
#!/usr/bin/python import Skype4Py import sys skype = Skype4Py.Skype() skype.Attach() user = sys.argv[1] msg=' '.join(sys.argv[2:]) skype.SendMessage(user, msg)
Ну, и сама отправка из командой строки:
$ ]$ /usr/local/nagios/sbin/skype_alert.sh my_skype_login "RECOVERY\\n" "Host: nagios-test\\r" "Service: PING" "Info: PING OK 1.22ms"
В результате я вижу в скайпе:
RECOVERY\n Host: nagios-test\r Service: PING Info: PING OK 1.22ms
Как видно в результате, ни \n, ни \r не срабатывают