ツールボックス: IT プロフェッショナル向けの新製品
今月のコラムで紹介するソリューションを使用すると Web サービスやイベント ログを簡単に管理できます。
Greg Steen
HTTPie
アプリケーションやデータのクラウドへの移行を進めると、頻繁に Web サービスの監視やテストが必要になります。HTTPie は HTTP ベースのサービスのテスト、評価、および視覚化に役立つ無料のオープン ソース ツールで、"人間にとってわかりやすい Web サービスを操作する CLI" を目指したコマンド ライン クライアントです。
HTTPie コマンドライン クライアントを使うと、HTTP 応答は、わかりやすいように形式が整えられて色付けされます。HTTPie は Python で記述されているので、Python を使ったことがない場合は、まず、この言語を習得する必要があります。詳細については、HTTPie を Windows で実行できるようにする方法を説明している便利なインストール ガイドを参照してください。HTTPie とその仕様は日々開発が進んでいるので、実際のインストール手順に進む前に上記のサイトにアクセスして、(Python、curl、pip、または HTTPie の) 最新のインストール方法に関する要件を確認してください。
HTTPie は HTTP の要求と応答を管理するためのツールです。さまざまな HTTP メソッド (GET、 POST、 PUT、DELETE など) を使って、応答を簡単に確認できます。データを直接 Web サービスに送るため、このシンプルで柔軟なコマンド ライン クライアントでは、通常のフォーム、ファイル アップロードのフォーム、および JSON 形式のデータがサポートされています。
コマンド ラインでは処理の難しいデータを送信する必要がある場合も、HTTPie では、stdin によるリダイレクトがサポートされています。これにより、データはバッファーされ、要求の本文として送信されます。たとえば、他のプログラムからデータを HTTPie にパイプ処理したり、入力リダイレクト (<) を使ってデータ ファイルを読み込むこともできます。現時点では、プロキシ、プロキシ認証、基本認証、およびダイジェスト認証がサポートされています。開発ロード マップには、他にも多くの認証方法が存在しています。
ホストの SSL 検証を省略したり、HTTPS 要求に独自の証明機関 (CA) バンドル パスを提供できます。既定では、HTTPie で送信する各要求は、以前に送信した要求から独立した状態になっています。ただし、HTTPie では、シンプルなコマンド ライン オプションを使って、永続セッションにすることがサポートされています。
HTTPie は応答の出力が優れています。出力の形式がきれいに整えられて色付けされているので、読みやすくなっています。たとえば、HTTP ヘッダーは名前で並べ替えられています。JSON データについてはインデントの設定と並べ替えが行われ、エンコードされたデータは人間が判読できる文字に変換されます。またバイナリ応答もサポートされています。応答の出力は、ファイルや他のプログラムにリダイレクトできます。stream オプションを使用して、データをバッファーしたり、チャンクしたりすることもできます。
HTTP ベースのサービスをテストする方法をお探しの場合は、無料のオープン ソース プロジェクトの HTTPie をぜひご検討ください。使いやすく、Windows で実行できるようにするのも比較的簡単です。また、出力は、きれいに形式が整えられているので、テストとトラブルシューティングの作業が簡略化されます。
LogMeister
IT 管理者が日常的に管理されている大半のアプリケーションでは、なんらかの出力やイベント ログが生成されています。このような多種多様なログをすべて追跡するのは困難かもしれませんが、しっかりとログを管理することは必要不可欠です。突然、ユーザーや上司から機能停止の知らせを受けるより、自分が問題の通知を最初に受け取るのが望ましいでしょう。
Technology Lighthouse の LogMeister は、アプリケーション、システム、セキュリティ、ディレクトリ サービスなどの標準のイベント ログと独自に作成したイベント ログを監視するためのツールです。監視の設定を構成するときに形式を定義すれば、XML 形式のログ、RSS フィード、Microsoft Windows インターネット接続ファイアウォール (ICF) ログ、およびさまざまなテキスト形式のログを監視することもできます。
LogMeister は、エージェントが不要なソリューションです。管理する各コンピューターに、リモート クライアントをインストールする必要はありません。ただし、リモートで監視するコンピューターに対しては、ログ データを取得するのに十分な権限と適切なファイアウォール ポートが必要になります。リモート サーバーのログ データは、リアル タイムまたは設定したスケジュールに基づいて取得できます。詳細なログや頻繁に使用するログには、スケジュールに基づいてログ データを取得する方法が便利です。このようにすると、ログの監視データによって、アプリケーションが応答しなくなったり、ネットワークが飽和状態になったりするのを防ぐ効果もあります。
新しいログ ホストを設定するには、New Feed Wizard (新規のフィード ウィザード) を使います。このウィザードでは、ログ データの種類、監視するホストの名前、およびポーリングを一定の間隔で行うのかリアルタイムで行うのかを設定します。新しいフィードの構成をカスタマイズする必要がある場合は、ウィザードの手順に従って形式やデータ列のマッピングを設定します。ウィザードでは、時刻の設定も求められますが、これはサーバーが異なるタイム ゾーンにある場合に便利で、すべての環境で適切なタイム スタンプが使用されるようにすることができます。
警告やエラーなど特定の種類のログ イベントのデータしか必要ない場合は、さまざまなログ フィルターを設定できます。ログ フィルターは、簡単な比較条件で、一致する、含む、含まない、大きい、小さい、時間や日付の範囲などがあります。テキストの比較には、文字列リテラルまたは正規表現のいずれかを使用できます。ウィザードの最後の手順では、新規のログ フィードの名前とカテゴリを指定します。
ログ データの取得が開始されると、フィルターが適用され、条件に一致しないデータはローカルのリポジトリに保存されます。保存サイズの制限や古いイベントの自動削除も可能です。古いデータを残しておく必要がある場合は、アーカイブしたり、データベースにエクスポートしたりできます。
ログ アグリゲーターは、不具合が発生したときにお知らせをくれる通知機能を設定しないうちは、あまり役に立ちません。LogMeister の通知ウィザードを使って、事前に構成されている一連のログ フィード (1 つまたは複数のログ フィードを含められます) について、通知の基準を設定できます。この基準では、イベント フィルターと同じオプションを使います。一定の時間内に、1 個から N 個が条件に一致したときだけ通知されるように選択することもできます。これは通知の件数を抑え、誤検知を減らす効果があります。また、特定の時間帯に送信される通知を制限することもできます。
通知手段としては、タスク バーのポップアップ、電子メール、出力ログ ファイル、カスタムのスクリプト、またはコマンド ライン アクションを指定できます。また、組み込みのレポート機能もいくつかあります。レポートはスケジュールを設定することも、イベントが通知されたときに自動的に作成されるようにすることもできます。レポートは、ログ データを処理済または未処理の状態で、テキスト、CSV、XML、RSS または HTML 形式で出力できます。
LogMeister は 1 ライセンス $ 179.99 です。このライセンスでは、LogMeister のインスタンスを 1 つインストールすることが可能で、監視するサーバーとログの数に制限はありません。1 ライセンスでは足りない場合は、ボリューム ディスカウントもあります。Web サイトから、すべての機能を備えた 30 日間限定の評価版をダウンロードできます。集中型のイベント ログ監視にのみ関心がある場合は、同社の EventMeister (シングル インストール $ 129.99) の使用を検討することをお勧めします。
Greg Steen は技術プロフェッショナルであり、企業家でもあります。また、新製品のファンであるとも言えます。より簡単な操作、品質保証、および開発に役立つ IT プロフェッショナルのための新しいツールを日夜追い求めています。