De onde os OIDs SNMP obtêm os dados? [fechadas]

-1

Se eu quiser descobrir o tráfego de rede nos meus servidores Linux usando o SNMP. Eu uso o ifOutOctets. e ifInOctets. OIDs em um pedido de snmpget. De onde esses OIDs obtêm os dados?

    
por lloowen 28.07.2017 / 21:58

1 resposta

1

No Ubuntu, parece que o ifInOctets. e ifOutOctets. OIDs reúnem os dados do diretório / proc.

Isso pode ser verificado usando strace -p <pid of SNMP> . Strace registra as chamadas do sistema do processo. O Strace produz muita saída para o terminal quando executado, no entanto, usando a opção -e trace=open filtra a saída para quais arquivos o SNMP está referenciando.

Executando o seguinte comando strace -p <pid Of SNMP> -e trace=open nas saídas do meu dispositivo Ubuntu:

open("/proc/stat", O_RDONLY|O_LARGEFILE) = 13
open("/proc/vmstat", O_RDONLY|O_LARGEFILE) = 13
open("/proc/net/dev", O_RDONLY|O_LARGEFILE) = 13
open("/proc/net/if_inet6", O_RDONLY|O_LARGEFILE) = 15
open("/proc/sys/net/ipv4/neigh/ppp0/retrans_time_ms", O_RDONLY|O_LARGEFILE) = 15
open("/proc/sys/net/ipv4/neigh/lo/retrans_time_ms", O_RDONLY|O_LARGEFILE) = 15
open("/proc/sys/net/ipv6/neigh/lo/retrans_time_ms", O_RDONLY|O_LARGEFILE) = 15
open("/proc/sys/net/ipv6/conf/lo/forwarding", O_RDONLY|O_LARGEFILE) = 15
open("/proc/sys/net/ipv6/neigh/lo/base_reachable_time_ms", O_RDONLY|O_LARGEFILE) = 15
open("/proc/sys/net/ipv4/neigh/eth0/retrans_time_ms", O_RDONLY|O_LARGEFILE) = 15
open("/proc/sys/net/ipv6/neigh/eth0/retrans_time_ms", O_RDONLY|O_LARGEFILE) = 15
open("/proc/sys/net/ipv6/conf/eth0/forwarding", O_RDONLY|O_LARGEFILE) = 15
open("/proc/sys/net/ipv6/neigh/eth0/base_reachable_time_ms", O_RDONLY|O_LARGEFILE) = 15
open("/proc/sys/net/ipv4/neigh/eth1/retrans_time_ms", O_RDONLY|O_LARGEFILE) = 15
open("/proc/sys/net/ipv6/neigh/eth1/retrans_time_ms", O_RDONLY|O_LARGEFILE) = 15
open("/proc/sys/net/ipv6/conf/eth1/forwarding", O_RDONLY|O_LARGEFILE) = 15
open("/proc/sys/net/ipv6/neigh/eth1/base_reachable_time_ms", O_RDONLY|O_LARGEFILE) = 15
open("/proc/diskstats", O_RDONLY|O_LARGEFILE) = 13
open("/proc/net/dev", O_RDONLY|O_LARGEFILE) = 13
open("/proc/net/if_inet6", O_RDONLY|O_LARGEFILE) = 15
open("/proc/sys/net/ipv4/neigh/ppp0/retrans_time_ms", O_RDONLY|O_LARGEFILE) = 15

O arquivo / proc / net / dev contém informações sobre pacotes e bytes em todas as interfaces. Esta é a provável fonte de dados para os OIDs ifInOctets e ifOutOctets no Ubuntu.

    
por lloowen 28.07.2017 / 21:58