Sto lavorando su Debian e ho questo server che vogliamo monitorare.
L'applicazione è nostra e ci sono circa un centinaio di contatori in tempo reale che vogliamo esportare per scopi di monitoraggio, grafici e allarmi.Il modo migliore per aggiungere il supporto SNMP alla propria applicazione su Debian
Ho osservato il modo in cui Debian lo fa perché usiamo la confezione di Debian per installare l'app, e Debian usa il daemon snmpd, basato su net-snmp, per esportare SNMP. Finora ogni approccio che ho visto appare molto complicato, dalla ricompilazione di snmpd al caricamento di una libreria dinamica al suo interno e alla compilazione di una forma di agente secondario che replica ciò che fa snmpd.
Mentre tutte queste opzioni mi fanno pensare che dovrei optare per qualcosa di diverso dal SNMP, non voglio arrendermi così presto e mi chiedevo se qualcuno avesse trovato un'implementazione fattibile.
Idealmente dovrebbe essere codificato in C o C++ come l'app è in C++, ma sono aperto a wrapper o altri tipi di suggerimenti.
Quindi, vorresti aggiungere un processo separato come subagente o rendere direttamente il tuo processo un subagente? Da una parte non mi piace l'idea che l'agente esegua il polling del mio processo 100 volte per 100 valori quando potrebbe essere eseguito in una volta sola, ma creando un altro processo per questo e le comunicazioni sembrano un po 'troppo. –
Con un'elaborazione multiprocessing/asincrona corretta, non dovrebbe importare che il processo ottenga 100 richieste. Quindi proverei sicuramente a mettere il subagente nel processo di applicazione. –