リモートLinuxファイルの監視

最終更新日: 17 年 2023 月 XNUMX 日

コレクターアーキテクチャにより、 スクリプトコレクター方式 スクリプトを起動できるのは ローカル コレクターマシン。 コレクターは、ファイルを直接起動したり、ファイルに存在するスクリプトを実行したりすることはできません。リモート ホスト。

一般的には、 監視目的でリモート実行を回避することをお勧めします、 いつでも可能なとき。 ほとんどの場合、監視したい情報をWebページ、API、SNMP、またはデータベース接続を介して提供できるため、オーバーヘッドをほとんどかけずにコレクターマシンからリモートでアクセスできます。

ただし、リモートロケーションにあるファイルの監視に関心がある場合は、これを実現するために追加の手順が必要です。 これが私たちの推奨事項です:

ホストでのファイル監視スクリプトの準備

リモートホストマシンでは、監視する値を標準出力に出力する基本的なスクリプトを準備する必要があります。次に、コレクターがホストにリモートでクエリできるように、このコマンドをSNMPに拡張する必要があります。情報。 次の例では、Linuxの「日付」ユーティリティを使用してリモートファイルの経過時間を出力します。

echo "$((`date +%s ` - `date +%s -r dump.sql` ))"

(これにより、「dump.sql」という名前のファイルの経過時間が秒単位で返されます。)

ファイル監視スクリプトをSNMPに拡張する

必要な値をキャプチャするスクリプトを作成したら、このスクリプトをSNMPに拡張する必要があります。 このプロセスは、ブログ投稿で専門的に詳しく説明されています。 古いSNMPDの新しいトリックを教える方法.

これが行われた後、あなたはする必要があります 単純なSNMP収集データソースを作成する LogicMonitorで、コレクターが新しく拡張されたOIDを照会できるようにします。

代替案

リモートマシンで何を監視したいかによって、この情報にリモートアクセスするための代替手段がある場合があります。

  • 別のプロトコル経由(JMX Javaアプリケーションの場合、 JDBC データベースなど)
  • 各リモートホストにローカルにコレクターをインストールする。 コレクターとしてそれ自体でホストを監視します。
  • リモートへのリモート接続を実行し、スクリプトDataSourceを介してリモートホストのファイルシステムに存在するスクリプトを起動するラッパースクリプトをコレクターマシンに作成します。
    • Groovyスクリプトを直接埋め込んで、ローカルまたはリモートのスクリプトを実行するためのいくつかのオプションを提供しています。

最終的な考慮事項

LogicMonitorでリモートファイル監視を実現することは間違いなく可能ですが、このタイプのデータ収集は、ネットワークとコレクター自体の負担、および複雑さの両方の観点から、一般に実装が最も集中的であることに注意してください。このタイプのソリューションが要求する設計。

スクリプトベースのデータ収集を次のように予約することをお勧めします。 ラストリゾート あなたが求めているメトリックを取得する方法。 その他の考慮事項:

  • 理想的には、単一インスタンスのデータソースで機能するようにスクリプトデータコレクションを設計します。 複数のインスタンスを有効にする必要がある場合は、可能な限り、スクリプト以外のActiveDiscoveryメソッドを使用してみてください。
  • マルチインスタンスデータソースの場合、生成されるインスタンスができるだけ少なくなるようにスクリプトを設計します。 複数のホスト間で大量のインスタンスが生成されると、コレクターが不安定に動作する可能性があります(グラフのギャップ、コレクターの再起動など)。 これは、agent.conf構成ファイルの「collector.script」モジュールにより多くのスレッドを割り当てることで修正できます。
    • 上のヘルプページを参照してください スクリプトActiveDiscovery スクリプトベースのデータソースのインスタンス検出を構成する方法の詳細については。
記事上で