7章Node exporter

Node exporter(ノードエクスポータ)は、2章ですでに説明したように†1、実際に使う最初のexporterのひとつになるだろう。Node exporterは、主としてOSカーネルが開示するCPU、メモリ、ディスクスペース、ディスクI/O、ネットワーク帯域幅、マザーボードの温度などのマシンレベルのメトリクスを提供する。Node exporterはUnixシステム用であり、Windowsユーザは代わりにWMI exporter(https://github.com/martinlindhe/wmi_exporter)を使わなければならない。

[†1] Node exporterはNode.jsとは無関係である。ここで言うノードは、計算ノードのことである。

Node exporterは、マシン上で実行される個別のプロセスやサービスではなく、マシン自体のモニタリング専用である。ほかのモニタリングシステムは、スーパーエージェントと呼びたくなるようなものを持っていることが多い。つまり、マシンで起きているすべてのことをひとつのプロセスでモニタリングするものである。しかし、Prometheusのアーキテクチャでは、個々のサービスが自分のメトリクスを開示し(必要ならexporterを使って)、Prometheusがそれを直接スクレイプする形になっている。これは、スーパーエージェントが運用上またはパフォーマンス上のボトルネックになるのを防ぎ、マシンではなく動的なサービスについて考えられるようにするためだ。

「3.7.3 メトリクスにはどのような名前を付けるべきか」など、ダイレクトインストルメンテーションでメトリクスを作るときのガイドラインは、どちらかというと白黒がはっきりしている。しかし、定義からも明らかなように、exporterではデータがPrometheusのガイドラインを念頭において設計されていないソースからやってくるため、これが当てはまらない。メトリクスの量と質次第で、exporterの開発者は、完全なメトリクスの提供とどれだけの労力をかける価値があるかを秤にかけなければならない。 ...

Get 入門 Prometheus ―インフラとアプリケーションのパフォーマンスモニタリング now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.