Ping: stop logging every no-reply by default; opt-in NETTOPO_LOG_PING_FAILURES.

Made-with: Cursor
This commit is contained in:
Луценко Андрей Анатольевич
2026-04-10 14:14:25 +10:00
parent 16762c14ac
commit 0659238bea
2 changed files with 8 additions and 2 deletions
+1
View File
@@ -4,3 +4,4 @@ STORE_BACKEND=memory
RUN_MIGRATIONS=true
SNMP_ENABLED=true
SNMP_COMMUNITY=public
# NETTOPO_LOG_PING_FAILURES=true # логировать каждый неответивший ping (по умолчанию выключено — иначе засоряет journal)
+7 -2
View File
@@ -5,10 +5,11 @@ import (
"log"
"net"
"net/netip"
"os"
"os/exec"
"runtime"
"strings"
"strconv"
"strings"
"sync"
"time"
@@ -336,7 +337,11 @@ func probeHost(ip string, timeoutMS int) bool {
cmd = exec.Command("ping", "-c", "1", "-W", timeoutSec, ip)
}
if err := cmd.Run(); err != nil {
log.Printf("probe failed for %s: %v", ip, err)
// На Linux/macOS ping с -c 1 даёт exit 1 при отсутствии ответа — это ожидаемо для большинства
// адресов в CIDR, не ошибка приложения. Логировать каждый такой случай бессмысленно засоряет journal.
if os.Getenv("NETTOPO_LOG_PING_FAILURES") == "true" {
log.Printf("ping: нет ответа от %s: %v", ip, err)
}
return false
}
return true