awslogsとamazon-cloudwatch-agentの違い
awslogsもamazon-cloudwatch-agentもyum install出来るわけですが、両方ともCloudWatchAgentだと思い込んでないですか?違いをはっきりさせておいたほうがいいです。
awslogs
主にログまわりを取り扱う。CloudWatch Logs エージェント。はるか昔から既に非推奨になる予定(Amazon CloudWatch Logsユーザーガイド 2016年)なのでawslogsではなく、統合CloudWatchエージェント(unified CloudWatch agent : amazon-cloudwatch-agent)を使用することを強くお勧めします。
- CUIでログ確認できる
- CloudWatch Logsのロググループ名/ストリーム名/イベントなどを確認できる
- CloudWatchのログにロググループ/ログストリーム/イベントを出力
- CloudWatch Logs エージェント(awslogs)である
- ログのputとgetが出来る
- EC2をインスタンスにIMAロールのアタッチ/設定が必要
インストールや基本操作のコマンド
sudo yum update -y
//awslogsインストール
sudo yum install -y awslogs
//awslogs サービス開始
sudo service awslogs start
//Amazon Linux 2 でawslogs サービス開始
sudo systemctl start awslogsd
//システム起動時に毎回 awslogs サービス起動
sudo chkconfig awslogs on
//Amazon Linux 2でシステム起動時に毎回 awslogs サービス起動
sudo systemctl enable awslogsd.service
//awslogs サービス停止
sudo service awslogs stop
//Amazon Linux 2 でawslogs サービス停止
sudo service awslogsd stop
//ヘルプコマンド
awslogs --help
awslogs groups --help
amazon-cloudwatch-agent
メトリクスまわりもログも取り扱う。オンプレLinuxやWindowsもオッケー。collectdのインストール必須。CloudWatch エージェント。(古いawslogsに対して、統合CloudWatchエージェントやunified CloudWatch agentと言われるみたい)
- Amazon Linux 2 のパッケージ
- Amazon EC2 インスタンスからより多くのシステムレベルのメトリクスを収集。EC2インスタンスのメトリクスに加えて、ゲスト内メトリクスを含む。
- オンプレミスサーバーからシステムレベルのメトリクスを収集
- カスタムメトリクスは、StatsD および collectd プロトコルを使用して、アプリケーションまたはサービスから取得します。StatsD は、Linux サーバーと、Windows Server を実行するサーバーの両方でサポートされています。collectd は、Linux サーバーでのみサポートされています。
- Linux または Windows Server を実行している Amazon EC2 インスタンスおよびオンプレミスサーバーから、ログを収集
- EC2をインスタンスにIMAロールのアタッチ/設定が必要
インストールや基本操作のコマンド
sudo yum update -y
//amazon-cloudwatch-agentインストール
sudo yum install amazon-cloudwatch-agent
//CloudWatch エージェントのコマンドラインパラメータ ヘルプコマンド
amazon-cloudwatch-agent-ctl -help
//LinuxサーバーでCloudWatch エージェントのステータス確認
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -m ec2 -a status
//Windows Serverで管理者としてPowerShellでCloudWatch エージェントのステータス確認
& $Env:ProgramFiles\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1 -m ec2 -a status
//LinuxサーバーでCloudWatch エージェントのバージョン情報検索
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a status
//Windows Serverで管理者としてPowerShellでCloudWatchエージェントのバージョン情報検索
& $Env:ProgramFiles\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1 -m ec2 -a status
//Linux サーバーでCloudWatch エージェントをローカルで停止
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -m ec2 -a stop
//Windows Serverで管理者としてPowerShellでCloudWatchエージェントをローカルで停止
& $Env:ProgramFiles\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1 -m ec2 -a stop
//設定ファイルを Systems Manager Parameter Store に保存した場合、LinuxサーバーでCloudWatchエージェントの開始
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -s -c ssm:configuration-parameter-store-name
//設定ファイルをローカルコンピュータに保存した場合、LinuxサーバーでCloudWatchエージェントの開始
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -s -c file:configuration-file-path
//エージェント設定ファイルを Systems ManagerParameter Store に保存した場合、Windows Serverで管理者としてPowerShellでCloudWatchエージェント開始
& "C:\Program Files\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1" -a fetch-config -m ec2 -s -c ssm:configuration-parameter-store-name
//エージェント設定ファイルをローカルコンピュータに保存した場合、Windows Serverで管理者としてPowerShellでCloudWatchエージェント開始
& "C:\Program Files\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1" -a fetch-config -m ec2 -s -c file:"C:\Program Files\Amazon\AmazonCloudWatchAgent\config.json"