httpを介したログファイルの追跡
質問
セキュリティ上の理由から(私は開発者です)、ログファイルが書き込まれる実稼働サーバーへのコマンドラインアクセスがありません。ただし、これらのログファイルにはHTTPでアクセスできます 。 「tail -f」という方法でユーティリティはありますか? 「従う」ことができるHTTPのみを使用したプレーンテキストファイルですか?
解決
HTTPサーバーがリソースの一部を返すリクエストを受け入れる場合、これを行うことができます。たとえば、HTTPリクエストにヘッダーが含まれる場合:
範囲:バイト= -500
応答には、リソースの最後の500バイトが含まれます。これを取得して、行などに解析することができます。これを行うための既製のクライアントは知りません-仕事をするスクリプトを書きます。
Hurl を使用して、(公開されているリソースから)ヘッダーを試すことができます。
他のヒント
同じ目的でbashスクリプトを書きました。ここで見つけることができます https://github.com/maksim07/url-tail
小さなJavaユーティリティを使用して、Apache HTTPライブラリを使用してHttp経由でログファイルを読み取ることができます。
HttpClient client = HttpClientBuilder.create().build();
HttpGet request = new HttpGet(uri);
HttpResponse response = client.execute(request);
BufferedReader rd = new BufferedReader(new InputStreamReader(
response.getEntity().getContent()));
String s = "";
while ((s = rd.readLine()) != null) {
//Process the line
}
PsExec を使用して、リモートコンピューターでコマンドを実行できます。 Windowsのテールコマンドは、 http://tailforwin32.sourceforge.net/
にあります。HTTPである必要がある場合は、軽量のWebサービスを作成して簡単に実現できます。 たとえば、指定されたファイル内の0行目から200行目までのテキストを読み取ります。
所属していません StackOverflow