SQLアラート
Calíopeで開く自分のクエリーが返す値を監視し、定義したしきい値を超えると「アラート」を示します。
場所: ワークスペース › ツール › SQLアラート
ワークスペースのナビゲーションバーから「SQLアラート」を開きます。表には設定済みのすべてのルールが、現在の値と「アラート」/「OK」の表示とともに並びます。クエリーが失敗したルールは「エラー」と表示されます(サーバの応答は「設定」で開いて読めます)。クエリーが行を返さない、またはNULLを返すルールは「値なし」、まだ測定していないルールはダッシュを表示します。どれもOKとは数えません。環境タグで保護された接続(書き込みの確認、または読み出し専用)では、書き込むクエリーのルールは実行されず、「拒否:書き込み」とタグの名前が表示されます。アラートは自動で実行されるので、確認を求めることができないからです。
各ルールは自分のクエリーです。Calíopeは定義した間隔でそれを実行し、指定した列の値を取り、選んだ演算子(>、<、=、<>)でしきい値と比較します。定義済みのメトリクスはありません。何を監視するかは、SQLで自分で決めます。
「更新」は、すべてのルールを1回評価します。
自動更新:再生ボタンを押して間隔を秒で入力すると、ルールが自動で評価し直されます。ルールが条件を満たすと、その行に「アラート」の印が付き、ビューのフッタにアクティブなアラートの数が表示されます。最短の間隔は1秒です。一時停止を押すか、ツールを離れると、再評価は止まります。
「サンプルを読み込む」は、動作するところから始められるよう、出来上がったルールを追加します。
MySQLMariaDBAuroraPostgreSQL
サンプルは1つで、アクティブな接続が100を超えたときです。
SQL Server
サンプルは5つあり、押すたびにまだ持っていない次のものが追加されます:ブロックされたセッション、最大値の80%を超えるユーザセッション、1分以上開いたままのトランザクション、データベースのトランザクションログの使用率80%超、そしてサーバの起動以降にロック待ちに費やした秒数です。5つすべてそろうと、ボタンはオフになります。
ClickHouse
サンプルは5つあり、押すたびにまだ持っていない次のものが追加されます:サーバの上限に対する使用中のメモリーの割合、いま実行中のクエリー、1分以上遅れているレプリカ、すでに失敗した未完了のミューテーション、そしてパーツがもっとも多いパーティションの、サーバがINSERTを拒否する上限に対する割合です。5つすべてそろうと、ボタンはオフになります。
Oracle
サンプルは5つあり、押すたびにまだ持っていない次のものが追加されます:いま何かを実行中のユーザセッションが20を超えたとき、ブロックされたセッション、もっとも使用率の高い表領域が最大サイズの85%を超えたとき、無効なオブジェクト、そして同じ呼び出しを1分以上続けているセッションです。V$SESSIONや表領域の使用量を読むものには「サーバ情報」と同じ権限が必要で、なければルールは「エラー」と表示されます。5つすべてが一覧にそろうと、ボタンはオフになります。
TiDB
サンプルは3つあり、押すたびにまだ持っていない次のものが追加されます:クラスタ内のセッションが100を超えたとき、直近1時間のスローなSQL文が100を超えたとき、そして10分以上実行中のスキーマ変更です。3つすべてが一覧にそろうと、ボタンはオフになります。
「書き出す」は、表(ルール、値、状態)をタブ区切り(TSV)のファイルに保存します。
このツールはシステムの通知を送りません。警告は、タブを開いている間の印の付いた行です。システムまで届く警告については、「サーバのアラート」と「レプリケーションモニタ」のトピックを参照してください。
キーワード: SQLアラート、アラート、しきい値、ルール、メトリクス、監視、自動更新、間隔、ポーリング、モニタ