###前提・実現したいこと
AWS S3上に保存されている ClowdTrail のログファイル(~.gz形式)をローカルに取り込み、
ログのイベント発生時間でソートしたファイルを作成するスクリプトをCronで毎時動かしています。
今までは、処理のに時間は掛っていましたがエラーは発生していなかったみたいなのですが、
最近以下のエラーメッセージが発生しているのが見つかりました。
※メッセージはCronからメールで送られてきました。
エラーメッセージを検索してみたのですが、原因がわからなかったため、質問させていただきました。
OS:CentOS6.7
jq - commandline JSON processor [version 1.4]
###発生している問題・エラーメッセージ
jq: error: Cannot iterate over string
jq: error: string and array cannot be sorted, as they are not both arrays
jq: error: Cannot iterate over string
jq: error: string and array cannot be sorted, as they are not both arrays
~以下同じ~
現在、手動で実行、cronで実行してもメッセージは発生していません。
###ソースコード
スクリプトの中で、jqを使用しているのは、以下のコマンドなのですが、何が問題なのでしょうか。
bash
1find /var/log/trail-log/ -name "*.json.gz" | sort | xargs gunzip -c | /usr/bin/jq '.[] | sort_by(.eventTime) | .[]' | /usr/bin/jq '{awsRegion, eventName, eventTime, userName: .userIdentity.userName, requestParameters}' | /usr/bin/jq '"[\(.eventTime)] \(.awsRegion) \(.userName) \(.eventName) \(.requestParameters)"' > trail.log
###補足情報(言語/FW/ツール等のバージョンなど)
※参考として、.gzを解凍したファイルの中身を記載致します。
{"Records":[{"eventVersion":"1.03","userIdentity":{"type":"IAMUser","principalId":"xxxxxxxxxx","arn":"arn:aws:iam::xxxxxxxxxx:user/xxxxxxxxxx-user","accountId":"xxxxxxxxxx","accessKeyId":"xxxxxxxxxx","userName":"xxxxxxxxxx-user"},"eventTime":"2016-02-23T13:22:44Z","eventSource":"ec2.amazonaws.com","eventName":"DescribeInstances","awsRegion":"ap-northeast-1","sourceIPAddress":"xxx.xxx.xxx.xxx","userAgent":"aws-cli/1.9.7 Python/2.6.6 Linux/2.6.32-573.7.1.el6.x86_64 botocore/1.3.7","requestParameters":{"instancesSet":{},"filterSet":{"items":[{"name":"instance-id","valueSet":{"items":[{}]}}]}},"responseElements":null,"requestID":"xxxxxxxxxx-6e0f-434e-a5e7-xxxxxxxxxx","eventID":"xxxxxxxx-00c5-43a6-944a-xxxxxxxx","eventType":"AwsApiCall","recipientAccountId":"xxxxxxxxxx"},{"eventVersion":"1.03","userIdentity":{"type":"IAMUser","principalId":"xxxxxxxxxx","arn":"arn:aws:iam::xxxxxxxxxx:user/xxxxxxxxxx-user","accountId":"xxxxxxxxxx","accessKeyId":"xxxxxxxxxx","userName":"xxxxxxxxxx-user"},"eventTime":"2016-02-23T13:22:49Z","eventSource":"ec2.amazonaws.com","eventName":"DescribeInstances","awsRegion":"ap-northeast-1","sourceIPAddress":"xxx.xxx.xxx.xxx","userAgent":"aws-cli/1.9.7 Python/2.6.6 Linux/2.6.32-573.7.1.el6.x86_64 botocore/1.3.7","requestParameters":{"instancesSet":{},"filterSet":{"items":[{"name":"instance-id","valueSet":{"items":[{"value":"i-xxxxxxxx"}]}}]}},"responseElements":null,"requestID":"xxxxxxxx-25ee-465c-9a1f-xxxxxxxx","eventID":"xxxxxxxx-0c36-49cb-924e-xxxxxxxx","eventType":"AwsApiCall","recipientAccountId":"xxxxxxxx"},{"eventVersion":"1.03","userIdentity":{"type":"IAMUser","principalId":"xxxxxxxxxx","arn":"arn:aws:iam::xxxxxxxxxx:user/xxxxxxxxxx-user","accountId":"xxxxxxxxxx","accessKeyId":"xxxxxxxxxx","userName":"xxxxxxxxxx-user"},"eventTime":"2016-02-23T13:22:47Z","eventSource":"ec2.amazonaws.com","eventName":"DescribeInstances","awsRegion":"ap-northeast-1","sourceIPAddress":"xxx.xxx.xxx.xxx","userAgent":"aws-cli/1.9.7 Python/2.6.6 Linux/2.6.32-573.7.1.el6.x86_64 botocore/1.3.7","requestParameters":{"instancesSet":{},"filterSet":{"items":[{"name":"instance-id","valueSet":{"items":[{"value":"?i-xxxxxxxx?"}]}}]}},"responseElements":null,"requestID":"xxxxxxxx-3163-4b2f-88c0-xxxxxxxx","eventID":"xxxxxxxx-53af-4e93-abe4-xxxxxxxx","eventType":"AwsApiCall","recipientAccountId":"xxxxxxxxxx"}]}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/03/05 23:58