net-snmp mendukung protokol ekstensi agen smux dan agentx, memungkinkan sub-agen untuk hidup dalam proses yang berbeda. Mereka juga memiliki tutorial tentang cara menulis subagen AgentX di C.
Solusi yang sering diabaikan adalah Agent++ API, yang bagi saya terlihat cukup bagus dan berada di bawah lisensi Apache. Sejauh yang saya mengerti, Anda dapat memodifikasi agen itu untuk menjawab MIB Anda sendiri.
Yang mengatakan, melakukan subagen bukanlah pilihan yang buruk. Anda memulai snmpd standar yang belum ditambal (dari net-snmp). Kemudian Anda menghubungkannya dengan subagen Anda, yang hanya menambahkan OID yang ingin Anda tambahkan. Kit net-snmp untuk pengkodean AgentX (sebutan protokolnya) sub-agen tidak mudah digunakan, tetapi juga tidak terlalu sulit. Ada juga modul Perl untuk pengembangan sub-agen:https://metacpan.org/pod/NetSNMP::agent
Cara tradisional untuk melakukannya di linux adalah dengan menggunakan paket net-snmp. Pastikan Anda menulis MIB terlebih dahulu. Semuanya didasarkan pada MIB dan perubahan pada MIB biasanya menghasilkan banyak perubahan pada kode. Pengodean untuk net-snmp tidaklah sulit dan ada banyak dokumentasi untuk membantu Anda memulai, misalnya:http://www.net-snmp.org/wiki/index.php/Tutorials#Coding_Tutorials