14Room

みんな泣きながらオトナになったんだ。

slackにslow query数を出してみた

概要

注意しなきゃいけ無いんだけど、気が付いたらslow queryがいっぱい出ていた・・・・。なんて事を回避するために、とりあえず毎日slackにslow query数を出すようにしてみました。

Webhook URL

slackにslow query数を投げるためのWebhook URLを取得します。詳しくは下記を参照してください。 Slack

スクリプト

前日分のslow logから件数を数えてslack(上記で取得したWebhook URL)に投げています。

#!/bin/bash
date=`date '+%Y-%m-%d'`
server_name=`hostname`
url="https://hooks.slack.com/services/zzzzzzz/xxxxxx/123456789aaa?parse=full"

num=`/bin/gzip -dc /var/log/mysql/mysql-slow.log.1.gz|grep Query_time|wc -l`
message="($date)  $server_name のslow-query数は$num です。"
payload="payload={\"text\": \"${message}\", \"username\": \"tabby\", \"icon_emoji\": \":tabby6:\"}"
curl --data "${payload}" ${url}

実行

各DBサーバ上のcronで毎朝9:10に定期実行させます。

10 0 * * * /root/work/slack.sh