Я устанавливаю 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 в переменной хоста. Сейчас отправлено письмо. Я извиняюсь за беспокойство.