MySQLの各テーブルのレコード数をDatadogで監視する
2018-12-03
前提
- モニタリングサーバ的なのが居る(datadog-agentが動いてる)
- 各種メトリクスはDatadogに集約している
- 概算で良い
手順
↓こんな感じのスクリプトを適当な間隔で繰り返し実行する
mysql -h "$RDS_HOST" -u "$RDS_USER" -p"$RDS_PASSWORD" -NB -e "select TABLE_NAME, TABLE_ROWS from information_schema.TABLES where table_schema = '$RDS_DATABASE'" | while read table count; do
echo "$table: $count"
echo "mysql.tables.${table}.records.count:${count}|g" | nc -w 1 -u localhost 8125
done
注意
InnoDBを使っている場合、information_schema.TABLE_ROWS
の値は概算。