やりたいこと
オンプレミスのLinuxサーバにCloudWatch Logsの設定をする方法です。 記事中ではオンプレミスとなっていますが、EC2以外のサーバが対象です。
前提条件
CentOS 7で確認しています。
手順
SSMエージェントを入れる
以下の記事を参考にしてください。
このサーバに入れるときは、registerに3分半ほどかかりました。
ロールを作成
ロールはデフォルトで以下のポリシーが定義されています。
- ポリシー名:
CloudWatchAgentServerPolicy
- ポリシーARN:
arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy
しかし、これだけではSystems Managerへの書き込み権限がないので、 書き込み権限を追加したポリシーを作成します。
以下の記事を参考にしました。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "CloudWatchAgentAdminPolicy",
"Effect": "Allow",
"Action": [
"logs:CreateLogStream",
"cloudwatch:PutMetricData",
"ec2:DescribeTags",
"logs:DescribeLogStreams",
"logs:CreateLogGroup",
"logs:PutLogEvents",
"ssm:GetParameter",
"ssm:PutParameter"
],
"Resource": "*"
}
]
}
エージェントのインストール
以下の方法で入力すると、カスタムメトリクスがたくさんできるので注意
- IAMユーザを作成する。
- エージェントをインストール(詳細は開始方法: CloudWatch エージェントを最初のサーバーにインストールする - Amazon CloudWatch参照)
- wgetでダウンロード
- unzip
- install.shを流す
- 何も表示されずに終了します。
/opt/aws/amazon-cloudwatch-agent/
以下にインストールされます。
- common-config.tomlを編集する箇所は通常不要です。
- ~/.aws/configと~/.aws/credentialsに以下のエントリがあるようにする。
- セクション:
[AmazonCloudWatchAgent]
- キー: aws_access_key_id, aws_secret_access_key, region
- セクション:
- 設定ファイルを作成(詳細はCloudWatch エージェント設定ファイルを作成する - Amazon CloudWatch参照)
- amazon-cloudwatch-agent-config-wizardを実行
- OSを選ぶ: Linux/Windows
- ホストのタイプ: EC2/オンプレミス
- CPUやメモリのモニタリングをするか?: はい/いいえ
- コア単位のCPUモニタリングをするか?: はい/いいえ
- 計測単位は?: 1秒/10秒/30秒/60秒
- 設定は?: Basic/Standard/Advanced/None
- これは意味が分かりませんでした。
- 上の設定(JSONで出力される)で問題ないか?: はい/いいえ
- CloudWatch Log Agentの設定ファイルがあるか?: はい/いいえ
- 初回は「いいえ」になると思います。
- 全てのログファイルをモニタリングするか?: はい/いいえ
- ログファイルのパス:
/var/log
で良さそう?
- ロググループ名
- 追加でモニタリングするログはあるか?
- 設定をSSMパラメータストアに入れるか?
- 設定をどのような名前でストアに入れるか?
- 何でもいいようですが、
AmazonCloudWatch-
で始まる方が良さそうです。
- 何でもいいようですが、
- パラメータストアを保存するリージョンは?
- 東京リージョンなので
ap-northeast-1
- 東京リージョンなので
- AWSのアクセスキー
- amazon-cloudwatch-agent-config-wizardを実行
起動
- EC2のSYSTEMS MANAGER 共有リソース -> マネージドインスタンス
- コマンドを実行
AmazonCloudWatch-ManageAgent
を選択(下の方にある)- ターゲットを選択
- Action: configure
- Mode: onPremise
- Optional Configuration Location:
AmazonCloudWatch-
から始まる設定したものを入れる。 - Runを押す
公式サイト
マニュアル
- Amazon Web Services(AWS)
- cloudwatch: まだありません。