From 949f2c029c10e41c49e6d8941ac92d4e53deb5a0 Mon Sep 17 00:00:00 2001 From: Sergey
{ip}" for ip in ip_list) or " (список пуст)"
+ ip_lines = "\n".join(
+ f" • {ip} ({comment})" if comment else f" • {ip}"
+ for ip, comment in ip_list
+ ) or " (список пуст)"
notify(
f"🟢 MikroTik Monitor запущен\n"
f"\n"
@@ -232,24 +236,25 @@ def main() -> None:
log.info("Адресов для проверки: %d → %s", len(ip_list), ip_list)
# Добавляем новые хосты в state (без сброса существующих)
- for ip in ip_list:
+ for ip, comment in ip_list:
if ip not in failure_count:
failure_count[ip] = 0
host_down[ip] = False
# Пингуем каждый адрес
- for ip in ip_list:
+ for ip, comment in ip_list:
+ label = f"{ip} ({comment})" if comment else ip
now = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
rtt = mikrotik_ping(api, ip)
if rtt is not None:
- log.info("✅ %-18s avg-rtt=%.1f ms", ip, rtt)
+ log.info("✅ %-28s avg-rtt=%.1f ms", label, rtt)
if host_down[ip]:
host_down[ip] = False
failure_count[ip] = 0
notify(
f"✅ Хост восстановился\n"
- f"IP: {ip}\n"
+ f"IP: {ip}" + (f" ({comment})" if comment else "") + f"\n"
f"RTT: {rtt:.1f} ms\n"
f"Время: {now}"
)
@@ -258,14 +263,14 @@ def main() -> None:
else:
failure_count[ip] += 1
log.warning(
- "❌ %-18s не отвечает (%d/%d)",
- ip, failure_count[ip], FAILURE_THRESHOLD,
+ "❌ %-28s не отвечает (%d/%d)",
+ label, failure_count[ip], FAILURE_THRESHOLD,
)
if failure_count[ip] >= FAILURE_THRESHOLD and not host_down[ip]:
host_down[ip] = True
notify(
f"🔴 Хост недоступен!\n"
- f"IP: {ip}\n"
+ f"IP: {ip}" + (f" ({comment})" if comment else "") + f"\n"
f"Список: {ADDRESS_LIST_NAME}\n"
f"Не отвечает {failure_count[ip]} проверки подряд\n"
f"Время: {now}"