#!/usr/bin/env python import re import sys fields = ( ('sockets_used', 'sockets used'), ('tcp_inuse', 'TCP inuse'), ('tcp_orphan', 'TCP orphan'), ('tcp_tw', 'TCP tw'), ('tcp_alloc', 'TCP alloc'), ('tcp_mem', 'TCP mem'), ('udp_inuse', 'UDP inuse'), ('udplite_inuse', 'UDPLITE inuse'), ('raw_inuse', 'RAW inuse'), ('frag_inuse', 'FRAG inuse'), ('frag_memory', 'FRAG memory'), ) if len(sys.argv) > 1: arg = sys.argv[1] if arg == 'autoconfig': print 'yes' sys.exit(0) if arg == 'config': print 'graph_title sockstat' print 'graph_category network' for name, label in fields: print '%s.label %s' % (name, label) sys.exit(0) re_num = re.compile('(\d+)') sockstat = open('/proc/net/sockstat').read() numbers = re_num.findall(sockstat) for i, (name, label) in enumerate(fields): print '%s.value %s' % (name, numbers[i]) sys.exit(0)