Prometheusは、時系列データベースを備えた強力なシステム監視ソリューションです。このチュートリアルでは、Debian 11BullseyeLinuxにPrometheusをインストールする方法を学びます。
Prometheusの実装の背後にある重要なアイデアは、専用の監視、アラート、およびトレンド分析システムを備えた環境を整えることです。企業が複数のシステムの構成と制御に困難に直面している今日の世界では、そこでは、ユニバーサル構成ソリューションを備えたPrometheus監視ツールを使用して、企業はそれぞれの制御テクノロジ(オペレーティングシステム、PLC、I / Oレベルなど)の制御コードを個別にプログラムし、文書化することもできます。
Prometheusを使用する主な利点:
- プロジェクト計画の複雑さを軽減します
- 自動化して時間と労力を節約
- データを視覚化するための複数のモード。
- 組み込みの式ブラウザ、Grafana統合、およびコンソールテンプレート言語。
- サードパーティのデータのブリッジを許可する
- PromQLを使用すると、収集された時系列データのスライスとダイシングが可能になります
- アラートシステム
- Prometheusは、それぞれの管理戦略を記録および文書化します
- 実装、試運転、導入に包括的な専門知識は必要ありません。
- メーカーやデバイスの種類に関係なく、すべての標準を一元管理できます。
Debian 11BullseyeLinuxにPrometheusをインストールする手順
ここで提供する手順はDebian11で実行されましたが、Debian 10 Buster、Ubuntu 20.04、または22.04Linuxで使用できます。
1。新しいシステムユーザーを追加する
現在のユーザーの下にPrometheusをインストールする代わりに、一部の権限を制限するために新しいシステムユーザーを作成します。
最初にPrometheusというグループを追加しましょう:
sudo groupadd --system prometheus
次に、ユーザーを追加して、ログイン権限なしで上記で作成したグループに割り当てます。
sudo useradd -s /sbin/nologin --system -g prometheus prometheus
2。 Prometheusのユーザーディレクトリを作成する
Prometheusの実行に必要なファイルを保存するフォルダをいくつか作成します。
sudo mkdir /etc/prometheus
sudo mkdir /var/lib/prometheus
3。 Debian11用のPrometheusMonitoringをダウンロード
使いやすいDockerインストールとは別に、Prometheusバイナリはアーカイブ形式でダウンロードしてインストールし、Debianまたは他のLinuxで使用することもできます。最新バージョンの場合、ユーザーはWebサイトのダウンロードページにアクセスできます。 または、コマンドラインメソッドを使用します:
curl -s https://api.github.com/repos/prometheus/prometheus/releases/latest|grep browser_download_url|grep linux-amd64|cut -d '"' -f 4|wget -qi -
ファイルがシステムに配置されたら、それを抽出します:
注 : Prometheus-2.32.1.linux-amd64を置き換えます ダウンロードしたバージョンのファイル。
現在のディレクトリ内のすべてのファイルを一覧表示するには:
ls
tar -xvf prometheus-2.32.1.linux-amd64.tar.gz
抽出したファイルを作成したディレクトリに移動します:
sudo mv prometheus-2.32.1.linux-amd64 /etc/prometheus
作成したPrometheusユーザーにディレクトリ権限を付与します:
sudo chown prometheus:prometheus /etc/prometheus
sudo chown prometheus:prometheus /var/lib/prometheus
sudo chown -R prometheus:prometheus /etc/prometheus/consoles
sudo chown -R prometheus:prometheus /etc/prometheus/console_libraries
4。 Prometheusファイルとスクリプトを構成する
スクリプトとツールのいくつかを、システムユーザーのbinディレクトリにコピーして構成しましょう。
sudo cp /etc/prometheus/prometheus /usr/local/bin/ sudo cp /etc/prometheus/promtool /usr/local/bin/
5。 Debian11にPrometheusSystemdServiceをインストールする
DebianまたはUbuntuでPrometheusをセットアップするための上記のすべてのセットアップと構成が完了したら、この監視ツールのSystemdサービスファイルを作成して、システムサービスとしてバックグラウンドで自動的に起動および実行できるようにします。
ファイルを作成します。nanoがない場合は、ファイルを取得できます– sudo apt install nano -y
sudo nano /etc/systemd/system/prometheus.service
指定した行をコピーしてファイルに貼り付けます:
[Unit] Description=Prometheus Documentation=https://prometheus.io/docs/introduction/overview/ Wants=network-online.target After=network-online.target [Service] User=prometheus Group=prometheus Type=simple ExecStart=/usr/local/bin/prometheus \ --config.file /etc/prometheus/prometheus.yml \ --storage.tsdb.path /var/lib/prometheus/ \ --web.console.templates=/etc/prometheus/consoles \ --web.console.libraries=/etc/prometheus/console_libraries [Install] WantedBy=multi-user.target
保存 Ctrl + Oを押してファイルを 、 Enterを押します キーを押してから、 Ctrl + Xを使用します ファイルを終了します。
6。 Prometheusを起動して有効にします
サービスファイルが作成されたら、バックグラウンドでサービスを開始し、システムの起動時またはクラッシュ時に自動的に実行できるようにします。
sudo systemctl daemon-reload
sudo systemctl enable --now prometheus
サービスのステータスを確認します:
systemctl status prometheus
7。 Webインターフェースにアクセスする
この監視サービスのサービスがシステムで正常に実行されていることを確認したので、そのWebインターフェイスにアクセスしましょう。
Debian11または使用している他の同様のLinuxサーバーのIPアドレスにアクセスできるブラウザを開きます。
http://server-ip-address:9090
をポイントします
注 :置換、 server-ip-address
サーバーの実際のIPアドレスを使用します。また、 9090を確認してください ファイアウォールで開いています:
sudo ufw allow 9090
8。指標を検索してグラフを見つける
前の手順を実行すると、PrometheusのWebインターフェイスがすでに作成されています。次に、検索ボックスに検索する「指標」を入力します。詳細については、公式ドキュメントをご覧ください。 。
9。 LinuxにNode_exporterPrometheusをインストールする方法
他のLinuxシステムハードウェアにPrometheusNodeExporterを設定して、それらを監視します。
さて、これまでのところ、サーバーのみをインストールしています 、一方、他のターゲットシステムからメトリックを取得するには prometheus.ymlでIPアドレスを宣言する必要があります ソースシステムからメトリックを取得するためのファイル。後でここで確認します。
ネットワーク内に監視対象のシステムが5つあるとします。
まず、 Node_Exporterをインストールします 5つのLinuxシステムすべてで、メトリックをPrometheusサーバーに送信して監視します。ここで、Node Exporterは、MySQL、haproxy_exporter、graphite_exporterなどで実行されているサーバーで他のエクスポーターを使用できるのと同じ方法でマシンメトリックをエクスポートすることを目的としています。
したがって、指定されたコマンドを使用してメトリックを収集するようにNode_Exporterを設定する必要があります。 RPMベースであろうとDebianベースであろうと、すべてのLinuxで同じです。
1。 NodeExporterをダウンロード
curl -s https://api.github.com/repos/prometheus/node_exporter/releases/latest| grep browser_download_url|grep linux-amd64|cut -d '"' -f 4|wget -qi -
2。ダウンロードしたファイルを抽出します:
tar -xvf node_exporter-*.linux-amd64.tar.gz
3。ノードエクスポータサービスファイルをbinに移動します:
sudo mv node_exporter-*.linux-amd64/node_exporter /usr/local/bin/
4。 NodeExporterサービスを実行するユーザーを作成します
sudo useradd -rs /bin/false node_exporter
5。 Systemdサービスファイルの作成:
ノードエクスポータをバックグラウンドシステムサービスとして実行するには、サービスファイルを作成します。
sudo nano /etc/systemd/system/node_exporter.service
次の行をコピーして貼り付けます:
[Unit] Description=Node Exporter After=network.target [Service] User=node_exporter Group=node_exporter Type=simple ExecStart=/usr/local/bin/node_exporter [Install] WantedBy=multi-user.target
保存 ファイル-Ctrl+ O Enterを押します キーを押して終了します– Ctrl + X 。
注 :RedHat、AlmaLinux、Rocky Linux、またはターゲットマシンと同様のメトリックをスクラップするために使用している場合は、最初に SELinuxを設定します。 パーミッシブモードに。
sudo setenforce permissive
6。サービスを開始して有効にします
それでは、バックグラウンドで実行してみましょう:
sudo systemctl daemon-reload
sudo systemctl enable --now node_exporter
ステータスの確認:
systemctl status node_exporter
7。ファイアウォールでポート9100を開きます
1。 DebianまたはUbuntuの場合
sudo ufw allow 9100
2。 F0r Redhat、AlmaLinux、Rocky Linux、およびその他のRPMベースのシステム:
sudo firewall-cmd --zone=public --add-port=9100/tcp --permanent
sudo firewall-cmd --reload
7。 prometheus.ymlサーバーにターゲットマシンのIPアドレスを追加します
ここで、Prometheusサーバーのコマンドラインを実行してDebianまたはUbuntuサーバーに再度アクセスし、そのYMLファイルを編集します。
5つのシステムがあるとします。 Prometheusを使用して監視するには、次のYMLファイルを編集します。
sudo nano /etc/prometheus/prometheus.yml
ファイルの最後に追加
- job_name: 'node_exporter_metrics' scrape_interval: 5s static_configs: - targets: ['192.168.1.37:9100','192.168.1.36:9100','192.168.1.37:9100']
[ターゲット]で、監視するマシンの特定の形式でIPアドレスを追加します。
Ctrl + Oを押してファイルを保存します 、 Enterを押します 、 Ctrl + Xを終了します 。
1。 PrometheusYMKLが有効かどうかを確認してください
ここで、編集したYMLファイルが構文エラーなしで有効かどうかを確認します。
promtool check config /etc/prometheus/prometheus.yml
2。 Prometheusサーバーを再起動します
sudo systemctl restart prometheus
また、サービスステータスを確認することを忘れないでください:
systemctl status prometheus
8。 PrometheusWebUIでターゲットマシンを監視する
Webインターフェースに移動します。そのために、ブラウザーを再度開き、http:server-ip-adderess:9090/targets
をポイントします。
これで、追加されたすべてのターゲットLinuxマシンからメトリックの監視とスクレイピングを開始できます。したがって、これは、メトリックデータをフェッチするためのターゲットマシンとともにDebian11ブルズアイでPrometheusサーバーをセットアップするための簡単なチュートリアルでした。