For easier use with Cacti, it is easier to group statistics per type instead of per CPU. So you would have a parent OID for CPU time spent by user with many values (one per CPU).
Put the following in /etc/snmp/percpudetail
:
#!/bin/bash
case "$1" in
"user")
grep ^cpu /proc/stat | awk '{print 2}' ;;
"nice")
grep ^cpu /proc/stat | awk '{print 3}' ;;
"system")
grep ^cpu /proc/stat | awk '{print 4}' ;;
"idle")
grep ^cpu /proc/stat | awk '{print 5}' ;;
"iowait")
grep ^cpu /proc/stat | awk '{print 6}' ;;
"irq")
grep ^cpu /proc/stat | awk '{print 7}' ;;
"softirq")
grep ^cpu /proc/stat | awk '{print 8}' ;;
esac
Make it executable:
chmod +x /etc/snmp/percpudetail
Then in your /etc/snmp/snmpd.conf
file, put the following lines:
extend cpuuser /etc/snmp/percpudetail user
extend cpunice /etc/snmp/percpudetail nice
extend cpusystem /etc/snmp/percpudetail system
extend cpuidle /etc/snmp/percpudetail idle
extend cpuiowait /etc/snmp/percpudetail iowait
extend cpuirq /etc/snmp/percpudetail irq
extend cpusoftirq /etc/snmp/percpudetail softirq
Restart snmpd and you can poll those new OIDs.