2020年5月19日火曜日

blocked because of many connection errors; unblock with 'mysqladmin flush-hosts


発生原因:
DB接続に失敗すると発生するエラー


障害内容:
①管理画面からアクセスを行うとDB接続が出来ない状態になる。
->API間のアクセスについては、クレームが出てない。
②接続時(Sequel Pro)に以下のエラー表示が出力される。
== error 内容 ==
blocked because of many connection errors; unblock with 'mysqladmin flush-hosts


調査経緯:
ネット上の情報を収集限り、暫定的な解決方法が多いので
原因特定になる鍵が見つからない状態
それと、error.logに過去ログが残っていないので特定ができない状態。


日中の場合:
対象のDBを接続されている方からロックのエラーが表示を確認されたら
Slackで即時報告してもらう。
業務外
API/RDSのCPU使用率が100%になったら、RDS->EC2再起動を行う。
- EC2を別途設けることも考えたが、作成時間を考慮した場合再起動したほうが早そう。
- ネット情報ですが、再起動すれば解除されるようです。
解消策がない場合
- スナップショットからのリカバリを実施する


対処方法(暫定的な):
①対象のDBにて、以下のコマンドを投入する。
FLUSH HOSTS;

②RDSのパラメータのmax_error_count(10 ->xxxxx)の値を変更する
  ->65535まで変更可能。

上記、②については、発生するトリガーが不明なのと信憑製が分からないので
の対処になるかと思う。

0 件のコメント:

コメントを投稿

php log(ECS ログ出力)

# PHPエラーログの設定 ENV PHP_INI_DIR /usr/local/etc/php RUN { \ echo 'log_errors = On' ; \ echo 'error_log = /proc/self/...