Add flag -vppstats.api.addr and rename -vppstats.addr to -vppstats.stats.addr; Update README

This commit is contained in:
Pim van Pelt
2025-06-10 14:16:05 +02:00
parent 87327658b2
commit 8d9aef2f99
2 changed files with 13 additions and 7 deletions

View File

@ -87,7 +87,8 @@ CGO_ENABLED=0 go build -ldflags "-X main.version=${VERSION} -X main.buildTime=${
| Flag | Default | Description |
|------|---------|-------------|
| `-vppstats.addr` | `/var/run/vpp/stats.sock` | VPP statistics socket path |
| `-vppstats.api.addr` | `/var/run/vpp/api.sock` | VPP API socket path |
| `-vppstats.stats.addr` | `/var/run/vpp/stats.sock` | VPP statistics socket path |
| `-vppstats.period` | `10` | Interval in seconds for querying VPP interface stats |
| `-vppstats.ifindex-offset` | `1000` | Offset to add to VPP interface indices for SNMP |
@ -101,7 +102,10 @@ CGO_ENABLED=0 go build -ldflags "-X main.version=${VERSION} -X main.buildTime=${
./govpp-snmp-agentx -vppstats.period 5
# Custom VPP stats socket
./govpp-snmp-agentx -vppstats.addr /custom/path/stats.sock
./govpp-snmp-agentx -vppstats.stats.addr /custom/path/stats.sock
# Custom VPP API socket
./govpp-snmp-agentx -vppstats.api.addr /custom/path/api.sock
# Custom interface index offset (start at 2000)
./govpp-snmp-agentx -vppstats.ifindex-offset 2000
@ -114,7 +118,8 @@ CGO_ENABLED=0 go build -ldflags "-X main.version=${VERSION} -X main.buildTime=${
-agentx.addr /var/agentx/master \
-debug \
-vppcfg /etc/vpp/vppcfg.yaml \
-vppstats.addr /var/run/vpp/stats.sock \
-vppstats.api.addr /var/run/vpp/api.sock \
-vppstats.stats.addr /var/run/vpp/stats.sock \
-vppstats.period 5 \
-vppstats.ifindex-offset 1000
```

View File

@ -17,7 +17,8 @@ type StatsCallback func(*api.InterfaceStats)
var (
// Flags for VPP stats configuration
StatsAddr = flag.String("vppstats.addr", "/var/run/vpp/stats.sock", "VPP stats socket path")
ApiAddr = flag.String("vppstats.api.addr", "/var/run/vpp/api.sock", "VPP API socket path")
StatsAddr = flag.String("vppstats.stats.addr", "/var/run/vpp/stats.sock", "VPP stats socket path")
IfIndexOffset = flag.Int("vppstats.ifindex-offset", 1000, "Offset to add to VPP interface indices for SNMP")
Period = flag.Int("vppstats.period", 10, "Interval in seconds for querying VPP interface stats")
)
@ -29,7 +30,7 @@ func StartStatsRoutine(callback StatsCallback) {
}
func statsRoutine(period time.Duration, callback StatsCallback) {
logger.Debugf("Starting VPP stats routine with socket: %s, period: %v", *StatsAddr, period)
logger.Debugf("Starting VPP stats routine with API: %s, Stats: %s, period: %v", *ApiAddr, *StatsAddr, period)
var conn *core.Connection
var statsConn *core.StatsConnection
@ -92,7 +93,7 @@ func statsRoutine(period time.Duration, callback StatsCallback) {
// Create API connection first - only proceed if this succeeds
var err error
conn, err = core.Connect(socketclient.NewVppClient("/var/run/vpp/api.sock"))
conn, err = core.Connect(socketclient.NewVppClient(*ApiAddr))
if err != nil {
if wasConnected {
logger.Printf("VPP API connection lost: %v", err)
@ -125,7 +126,7 @@ func statsRoutine(period time.Duration, callback StatsCallback) {
continue
}
logger.Printf("Connected to VPP (API: /var/run/vpp/api.sock, Stats: %s)", *StatsAddr)
logger.Printf("Connected to VPP (API: %s, Stats: %s)", *ApiAddr, *StatsAddr)
connected = true
wasConnected = true
}