作成日 | 2014/12/25 |
---|---|
更新日 | 2014/12/25 |
概要
この技術情報では、Microsoft Azure(以下、Azure)のサブスクリプションのAPI呼出しの記録(以下、Azure操作ログ)を取得し、蓄積とログ監視する方法を説明します。これは、Azure操作ログをローカルサーバに取得し加工し、Hinemosによって監視することで実現します。Azure操作ログをローカルサーバに取得し加工するスクリプト(クラウド操作ログ取得スクリプト)は、本技術情報からダウンロードできます。
この技術情報は、Azure上でシステムを構築しようとしている、または既に構築済みのユーザを対象としています
<参考情報>
Hinemosの[実践]入門の本が出ました。Hinemosをもっと詳しく知りたい方は、以下の書籍がお勧めです。
課題
技術情報「クラウド操作ログ管理の方法(AWS CloudTrail編)」を参照してください。
メリット
技術情報「クラウド操作ログ管理の方法(AWS CloudTrail編)」を参照してください。
前提条件
この技術情報を用いる上で前提条件を説明します。
・Azureサブスクリプション
読者のAzureサブスクリプションを利用します。
クラウド操作ログ取得スクリプトは、curlコマンドにてAzure APIにアクセスするため、Azureの管理証明書が必要になります。
対象環境
この技術情報を適用する環境について説明します。本技術情報では、CentOS 6.5、Hinemos v4.1の環境を想定します。
クラウド操作ログ取得スクリプトの動作環境
・インターネットに接続可能なLinuxサーバ
Azureのエンドポイントに接続可能なインターネット接続環境が必要です。
オンプレミス環境、仮想化環境、パブリッククラウド環境上の何れも問いません。
・curl、pythonのインストール
curl、pythonを使用します。
セットアップ方法はクラウド操作ログ取得スクリプトのREADMEを参照してください。
・Hinemosのインストール不要
クラウド操作ログ取得スクリプトを動作させるだけの場合には、Hinemosのインストールは不要です。
本技術情報の動作環境
Hinemosを使ってAzure操作ログの監視や蓄積をするため、クラウド操作ログ取得スクリプトの動作するサーバにHinemosエージェントのインストールが必要になります。スモールセットの環境は以下の通りです。
実現方法/解決策
技術情報を実現する方法について説明します。
1.クラウド操作ログ取得スクリプトのセットアップ
2.Hinemosログファイル監視設定
1.クラウド操作ログ取得スクリプトのセットアップ
[Azure操作ログとは]
クラウド操作ログ取得スクリプトは、Azure操作ログをAPI経由で取得します。Azure操作ログの詳細は以下のリンクを参照してください。
Windows Azure サポートの現場から
~ Windows Azure Platform トラブル シューティング入門 ~
(http://msdn.microsoft.com/ja-jp/windowsazure/dn169544)
Azure操作ログはデフォルトで90日間の保存となりますので、長期保存であったり指定の操作に対するアラートは別の仕組みが必要となります。
[クラウド操作ログ取得スクリプトとは]
クラウド操作ログ取得スクリプトは、Azure操作ログに対して、ヘッダ項目を抽出し、Hinemos及び他のプログラムから操作が簡易にできるように1イベント1行に変換してローカルのファイルへ出力するプログラムです。
- Azure操作ログのラインコンバーター
複数行で表示されるXML形式のAzure操作ログを1イベント1行に変換します。
- ヘッダ項目を抽出
1イベント1行に変換する際に、Azure操作ログとして重要なイベント出力時刻(OperationStartedTime、OperationCompletedTime)等を抽出して、毎回既定の順で行の左側から表示されるようにします。
本スクリプトはLinuxのタスクスケジューラのcronで定期的に実行します。本スクリプトは次のファイルを出力します。<profile>は、クラウド操作ログ取得スクリプトのセットアップ時に指定するプロファイル名になります。
- Hinemosから監視する対象のログファイル
/var/log/azure/operationlog/<profile>/AzureOperationLog.log
クラウド操作ログ取得スクリプトは以下のリンクからダウンロードしてください。
クラウド操作ログ取得スクリプト for Azure のダウンロード
セットアップ方法は、ダウンロードファイルの中に含まれるREADME.txtを参照してください。
2.Hinemosログファイル監視設定
Hinemosログファイル監視機能を使用して、AzureOperationLog.logを監視します。ログファイル監視の「チェック設定」の項目では、以下の内容を指定します。<profile>はユーザの環境によって異なるので適宜変更してください。
[ログファイル監視のチェック設定]
ディレクトリ:/var/log/azure/operationlog/<profile>
ファイル名(正規表現):AzureOperationLog.log
ログファイル監視で設定するパターンマッチの例は次の「利用例/ユースケース」で紹介します。
利用例/ユースケース
Azure操作ログのOperations一覧は以下より参照してください。
List Subscription Operations (英語)
(http://msdn.microsoft.com/library/azure/gg715318.aspx)
例えば、イメージ作成の場合は「DeleteImage」という文字列でヒットさせることができます。
アラートを上げたいものを正規表現で指定し、それ以外は「.*」で指定する事で全てのログをHinemosのイベントとして蓄積することもできます。
免責事項
本ソフトウェアの使用・本ドキュメントに従った操作により生じたいかなる損害に対しても、 弊社は一切の責任を負いません。
注意事項
本ドキュメントの内容を実施すると、Azureにおいて料金が発生する場合があります。Azureの料金体系等を理解した上で操作を実施してください。
本ドキュメントにおいて、2014年12月現在の Azureのサービスに従い記載しておりますが、Azureのサービス変更に伴い、これらの操作が変更となる可能性があります。
関連情報
お問い合わせ