2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

WindowsServerに監視ツール「Prometheus」をいれてみた

Last updated at Posted at 2023-09-06

はじめに

オンプレミスで動いているシステム向けで負荷の影響から、パフォーマンスが劣化している可能性があることがわかりましたので、まずは測定しよう!ということで、監視ツールの「Prometheus」を導入しました!
Zabbixとどちらを入れようか悩んだのですが、シンプルそうという理由からPrometheusにしました。
Zabbix使ってるよーとか、他なにか使っている人あれば教えてください・・・

Prometheusとは

Prometheus(プロメテウス)は、サーバーのCPUやRAM、トラフィックを始めとした各リソースの監視を行うアプリケーションです。Go言語により実装されていることで、バイナリファイル1つで動作する上に、DBの用意も不要、簡単な可視化ツールもついてます。

また、Grafanaとの連携も簡単にできるので、オシャレな可視化も可能です。

Prometheusは以下の要素に分かれます。
・Exporter: メトリックスを収集し、サーバーに連携します。
・Prometheus: 監視を行うサーバーとなり、各Exporterからデータを収集し、保存します。
・AlertManager:収集したメトリックスを元に、メールの送信などルールを作成し、通知を実行します。

構成

  • OS: Windows Server 2019

導入手順

1. Prometheusのインストール

  1. Prometheusの公式ページから、対象OS向けの実行ファイルをダウンロードします。
    今回はWindowsServerなので、下記を選択します。

  2. とりあえず起動してみる。
    ダウンロードしたファイルを展開した中に、prometheus.exeがあるので、実行します。
    Server is ready to receive web requestsというメッセージが表示されたら、起動完了です。
    Untitled.png

  3. アクセスしてみる。
    ブラウザで、http://localhost:9090にアクセスすると、Prometheusの画面が表示されます。
    Untitled 1.png

2. Exporterのインストール

今回は、WindowsServerのメトリックスを収集したいので、windows_exporterを利用します。

  1. Githubから実行ファイルをダウンロードします。
    https://github.com/prometheus-community/windows_exporter/releases

  2. ダウンロードした実行ファイルを起動し、インストールします。

  3. 収集対象に追加する。

  4. でダウンロードし、展開したファイルの中にあるprometheus.ymlに収集対象として追加します。

    scrape_configs:
      # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
      - job_name: "prometheus"
    
        # metrics_path defaults to '/metrics'
        # scheme defaults to 'http'.
    
        static_configs:
          - targets: ["localhost:9090"]
    
      - job_name: "windows_exporter"
        static_configs:
          - targets: ['localhost:9182']
    
  5. Prometheusを起動後、再度アクセスすすると収集したメトリックスが確認できるようになっています。
    Untitled 2.png

Tips

データの保持する期間を設定する

prometheus.exeのオプションに-storage.tsdb.retention.timeを指定することで、保持する期間を指定できます。(デフォルトは、15日)
利用可能なフォーマットは、y、w、d、h、m、s、msです。

さいごに

Grafanaと連携すると、カッコイイ画面となるのですが、この説明はいつかやります。
Windowsに付属しているパフォーマンスモニタでも構わないのですが、なんかUI的に見る気がしないんですよね・・・
アプリケーションがちゃんと動いているか監視することは大事なので、ぜひぜひ試してみてください!
image.png

参考文献

  1. Prometheus(公式)
    https://prometheus.io/

  2. Prometheus+Grafanaを自分のWindows PCだけで15分で体感する
    Prometheus+Grafanaを自分のWindows PCだけで15分で体感する - Qiita

  3. Prometheusのストレージのドキュメントをさらっと読んでみて、retentionの設定もしてみる
    Prometheusのストレージのドキュメントをさらっと読んでみて、retentionの設定もしてみる - CLOVER🍀 (hatenablog.com)

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?