1.はじめに
運用を行う上でDBの状態の把握は一般的なサーバの監視項目に加えて、優先度の高い物であると認識しています。DB自体について知りたいことはAPの特性によって変わるかと思われますが、今回も一般的な項目について整理していきたいと思います。また今回はNoSQLベースのDBであるMongoを想定して記載致します。
2.DBサーバへの監視項目
基本的な監視項目についてはダッシュボードを参考に以下を整理しました。
・DBコネクション数
・オペレーション数(CRUD)の増減率
・DBのメモリアロケーションの増減率
・(In-Out)Byte数の増減率
・Lockの実行数
・Pagefaultの合計数
3.Metrics
では実際のクエリを記載していきます。演算子に関しては一旦無視していただき、Mongoから取得したMongoDBexporterのメトリクスについてをメインで考えています。
- DBコネクション数
irate(mongodb_connections[1m])
- オペレーション数(CRUD)の増減率
irate(mongodb_mongod_op_counters_total[1m])
- DBのメモリアロケーション
irate(mongodb_memory[1m])
- (In-Out)Byte数の増減率
irate(mongodb_network_bytes_total[1m])
- Lockの実行数
mongodb_mongod_global_lock_current_queue
- Pagefaultの合計数
mongodb_extra_info_page_faults_total[1m]
4.結び
ダッシュボードをインポートして使用するのでも十分ですが、本質的にはクエリの詳細についての理解を怠ると何を表しているのか正確に把握できない為自戒を込めて記載致しました。アラート発火の閾値に関しては、運用を行いつつチューニングすることが望ましい為今回はメトリクスの紹介となりました。
Top comments (0)