CLIを利用して、CloudWatch Logsのメトリックフィルタを削除してみます。
(ロググループを削除すると、一緒に削除されますが、メトリックフィルタを個別に削除するケースを想定した手順です。)
前提条件
CloudWatch Logsへの権限
- CloudWatch Logsに対してフル権限があること。
AWS CLIのバージョン
-
以下のバージョンで動作確認済
- AWS CLI 1.7.24
コマンド
aws --version
結果(例)
aws-cli/1.7.24 Python/2.7.5 Darwin/13.4.0
- 準備
=======
0.1. リージョンの指定
削除するメトリックフィルタが存在するリージョンを指定します。
(カレントユーザが利用するカレントリージョンも切り変わります。)
コマンド(東京リージョンの場合)
export AWS_DEFAULT_REGION='ap-northeast-1'
0.2. 変数の確認
プロファイルとリージョンが想定のものになっていることを確認します。
変数の確認
aws configure list
結果(例)
Name Value Type Location
---- ----- ---- --------
profile cloudwatchFull-prjZ-mbp13 env AWS_DEFAULT_PROFILE
access_key ****************LOAQ shared-credentials-file
secret_key ****************I1O1 shared-credentials-file
region ap-northeast-1 env AWS_DEFAULT_REGION
0.3. ロググループの指定
削除するメトリックフィルタが存在するロググループを指定します。
コマンド
LOG_GROUP_NAME='<ロググループ名>'
0.4. ロググループの内容確認
削除するメトリックフィルタが存在するロググループの内容を確認します。
コマンド
aws logs describe-log-groups \
--log-group-name-prefix ${LOG_GROUP_NAME}
結果(例)
{
"logGroups": [
{
"storedBytes": 136,
"metricFilterCount": 1,
"creationTime": 1430093242053,
"logGroupName": "test/sample",
"retentionInDays": 3653,
"arn": "arn:aws:logs:ap-northeast-1:XXXXXXXXXXXX:log-group:test/sample:*"
}
]
}
- 事前作業
===========
1.1. メトリックフィルタ名の指定
削除するメトリックフィルタを指定します。
コマンド
LOG_FILTER_NAME='<メトリックフィルタ名>'
1.2. メトリックフィルタの確認
削除するメトリックフィルタの内容を確認します。
コマンド
aws logs describe-metric-filters \
--log-group-name ${LOG_GROUP_NAME}
結果(例)
{
"metricFilters": [
{
"filterName": "test-filter",
"metricTransformations": [
{
"metricValue": "1",
"metricNamespace": "testNS",
"metricName": "testMetric"
}
],
"creationTime": 1430103584640,
"filterPattern": "Error"
}
]
}
- メトリックフィルタの削除
===========================
メトリックフィルタを削除します。
変数の確認
cat << ETX
LOG_GROUP_NAME: ${LOG_GROUP_NAME}
LOG_FILTER_NAME: ${LOG_FILTER_NAME}
ETX
コマンド
aws logs delete-metric-filter \
--log-group-name ${LOG_GROUP_NAME} \
--filter-name ${LOG_FILTER_NAME}
結果
(戻り値なし)
- 事後作業
===========
メトリックフィルタの不存在確認
削除したメトリックが存在しないことを確認します。
コマンド
aws logs describe-metric-filters \
--log-group-name ${LOG_GROUP_NAME}
結果(例)
{
"metricFilters": []
}
完了
メトリックフィルタを削除したら、次はログストリームを削除してみます。
http://qiita.com/tcsh/items/1fe1d205796dfdf3561a