質問: 現在、運用しているサービスのDBサーバで重いSQLを投げられる事で ロードアベレージが100を超える事が起きました。 SQLの作りを変える事をまず行わないといけないのですが、インフラ側でロードアベレージが急激に上がる前に スロークエリで100秒以上となったら、アラート飛ばす事をしたいと思っています。 普通に、grep Query_time /var/log/mysql/mysql-slow.log|awk '{ print $3; }'をやると 1日全部のクエリログを拾う事になりますので、1分毎のcronを仕込んで、常に1分間前のクエリログを見て検知させる事を 考えています。 下記のように1分前を指定してやればいいのかと思っているのですが この後、どう処理させればいいのかなどご教示頂けますと幸いです ``` INTERVAL_MINUTE=${1:-1} for i in `seq 1 $INTERVAL_MINUTE`; do ``` よろしくお願い致します
回答: とりあえず、grepとawkなどを絡ませて出来るようにしました