Skip to content

メトリックプラグイン - mackerel-plugin-mssql

mackerel-plugin-mssql は Microsoft SQL Server の情報をメトリックとして投稿するプラグインです。

プラグインがサポートする SQL Server のバージョン

  • Microsoft SQL Server 2017 以降
  • Microsoft SQL Express 2017 以降

監視できるメトリック

SQL Server オブジェクトから取得できるカウンターの値を投稿します。

[https://docs.microsoft.com/ja-jp/sql/relational-databases/performance-monitor/use-sql-server-objects?view=sql-server-ver16#SQLServerPOs:embed:cite]

MSSQL Buffer

SQL Server が使用するメモリバッファに関する情報。Buffer Manager オブジェクト の情報を取得。

メトリック表示名メトリック名差分積み上げ表示説明
Cache Hit Ratiomssql.buffer_cache_hit_ratio-ディスクから読み出すことなくバッファーキャッシュで見つかったページの割合
Page Life Expectancymssql.buffer_page_life_expectancyページが参照されないままバッファープールに留まった秒数
Checkpoint Pagesmssql.buffer_checkpoint_pages-チェックポイントや、すべてのダーティページをフラッシュする必要がある他のオペレーションによって、1秒間にディスクにフラッシュされたページ数

MSSQL Stats

SQL Server の利用状況に関する情報。SQL Statistics オブジェクト および General Statistics オブジェクト の情報を取得。

メトリック表示名メトリック名差分積み上げ表示説明
Batch Requestsmssql.stats_batch_requests1 秒間に受信した Transact-SQL コマンドバッチの数
SQL Compilationsmssql.stats_sql_compilations1 秒あたりの SQL コンパイル数
SQL Re-Compilationsmssql.stats_sql_recompilations1 秒あたりのステートメント再コンパイル数
Connectionsmssql.stats_connections-SQL Server に現在接続しているユーザー数
Lock Waitsmssql.stats_lock_waits-1 秒あたりの File IO Provider のロックの待機数
Procs Blockedmssql.stats_procs_blocked-現在ブロックされているプロセスの数

MSSQL Access

Access Methods オブジェクト の情報を取得。

メトリック表示名メトリック名差分積み上げ表示説明
Page Splitsmssql.access_page_splitsインデックスページがオーバーフローした結果、1 秒間に発生したページ分割の数

指定可能なオプション

オプション省略形説明デフォルト値
-metric-key-prefixメトリック名の prefix を指定mssql
-instanceインスタンス名を SQLSERVER か SQLEXPRESS のいずれかで指定。その他の名前には非対応SQLSERVER
-tempfiletempfile の保存先ファイルパスの指定

tempfile はデフォルトでは C:\Windows\Temp 配下に mackerel-plugin-mssql-<hash文字列> の形式で作成されます。

エージェントへの設定例

下記はインスタンス名が SQLEXPRESS の場合の設定例です。

toml
[plugin.metrics.mssql]
command = ["mackerel-plugin-mssql", "-instance", "SQLEXPRESS"]

リポジトリ

https://github.com/mackerelio/mackerel-agent-plugins/tree/master/mackerel-plugin-mssql