5
C ++アプリケーションの監視
新しい集中監視ソリューション(Zenoss)を実装しています。サーバー、ネットワーキング、およびJavaプログラムの組み込みは、SNMPとJMXを使用すると簡単です。 ただし、問題は、大規模な異種(Solaris x86、RHEL Linux、Windows)環境でカスタムC ++アプリケーションを監視および管理するためのベストプラクティスは何ですか? 私が見る可能性は次のとおりです。 ネットSNMP メリット 各サーバーに単一の中央デーモン よく知られた規格 監視ソリューションへの簡単な統合 サーバーでNet SNMPデーモンをすでに実行しています 短所: 複雑な実装(MIB、Net SNMPライブラリ) C ++開発者向けに導入する新しいテクノロジー rsyslog メリット 各サーバーに単一の中央デーモン よく知られた規格 監視ソリューションへの不明な統合(テキストに基づいてアラートを実行できることはわかっていますが、メモリ使用量、キューの深さ、スレッド容量などのテレメトリの送信にはどの程度うまく機能しますか) 簡単な実装 短所: 考えられる統合の問題 C ++開発者向けのやや新しいテクノロジー 監視ベンダーを切り替えた場合に起こりうる移植の問題 おそらく、アドホック通信プロトコルを思い付く必要があります(またはRFC5424構造化データを使用しています。ZenossがカスタムZenpackコーディングなしでそれをサポートしているかどうかはわかりません) 組み込みJMX(JVMを組み込み、JNIを使用) メリット JavaとC ++の両方の一貫した管理インターフェース よく知られた規格 監視ソリューションへの簡単な統合 やや単純な実装(他の目的のために、今日すでにこれを行っています) 短所: 複雑さ(JNI、ネイティブC ++とJavaの間のサンクレイヤー、基本的に管理コードを2回記述する) 起こりうる安定性の問題 かなり多くのメモリを使用して、各プロセスにJVMが必要 JMXはC ++開発者向けの新しいテクノロジーです 各プロセスには独自のJMXポートがあります(各マシンで多くのプロセスを実行します) ローカルJMXデーモン、プロセスはそれに接続します メリット 各サーバーに単一の中央デーモン JavaとC ++の両方の一貫した管理インターフェース …