Ping: stop logging every no-reply by default; opt-in NETTOPO_LOG_PING_FAILURES.
Made-with: Cursor
This commit is contained in:
@@ -4,3 +4,4 @@ STORE_BACKEND=memory
|
||||
RUN_MIGRATIONS=true
|
||||
SNMP_ENABLED=true
|
||||
SNMP_COMMUNITY=public
|
||||
# NETTOPO_LOG_PING_FAILURES=true # логировать каждый неответивший ping (по умолчанию выключено — иначе засоряет journal)
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user