Splunk sendemail не работает [Errno 99] с почтовым сервером smtp.gmail.com

С /opt/splunk/var/log/splunk/python.log:

2018-11-12 14:29:08,776 +0000 ERROR    sendemail:137 - Sending email. subject = "Splunk Alert: Errors in develop", results_link = "https://localhost:8000/app/search/@go?sid=rt_scheduler__admin__search__RMD58e26482826eced90_at_1542024571_26.426", recipients = "[u'[email protected]']", server = "localhost"
2018-11-12 14:29:08,776 +0000 ERROR    sendemail:458 - [Errno 99] Cannot assign requested address while sending mail to: [email protected]

Мой /opt/splunk/etc/system/local/alert_actions.conf:

 [email]
 auth_password = XXX
 auth_username = [email protected]
 hostname = localhost
 mailserver = smtp.gmail.com:465
 pdf.header_left = none
 pdf.header_right = none
 use_ssl = 1

Я также пробовал smtp.gmail.com:587 с use_ssl = 0 use_tls = 1, в обоих случаях возникла одна и та же ошибка.

Однако при попытке отправить почту прямо из поиска он работает должным образом:

... | sendemail to = "[email protected]" format=raw sendresults=1 footer = "Sent from Splunk." from = "SplunkAlerts" subject = "Splunk Alert" message = "The following Splunk Alert has been fired:"

какая конфигурация мне не хватает? errno 99 - это EADDRNOTAVAIL, непонятно, что недоступно, это server = "localhost" в журнале ошибок? где мне его установить?

Отправка электронной почты с помощью Python менее чем за 1 минуту
Отправка электронной почты с помощью Python менее чем за 1 минуту
Отправка электронной почты с помощью Python - это удобный способ автоматизировать процесс отправки электронных писем. Это может быть полезно для...
0
0
1 299
2

Ответы 2

В вашей конфигурации вам нужно использовать server=, а не mailserver.

https://docs.splunk.com/Documentation/Splunk/7.2.0/SearchReference/Sendemail

Обратите внимание, что Gmail часто привередничать с попытками отправить электронное письмо таким способом, и я стараюсь избегать этого, если это возможно. У вас настроен локальный почтовый сервер?

конфигурация была сгенерирована splunk web .. в любом случае при редактировании вручную и добавлении также server = smtp.gmail.com:465, он по-прежнему показывает localhost в журнале ошибок

Mugen 13.11.2018 09:17

См. Решение, размещенное здесь, answer.splunk.com/answers/548703/…

Simon Duff 14.11.2018 02:50

У меня нет локального savedsearches.conf, и я бы не стал определять [savedsearch-name] в конфигурации для каждого предупреждения, если не было автоматического создания

Mugen 14.11.2018 09:32

А пока я использую следующий сценарий в качестве обходного пути:

temp = "/tmp/results_$(date -u +%s).csv"
gunzip < $8 > $temp
printf "$1 alarming logs were found by $4\n$6" | \
  SMTP_URL='smtps://my_email%40gmail.com:[email protected]' mutt \
  -F /dev/null \
  -e 'set from = "Splunk <[email protected]>"' \
  -e 'set smtp_url=$SMTP_URL' \
  -s "Splunk: $4" \
  -a $temp --  \
  [email protected]
rm -rf $temp

на $SPLUNK_HOME/bin/scripts/sendmail.sh

на самом деле лучшим обходным путем было отредактировать содержимое /opt/splunk/etc/apps/search/bin/sendemail.py, не зная, что в конфигурации читается неправильно

Mugen 15.11.2018 08:50

Другие вопросы по теме