HEROZ Kishin Monitor マニュアル
ver 1.3.1

はじめに

初期設定

dashboardへのログインとユーザーアカウント

アクセスログ監視設定方法

AWS監視設定方法

Azure監視設定方法

管理機能

監視グル―プの設定

監視項目の設定

通知先の設定

メール

chatwork

Web Hook


注意制限事項

よくある質問

付録1:監視項目一覧

初期設定

dashboardへのログインとユーザーアカウント

dashboardへは、下記のURLよりアクセスしてください。

ログインID及びパスワードは、登録時のメールアドレスに送付しています。
ユーザー情報、パスワードを変更したい場合は、「左メニュー」⇒「登録情報」から変更できます。
なお、サービスID、サービス名及び契約プランについてはdashboardでは変更できません。
「左メニュー」⇒「お問い合わせ」よりお問い合わせください。


アクセスログ監視設定方法

アクセスログを監視するために、監視エージェント(td-agent)をインストールします。

1. td-agentのインストール

> curl -L https://toolbelt.treasuredata.com/sh/install-ubuntu-xenial-td-agent2.sh | sh

バージョン:td-agent 2.3.6-0

2. secure-forward のインストール

> /opt/td-agent/embedded/bin/gem install --no-ri --no-rdoc -V fluent-plugin-secure-forward

バージョン:fluent-plugin-secure-forward (0.4.5)

3. 各種設定

Webサーバがnginxの場合を例にして記載します。

# vi /etc/td-agent/td-agent.conf

<source>
  @type tail
  path /var/log/nginx/access.log
  pos_file /var/log/td-agent/nginx.access.log.pos
  tag access
  format /^(?<clientip>[^ ]*) (?<host>[^ ]*) (?<user>[^ ]*) \[(?<time>[^\]]*)\] "(?<method>\S+)(?: +(?<path>[^ ]*) +\S*)?" (?<code>[^ ]*) (?<size>[^ ]*)(?: "(?<referer>[^\"]*)" "(?<agent>[^\"]*)")?/

  time_format %d/%b/%Y:%H:%M:%S %z
  types code:integer,size:integer,rt:float
</source>

<match access>
  type secure_forward
  shared_key 【Fluentd shared key】
  <server>
    host     【Fluentd host】
    username 【Fluentd username】
    password 【Fluentd password】
  </server>

  secure yes
  enable_strict_verification no

  ca_cert_path /etc/td-agent/certs/ca_cert.pem
</match>

# mkdir /etc/td-agent/certs

# cat > /etc/td-agent/certs/ca_cert.pem

【Fluentd public Key】

# vi /etc/init.d/td-agent

- TD_AGENT_USER=td-agent

+ TD_AGENT_USER=root

# /etc/init.d/td-agent restart


/var/log/td-agent/td-agent.log に

2017-12-27 10:50:06 +0000 [info]: following tail of /var/log/nginx/access.log
2017-12-27 10:50:07 +0000 [info]: connection established to kishin-monitor.heroz.jp

と表示されれば設定完了となります。


3.1.他のWebサーバを使用する

Apacheや、TomcatなどのWebサーバを使用する際も、ログ形式をcommonまたはcombinedに設定し、<source>内の"path"および"pos_file"に それらのログ、posファイルの場所を指定すれば動作します。

4.パス別レスポンスタイムを監視

監視項目で「パス別レスポンスタイム」を監視する場合、nginxでレスポンスタイムを記録するため、下記の設定を行ってください。rt=以降の数値がレスポンスタイムとして処理されます。


nginx.conf

log_format monitor  '$remote_addr - $remote_user [$time_local] '
						'"$request" $status $body_bytes_sent '
						'"$http_referer" "$http_user_agent"'
						' rt=$request_time;';

			access_log /var/log/nginx/access.log monitor;

nginx.conf for elb.

log_format monitor  '$http_x_forwarded_for - $remote_user [$time_local] '
						'"$request" $status $body_bytes_sent '
						'"$http_referer" "$http_user_agent"'
						' rt=$request_time;';

			access_log /var/log/nginx/access.log monitor;

td-agent.conf

format /^(?<clientip>[^ ]*) (?<host>[^ ]*) (?<user>[^ ]*) \[(?<time>[^\]]*)\] "(?<method>\S+)(?: +(?<path>[^ ]*) +\S*)?" (?<code>[^ ]*) (?<size>[^ ]*)(?: "(?<referer>[^\"]*)" "(?<agent>[^\"]*)")?(?: rt=(?<rt>[^;]*);)?/

設定適用後のnginxログの例

123.1.12.123 - - [01/Aug/2018:00:00:00 +0000] "GET /home HTTP/1.1" 200 1234 "-" "curl/7.47.0" rt=0.123;

5. 鍵の確認

「左メニュー」⇒「鍵情報」より、Fluentdの【shared key】【host】【username】【password】及び【public key】を確認してください。


AWS監視設定方法

HEROZ Kishin Monitorでは、Cloud Watchのログ情報をもとに監視を行います。
「左メニュー」⇒「鍵情報」より、『リージョン』、『アクセスキーID』及び『シークレットアクセスキー』を
登録してください。
また、KishinMonitor用アカウントに、下記の手順でポリシーの作成と追加をお願いいたします。


1. ポリシーの作成

AWSコンソール中、IAM > ポリシー > ポリシーの作成 > JSONより、以下の設定にてポリシー作成をお願いいたします。
ポリシー名は "LoadBalancerAccessForKishinMonitor" としてください。

{
		"Version": "2012-10-17",
		"Statement": [
			{
				"Action": "elasticloadbalancing:DescribeLoadBalancers",
				"Effect": "Allow",
				"Resource": "*"
			}
		]
	}

2. ポリシーの追加

HEROZ Kishin Monitor用のユーザーを下記の手順で作成してください。

1. AWSマネージメントコンソールに接続します。

2. IAMコンソールにアクセスします。

2

3. 左ペインからUsersを選択します。

3

4. 左上の[Add users]ボタンを押します。

4

5. User name にKishin Monitorなど判別できるものを入力し、Access typeにProgrammatic accessをチェックし、[Next: Permissions]ボタンを押します。

5

6. [Attach existing policies directly]を選択し、下記のポリシーを追加します。

- AmazonEC2ReadOnlyAccess

- CloudWatchLogsReadOnlyAccess

- AmazonRDSReadOnlyAccess

- CloudWatchReadOnlyAccess

- LoadBalancerAccessForKishinMonitor (手順「1.ポリシーの作成」で作成)

追加し終わったら、[Next: Review]ボタンを押します。

6

7. 確認画面が表示されます。内容に問題ないことを確認し、[Create user]を押します。

7

8. Access key ID, Secret access keyが表示されていることを確認します。

8

作成後、Dashboard 「左メニュー」⇒「鍵情報」より、『リージョン』、『アクセスキーID』及び『シークレットアクセスキー』を登録してください。

Azure監視設定方法

HEROZ Kishin Monitorでは、Azure Monitorから得られるメトリック情報をもとに監視を行います。
メトリック情報へのアクセスを許可するために下記の設定をお願いいたします。
設定ではAzureポータルおよびPowerShellを利用します。PowerShellにつきましてはAzureポータルにて提供されているAzure Cloud Shellを利用することが可能です。


1. HEROZ Kishin Monitor用のカスタムロール定義の作成

下記内容をお客様環境に合わせて書き換えた上で "CustomRoleForKishinMonitor.json" として保存してください。
AssignableScopesの<サブスクリプションID>の箇所を、HEROZ Kishin Monitorの監視対象とするお客様所有のサブスクリプションのサブスクリプションIDに書き換えてください。

	{
		"Name": "Kishin Monitor Read Access Role",
		"Id": null,
		"IsCustom": true,
		"Description": "Allows for read access to Metrics, Virtual Machine, SQL Database, Load Balancer, Application Gateway",
		"Actions": [
			"Microsoft.Insights/MetricDefinitions/read",
			"Microsoft.Insights/Metrics/read",
			"Microsoft.Compute/VirtualMachines/*/read",
			"Microsoft.Sql/servers/databases/*/read",
			"Microsoft.Network/loadBalancers/*/read",
			"Microsoft.Network/applicationGateways/*/read",
			"Microsoft.Network/networkInterfaces/*/read",
		],
		"NotActions": [
		],
		"AssignableScopes": [
			"/subscriptions/<サブスクリプションID>",
		]
	}

同一テナント内に存在する複数のサブスクリプションのリソースを監視する場合は、AssignableScopesを下記のように書き換えてください。

		"AssignableScopes": [
			"/subscriptions/<サブスクリプションID_1>",
			"/subscriptions/<サブスクリプションID_2>",
			"/subscriptions/<サブスクリプションID_3>",
		]

2. Azure Active Directoryへカスタムロール定義を登録

PowerShellで下記コマンドを実行し、Azure環境へのログインを行います。
Azure Cloud Shellを利用する場合はすでにログイン済みとなるため下記コマンドの実行は不要です。

Login-AzureRmAccount

PowerShellで下記コマンドを実行し、権限の登録を行います。
引数InputFileには1.の手順で保存したファイルのパスを記載します。

New-AzureRmRoleDefinition -InputFile <カスタムロール定義ファイルのパス>

Azure Cloud Shellを利用する場合は、1.の手順で保存したファイル(CustomRoleForKishinMonitor.json)のアップロードを行う必要があります。 アップロードしたファイルは、$HOME\CloudDrive\に保存されます。

1. Azureポータルに接続します。

2. Azure Cloud Shellを起動します

2

3. Shell画面左上よりPowerShellを選択します。

3

4. Shell画面左上の[ファイルのアップロード]を選択します。

4

5. CustomRoleForKishinMonitor.jsonを選択し[開く]を選択します。

5

3. Azure Active Directory アプリケーションの作成

下記の手順でHEROZ Kishin MonitorをAzure Active Directory アプリケーションとして登録します。

1. Azureポータルに接続します。

2. 画面左から[Azure Active Directory]を選択します。

2

3. [アプリの登録]を選択します。

3

4. [新しいアプリケーションの登録]を選択します。

4

5. 名前に[Kishin Monitor]、アプリケーションの種類を[Web アプリ/API]、サインオン URLに[https://kishin-monitor.heroz.jp/]と入力し、[作成]を選択します。

5

4. アプリケーションをロールに割り当てる

1. 画面左全てのサービスから[サブスクリプション]を選択します。

1

2. HEROZ Kishin Monitorで監視を行うサブスクリプションを選択します。

1

3. [アクセス制御]を選択します。

1

4. [追加]を選択します。

1

5. 役割に[Kishin Monitor Read Access Role]、アクセスの割当先に[Azure AD のユーザー、グループ、またはアプリケーション]を選択し、 選択に[Kishin Monitor]と入力し、表示されたKishin Monitorを選択し、画面下部の保存を選択します。

1

5. アプリケーションIDの確認

1. 画面左から[Azure Active Directory]を選択します。

1

2. [アプリの登録]を選択します。

3

3. [すべてのアプリ]を選択します。

3

4. 作成したアプリケーションを選択します。

4

5. アプリケーションIDが確認できます。

5

6. シークレットキーの作成

1. 画面左から[Azure Active Directory]を選択します。

1

2. [アプリの登録]を選択します。

3

3. [すべてのアプリ]を選択します。

3

4. 作成したアプリケーションを選択します。

4

5. [設定]を選択します。

5

6. [キー]を選択します。

6

7. キーの説明を入力し、キーの期間を指定します。 操作が完了したら、[保存] をクリックします。

7

8. キーの値が表示されます。キーは後から取得できないため、この値をコピーしておきます。

8

7. テナントIDの確認

1. 画面左から[Azure Active Directory]を選択します。

1

2. 下にスクロールし[プロパティ]を選択します。

2

3. ディレクトリIDに表示されているIDがテナントIDとなります。

3

8. HEROZ Kishin Monitorへ情報登録

1. HEROZ Kishin Monitorの「左メニュー」⇒「鍵情報」より、『テナントID』、『クライアントID』、『シークレットキー』を登録してください。 『テナントID』には7.で確認したテナントID、『クライアントID』には5.で確認したアプリケーションID、『シークレットキー』には6.で確認したキーが入ります。