Hi!
For some weird reason I decided to make the SNMPstats module a bit more useful and started adding new data to it, in order to learn how to work with net-snmp and try to learn where to find the data.
Here's some new entries in the Kamailio MIB:
Memory data: ===========
KAMAILIO-MIB::kamailioSrvMaxMemory.0 = Gauge32: 33554432 KAMAILIO-MIB::kamailioSrvFreeMemory.0 = Gauge32: 31709088
Version data: ===========
KAMAILIO-MIB::kamailioSrvCnfFullVersion.0 = STRING: kamailio 4.0.0 (i386/linux) 50af49 KAMAILIO-MIB::kamailioSrvCnfVerName.0 = STRING: kamailio KAMAILIO-MIB::kamailioSrvCnfVerVersion.0 = STRING: 4.0.0 KAMAILIO-MIB::kamailioSrvCnfVerArch.0 = STRING: i386 KAMAILIO-MIB::kamailioSrvCnfVerOs.0 = STRING: linux KAMAILIO-MIB::kamailioSrvCnfVerId.0 = STRING: 50af49 KAMAILIO-MIB::kamailioSrvCnfVerCompTime.0 = STRING: 12:12:27 Mar 24 2013 KAMAILIO-MIB::kamailioSrvCnfVerCompiler.0 = STRING: gcc 4.1.2 KAMAILIO-MIB::kamailioSrvCnfVerFlags.0 = STRING: STATS: Off, USE_IPV6, USE_TCP, USE_TLS, TLS_HOOKS, USE_RAW_SOCKS, DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MEM, SHM_MMAP, PKG_MALLOC, USE_FUTEX, FAST_LOCK-ADAPTIVE_WAIT, USE_DNS_CACHE, USE_DNS_FAILOVER, USE_NAPTR, USE_DST_BLACKLIST, HAVE_RESOLV_RES
TCP Statistics and configuration data: ==============================
KAMAILIO-MIB::kamailioNetTcpConnEstablished.0 = Counter32: 0 KAMAILIO-MIB::kamailioNetTcpConnFailed.0 = Counter32: 0 KAMAILIO-MIB::kamailioNetTcpConnReset.0 = Counter32: 0 KAMAILIO-MIB::kamailioNetTcpConnSuccess.0 = Counter32: 0 KAMAILIO-MIB::kamailioNetTcpConnOpened.0 = Gauge32: 0 KAMAILIO-MIB::kamailioNetTcpConnPassiveOpen.0 = Counter32: 0 KAMAILIO-MIB::kamailioNetTcpConnReject.0 = Counter32: 0 KAMAILIO-MIB::kamailioNetTcpEnabled.0 = INTEGER: true(1) KAMAILIO-MIB::kamailioNetTcpMaxConns.0 = INTEGER: 2048 KAMAILIO-MIB::kamailioNetTcpAsync.0 = INTEGER: true(1)
The version part is complete, but TCP and memory can be expanded to cover at least the same data as we can get from the RPC interface.
I would like to be able to list process memory data in a table so one can monitor both core and process memory using SNMP. In order to do that, I need to figure out how to create SNMP tables :-)
It would also be nice to be able to expose some private counters from the configuration script, like "number of vulcan language messages" and "MESSAGE requests in Klingon".
Any comments, ideas?
/O