6

Linuxサーバーで実行されているリモートプロセスの非常に単純な「エージェントレス」監視を実行するPythonスクリプトを作成したいと思います。

疑似コードで次のタスクを実行します。

for each remoteIPAddress in listOfIPAddresses:
    log into server@remoteIPAddress via ssh
    execute the equivalent of a 'ps -ef' command
    grep the result to make sure a particular process (by name) is still running

これを行う 1 つの方法は、サブプロセスで Python にシェル スクリプトを呼び出し、その出力を解析させることです。それはかなり非効率なようです。Pythonライブラリを介してこれを行うより良い方法はありますか?

ここや他の場所での調査で見つけたのは、次のとおりです。

  • psutil - リモート監視を行っていないように見えるので、リモート マシンでエージェントを実行して、RPC 経由で統計情報を報告する必要があります。
  • pymeter - 特定のリモート サービスを監視するための独自のプラグインを作成する必要があります。
  • #4546492 - 役立つリンクがいくつかありますが、ポスターは別の解決策を探していました。

ありがとう、そして私に気楽に行ってください、それは私の最初の質問です:-)

4

5 に答える 5

4

Fabricライブラリに興味があるかもしれません。

于 2012-08-11T01:01:37.907 に答える
1

paramikoをチェックしてください。これを使用して、サーバーにSSH接続し、コマンドを実行できます。次に、結果を解析して、必要な処理を実行できます。

于 2012-08-11T00:58:22.623 に答える
1

上記の回答から手がかりを得て、Fabric を調査したところ、次のプレゼンテーションが特に興味深い/役立つことがわかりました。これは、サーバーの監視と管理のための 3 つのライブラリ (Fabric、Cuisine、および Watchdog) の概要です。後世のために:

Python でのサーバー管理に Fabric、Cuisine、Watchdog を使用する

于 2012-08-14T18:53:33.537 に答える
0

探しているものよりも重いかもしれませんが、Zenossはエージェントレス モニタリングをサポートしています。

他の回答で提案されている paramiko と Fabric も優れたオプションです。

于 2012-08-11T02:51:13.307 に答える