DEV Community

Cover image for [DevSecOPS] #6 見える化を行ったら(DBサーバ編)
mizuki04
mizuki04

Posted on

[DevSecOPS] #6 見える化を行ったら(DBサーバ編)

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])
Enter fullscreen mode Exit fullscreen mode
  • オペレーション数(CRUD)の増減率
irate(mongodb_mongod_op_counters_total[1m])
Enter fullscreen mode Exit fullscreen mode
  • DBのメモリアロケーション
irate(mongodb_memory[1m])
Enter fullscreen mode Exit fullscreen mode
  • (In-Out)Byte数の増減率
irate(mongodb_network_bytes_total[1m])
Enter fullscreen mode Exit fullscreen mode
  • Lockの実行数
mongodb_mongod_global_lock_current_queue
Enter fullscreen mode Exit fullscreen mode
  • Pagefaultの合計数
mongodb_extra_info_page_faults_total[1m]
Enter fullscreen mode Exit fullscreen mode

4.結び

ダッシュボードをインポートして使用するのでも十分ですが、本質的にはクエリの詳細についての理解を怠ると何を表しているのか正確に把握できない為自戒を込めて記載致しました。アラート発火の閾値に関しては、運用を行いつつチューニングすることが望ましい為今回はメトリクスの紹介となりました。

Top comments (0)