GNU/Linux >> Linux の 問題 >  >> Linux

PrometheusとGrafanaを使用してLinuxサーバーを監視する

概要

PrometheusとGrafanaを使用してLinuxサーバーを監視します。 Dockerを使用してprometheusとgrafanaでLinuxサーバーを監視する方法のプロセスについて説明します。セットアップ全体がDebian10BusterとDockerにインストールおよび構成されますが、これはUbuntuサーバーまたはDockerを実行している他のLinuxディストリビューションでも実行できます。この設定により、サーバー(ホストマシン)上のリソース(CPU使用率、RAM使用率、SWAP、ネットワーク、ディスク容量など)を追跡および監視できるようになります。

小さな頭を上げる – ITの世界における別の監視ソリューションについて言及したいと思います。これは、エンタープライズグレードの機能を備え、オープンソース(必要な場合)であるZabbixである、ニーズに合ったオプションを提供します。この投稿では、インストールプロセスとセットアップについて説明しました。

前提条件

このセットアップでは、Dockerがマシンにインストールされて実行されている必要があります。このリンクをチェックして、DebianにDockerをインストールするか、Dockerの公式ドキュメントをチェックしてください。

Dockerをインストールするもう1つの方法は、Dockerでホストされている公式のDocker自動インストールスクリプトを使用することです。

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

Prometheus、Grafana、Dockerを使用してLinuxサーバーを監視する方法

ノードエクスポータのインストール

1. Dockerをインストールして実行した後、セットアップの最初のステップはNodeExporterツールをインストールすることです。 Node ExporterはPrometheusモニターの一部であり、Prometheusがデータを取得できるように、マシンからすべてのデータを収集することを目的としています。 Node ExporterもDockerコンテナに含まれているため、セットアップは簡単です。

docker run -d --net="host" --pid="host" -v "/:/host:ro,rslave" quay.io/prometheus/node-exporter:latest --path.rootfs=/host

NodeExporterが正しく実行されているかどうかを簡単に確認できます。ブラウザで、ノードエクスポータのURL(http:// your-server-ip-adress:9100)を開きます。データが入力されているディレクトリメトリックが表示されている場合は、それが機能していることを意味します。

それをテストする他の方法は、コマンドを使用することです:

curl localhost:9100/metrics

または

curl http://your-server-ip-address:9100/metrics

PrometheusYAML構成を作成する

2.次に、PromethesYAML構成ファイルを作成する必要があります。このファイルをサーバー上の配置したい場所に作成しますが、投稿のために、ホームディレクトリに配置します。

この手順は次のように実行できます:

sudo touch ~/prometheus/prometheus.yml
sudo nano ~/prometheus/prometheus.yml

またはすぐに

sudo nano ~/prometheus/prometheus.yml

次に、構成を貼り付けてファイルを保存し、終了します。

global:
scrape_interval: 5s
external_labels:
monitor: 'node'
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['192.168.100.252:9090']
- job_name: 'node-exporter'
static_configs:
- targets: ['192.168.100.252:9100']

ターゲット変数に、サーバーのIPアドレスを書き留めます。

PrometheusDockerコンテナをデプロイする

3.次のステップは、Dockerを使用してPrometheusをインストールすることです。次のコマンドを実行し、prometheus.ymlファイルへのパスに注意してください:

docker run -d --name prometheus -p 9090:9090 -v ~/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus

コマンドを分解して、詳細を説明します。

  • docker run -d –name prometheus -p 9090:9090 –コマンドのこの部分は多くの人が理解できるはずです– Dockerイメージを実行し、prometheusという名前を付けて、コンテナーポート9090をホストサーバー上の同じポートに公開します。
  • -v〜/ prometheus / prometheus / yml:/ etc / prometheus / prometheus / yml –これはprometheusをインストールする際のコマンドの最も重要な部分です。コマンドのこの部分では、前の手順で作成したprometheus.ymlファイルと、ホストサーバー(この例ではホームディレクトリ)にあるprometheus.ymlファイルを使用して、自分が持っているパラメーターで自分自身を構成するようにPrometheusに指示しています。同じ設定ファイルを設定して、PrometheusDockerコンテナの/etcディレクトリに配置します。
  • prom / prometheus –これはDockerの変数であり、DockerからDockerイメージをダウンロードしてインストールします。

ポート9090でサー​​バーのIPアドレスも開くことで、Prometheusがウェブブラウザ経由で実行されているかどうかを確認することもできます。次の図のような結果が得られるはずです。

GrafanaDockerコンテナをデプロイする

4.これで、Grafanaをインストールできます。また、Dockerコンテナを使用してGrafanaを作成します。

docker run -d --name=grafana -p 3456:3000 grafana/grafana

WebブラウザでGrafanaにアクセスします。すぐにログインするように求められます。デフォルトのユーザー名とパスワードはadminです。一時的なログインです。ログインするとすぐに、Grafanaはパスワードをすぐに変更するように要求します。

データソースとダッシュボードを作成する

ログイン後、モニターダッシュボードを作成し、Grafanaが使用する新しいデータソースを作成する必要があります。したがって、最初にデータソースを作成します。 Grafanaホームページで、[–最初のデータソースオプションを追加する]をクリックします。

データソースオプションをPrometheusにすることを選択します–これがすぐに利用可能な最初のオプションになります。

必要に応じてデータソースに名前を付けます。 URL入力フィールドに、Prometheusポート9090とHTTPを使用してサーバーのIPアドレスを入力します。下の写真のように。

データソースを保存してテストします。すべて問題がなければ、データソースが機能していることを示すプロンプトが表示されます。

次に、サーバーモニターダッシュボードをセットアップします。新しいダッシュボードを最初から好きなように作成できます(時間がかかります)が、Grafanaサイトをチェックして、Grafanaコミュニティによって作成済みのダッシュボードを確認することもできます。この例では、それを実行し、既存のダッシュボードをインポートします。 PrometheusとNodeExporterを使用するサーバー監視用のGrafanaダッシュボードはたくさんあります。この例で使用するのはこれです。

したがって、ダッシュボードのインポートオプションを選択したら、GrafanaサイトからダッシュボードIDを入力するだけです。この例では1860です。ダッシュボードと重要な部分に名前を付けて、このデータソースとしてPrometheusを選択します。ダッシュボード。次に、インポートボタンをクリックするだけで、ダッシュボードに次のような結果が表示されます。

セットアップの最後に、すべてDockerで実行されているprometheusとgrafanaを使用してLinuxサーバーを監視できるようになります。

概要

これは、サーバー監視をセットアップする方法と、Prometheus、Grafana、Dockerを使用してLinuxサーバーを監視する方法のプロセスでした。 Dockerコンテナー、複数のホストサーバーを監視し、Prometheusからの電子メール通知を設定できるため、これは非常に強力な監視設定になります。

お時間をいただき、ありがとうございました。投稿がお役に立てば幸いです…


Linux
  1. Docker(およびLinuxコンテナー)とは何ですか?

  2. LinuxでのGrafanaのインストールとセットアップ

  3. PrometheusとGrafanaでLinuxサーバーを監視する

  1. Linuxでのプロセス間通信:ソケットとシグナル

  2. vnStat を使用して Linux でネットワーク トラフィックを監視およびログに記録する方法

  3. Linux で kbhit() と getch() を使用する

  1. Linuxを使用してWindowsでpodmanを起動して実行する

  2. CheckmkでLinuxサーバーを監視する

  3. システムとサーバーのステータス