こんにちは、Daniel (@daniel__blog) です。
AWSのサービスの1つであるCloudWatch Logsを使っていると、以下の様な場面に遭遇することがあります。
統合CloudWatchエージェントが出る以前のCloudWatch Logsエージェントを使用していたけれど不要になった。
あるいは、統合CloudWatchエージェントに移行したい。
この場合、これまで使ってきたCloudWatch Logsエージェントは不要になるので、関連するサービスとそれら設定ファイルもOS上から削除してしまいたいと思います。
しかし、これらの情報についてはググっても中々出てきませんでした。
そこで今回はこの問題について書きたいと思います。
- (古い)CloudWatch Logsエージェントのアンインストールについて
- 不要になった設定ファイルの削除方法
では、説明していきます。
Contents
CloudWatchエージェントには2種類ある
まず、前提として、CloudWatchのエージェントには以下の2種類あります。
- CloudWatch Logsエージェント(廃止予定)
- 統合CloudWatchエージェント
CloudWatch Logsエージェント(廃止予定)とは?
後述の「統合CloudWatchエージェント」が出る以前、ログデータ(例えば”/var/log/messages”の内容等)をEC2インスタンスからCloudWatch Logsに送信するために用意されていたエージェントです。
導入には、OS上からPythonスクリプト(awslogs-agent-setup.py)を用いてインストールしていました。
こちらは今後廃止が予定されています。(2021年2月現在)
参考 以前の CloudWatch Logs エージェントを使用して CloudWatch Logs の使用を開始するhttps://docs.aws.amazon.com
統合CloudWatchエージェントとは?
現在は、この統合CloudWatchエージェントというものが新しく登場しています。この中には、CloudWatchのカスタムメトリクスをAWSマネジメントコンソール上に表示させる機能だけでなく、CloudWatch Logsエージェントで実施していたCloudWatch Logsへログデータを送信する機能も統合されました。
よって、これから新しくCloudWatch Logsへログデータを送信したい場合には、この統合CloudWatchエージェントを使えば良いわけです。
参考 統合 CloudWatch エージェントを使用して CloudWatch Logs の使用を開始するhttps://docs.aws.amazon.com
エージェント移行時の注意点
これまで(古い方の)CloudWatch Logsエージェントを使っていたが、統合CloudWatchエージェントに移行したい場合には注意が必要です。
これは、新旧のエージェントではパラメータの指定方法が若干異なっていたり、削除されたパラメータもあるからです。詳しくは下記のリンク参照。
参考 CloudWatch Logs/統合CloudWatchエージェントの違いと移行時の注意点https://blog.serverworks.co.jp
(古い方の)CloudWatch Logsエージェントをアンインストール、ファイル削除したい場合
アンインストール手順、方法はない
AWSドキュメントにも、古いCloudWatch Logsエージェントのアンインストールの手段は用意されていないようです。そのため、CloudWatch Logsエージェントが不要になったので削除したい場合や統合CloudWatchエージェントに乗り換える場合は、サービス停止とファイル削除により対応することになります。
以下、その対応方法についてご説明します。
まずは対象EC2インスタンスをバックアップ
ここから先はOS上でサービスをいじったりファイルを削除したりします。念のためAMIによるバックアップ取得をしておくことを強くおすすめします。
OS上での対応
それでは、実際にOS上でコマンド実行して(古い方の)CloudWatch Logsエージェントサービス停止とファイル削除を行っていきましょう。
※なお、ここから先は Redhat Enterprise Linux 8.1 を想定しています。
cronファイル、ログローテート用ファイルの削除
sudo rm /etc/cron.d/awslogs*
sudo rm /etc/logrotate.d/awslogs
awslogsの停止、無効化
sudo systemctl stop awslogs
sudo systemctl disable awslogs
サービスからの除外
sudo chkconfig --del awslogs
sudo rm /etc/rc.d/init.d/awslogs
sudo systemctl daemon-reload
他のファイル、ディレクトリ、Pythonスクリプト削除
sudo rm -rf /var/awslogs
sudo rm /var/log/awslogs*
sudo rm <スクリプトのパス>/awslogs-agent-setup.py
今回は以上です!