Python Simplemonitor не отправляет электронную почту по тревоге; возможная ошибка конфигурации - PullRequest
0 голосов
/ 10 апреля 2020

Я устанавливаю simplemonitor, нашел здесь , чтобы проверить URL моего веб-сервиса. Если какая-либо проверка не удалась, она должна отправить электронное уведомление.

Пока я подтвердил, что монитор работает правильно. Однако, когда я закрываю службу для проверки оповещения по электронной почте, при отправке электронной почты возникают ошибки:

2020-04-10 20:03:00  WARNING (simplemonitor) monitor failed but within tolerance: test-check
2020-04-10 20:03:10    ERROR (simplemonitor) monitor failed: test-check (Requests exception while opening URL: HTTPConnectionPool(host='www.test.com', port=8080): Max retries exceeded with url: /hello (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7fef7c8762e8>: Failed to establish a new connection: [Errno 111] Connection refused',)))
2020-04-10 20:03:10    ERROR (simplemonitor.alerter-email) couldn't send mail
Traceback (most recent call last):
  File "/anaconda/envs/test/envs/alertenv/lib/python3.5/site-packages/simplemonitor/Alerters/mail.py", line 127, in send_alert
    server = smtplib.SMTP(self.mail_host, self.mail_port)
  File "/anaconda/envs/test/envs/alertenv/lib/python3.5/smtplib.py", line 251, in __init__
    (code, msg) = self.connect(host, port)
  File "/anaconda/envs/test/envs/alertenv/lib/python3.5/smtplib.py", line 336, in connect
    self.sock = self._get_socket(host, port, self.timeout)
  File "/anaconda/envs/test/envs/alertenv/lib/python3.5/smtplib.py", line 307, in _get_socket
    self.source_address)
  File "/anaconda/envs/test/envs/alertenv/lib/python3.5/socket.py", line 712, in create_connection
    raise err
  File "/home/user/anaconda3/envs/test/lib/python3.5/socket.py", line 703, in create_connection
    sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused

Вот файл monitor.ini для настройки правил:

[monitor]
monitors=/home/user/monitor/monitors.ini
interval=10

[reporting]
loggers=logfile
alerters=email

[logfile]
type=logfile
filename=monitor.log
only_failures=1

[email]
type=email
host=host.domain.com
from=simplemonitor@company.com
to=user@company.com

И файл monitors.ini, который определяет что Я наблюдаю:

[test-check]
type=http
url=http://www.test.com:8080/hello
tolerance=1

Я запускаю его с simplemonitor --config monitor.ini &>> monitor.log &.

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

РЕДАКТИРОВАТЬ: Я чувствую себя глупо. Ошибка произошла из-за опечатки в файле monitor.ini. Я неправильно написал имя сервера smtp в переменной хоста. Сейчас отправлено письмо. Я извиняюсь за беспокойство.

1 Ответ

0 голосов
/ 10 апреля 2020

Как я уже говорил при редактировании исходного вопроса, это произошло из-за опечатки в файле ini для имени сервера smtp в host. Я прошу прощения за беспокойство, которое это вызвало.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...