net-snmp は、smux と agentx エージェント拡張プロトコルの両方をサポートし、サブエージェントが異なるプロセスに存在できるようにします。また、C で AgentX サブエージェントを作成するためのチュートリアルもあります。
見落とされがちなソリューションは、Agent++ API です。これは、私にはかなり良さそうに見え、Apache ライセンスの下にあります。私の知る限り、そのエージェントを変更して、独自の MIB に応答することができます。
とはいえ、サブエージェントを実行することはそれほど悪い選択ではありません。パッチが適用されていない標準の snmpd を (net-snmp から) 開始します。次に、追加したい OID のみを追加するサブエージェントでそれに接続します。 AgentX (プロトコルと呼ばれる) サブエージェントをコーディングするための net-snmp キットは、使い方が簡単ではありませんが、それほど難しくもありません。サブエージェント開発用の Perl モジュールもあります:https://metacpan.org/pod/NetSNMP::agent
Linux でこれを行う従来の方法は、net-snmp パッケージを使用することです。最初に MIB を書き込んでください。すべてが MIB に基づいており、MIB を変更すると、通常、コードに多くの変更が加えられます。 net-snmp のコーディングは難しくなく、始めるためのドキュメントがたくさんあります。