Prometheusコンテナのデプロイメントのための実用的なソリューション

Prometheusコンテナのデプロイメントのための実用的なソリューション

環境

ホスト名IPアドレス仕える
プロメテウス192.168.237.137プロメテウス、グラファナ
ノードエクスポーター192.168.237.131ノードエクスポーター

Prometheusコンテナ化されたデプロイメント

1. Dockerをインストールする

[root@prometheus ~]# docker バージョン
クライアント: Docker Engine - コミュニティ
 バージョン: 20.10.11
 APIバージョン: 1.41
 Goバージョン: go1.16.9
 Gitコミット: dea9396
 作成日: 2021年11月18日 00:36:58
 OS/アーキテクチャ: linux/amd64
 コンテキスト: デフォルト
 実験的: 真

サーバー: Docker Engine - コミュニティ
 エンジン:
  バージョン: 20.10.11
  API バージョン: 1.41 (最小バージョン 1.12)
  Goバージョン: go1.16.9
  Gitコミット: 847da18
  作成日: 2021年11月18日 00:35:20
  OS/アーキテクチャ: linux/amd64
  実験的: 偽
 コンテナ:
  バージョン: 1.4.12
  Gitコミット: 7b11cfaabd73bb80907dd23182b9347b4245eb5d
 ランク:
  バージョン: 1.0.2
  Gitコミット: v1.0.2-0-g52b36a2
 docker-init:
  バージョン: 0.19.0
  Gitコミット: de40ad0

2. Prometheusコンテナを実行する

//イメージをプルする [root@prometheus ~]# docker pull prom/prometheus
デフォルトタグの使用: 最新
最新: prom/prometheus からプル
3cb635b06aa2: プル完了 
34f699df6fe0: プル完了 
33d6c9635e0f: プル完了 
f2af7323bed8: プル完了 
c16675a6a294: プル完了 
827843f6afe6: プル完了 
3d272942eeaf: プル完了 
7e785cfa34da: プル完了 
05e324559e3b: プル完了 
170620261a59: プル完了 
ec35f5996032: プル完了 
5509173eb708: プル完了 
ダイジェスト: sha256:cb9817249c346d6cfadebe383ed3b3cd4c540f623db40c4ca00da2ada45259bb
ステータス: prom/prometheus:latest の新しいイメージをダウンロードしました
docker.io/prom/prometheus:最新

///opt ディレクトリに prometheus のデフォルト設定ファイルを用意します [root@prometheus ~]# ls /opt/
プロメテウス

//コンテナを実行##--restart always 常に再起動し、自動的に起動します## ローカルに提供された構成ファイルをコンテナにマッピングし、roコンテナ内で読み取り専用にします [root@prometheus ~]# docker run --name prometheus -d --restart always -p 9090:9090 -v /opt/prometheus.yml:/etc/prometheus/prometheus.yml:ro prom/prometheus:latest 
a0ba5535f0ea3b0f44574fd237802f2ef19f4624c3752c3bf8122a4d79a26428
[root@prometheus ~]# docker ps
コンテナID イメージ コマンド 作成ステータス ポート名
a0ba5535f0ea prom/prometheus:latest "/bin/prometheus --c…" 11 秒前 11 秒前にアップ 0.0.0.0:9090->9090/tcp, :::9090->9090/tcp prometheus

//ポートを表示 [root@prometheus ~]# ss -anltu
Netid 状態 Recv-Q Send-Q ローカル アドレス:ポート ピア アドレス:ポート プロセス     
TCP LISTEN 0 128 0.0.0.0:22 0.0.0.0:*                    
TCP LISTEN 0 128 0.0.0.0:9090 0.0.0.0:*                    
tcp LISTEN 0 128 [::]:22 [::]:*                    
tcp LISTEN 0 128 [::]:9090 [::]:*                    

ip+9090/targetsを使用してPrometheusのデフォルトWebページにアクセスします。

ここに画像の説明を挿入

node_exporterをデプロイする

//インストールパッケージをダウンロードします [root@node-exporter ~]# wget https://github.com/prometheus/node_exporter/releases/download/v1.3.0/node_exporter-1.3.0.linux-amd64.tar.gz
[root@node-exporter ~]# ls
anaconda-ks.cfg node_exporter-1.3.0.linux-amd64.tar.gz

//[root@node-exporter ~]を解凍# tar xf node_exporter-1.3.0.linux-amd64.tar.gz -C /usr/local/
[root@node-exporter ~]# mv /usr/local/node_exporter-1.3.0.linux-amd64/ /usr/local/node_exporter
[root@node-exporter ~]# ls /usr/local/
bin などのゲームには、lib lib64 libexec node_exporter sbin share src が含まれます

//サービスファイルを書き込んで起動し、自動的に起動します[root@node-exporter ~]# cat /usr/lib/systemd/system/node_exporter.service
[ユニット]
説明=node_exporter サーバー
後=ネットワーク.ターゲット

[サービス]
ExecStart=/usr/local/node_exporter/node_exporter
再起動=失敗時
再起動秒数=15秒
Syslog識別子=ノードエクスポータ

[インストール]
WantedBy=マルチユーザー.ターゲット
[root@node-exporter ~]# systemctl daemon-reload 
[root@node-exporter ~]# systemctl enable --now node_exporter.service 
/etc/systemd/system/multi-user.target.wants/node_exporter.service から /usr/lib/systemd/system/node_exporter.service へのシンボリックリンクを作成しました。
[root@node-exporter ~]# systemctl ステータス node_exporter.service 
● node_exporter.サービス
   ロード済み: ロード済み (/usr/lib/systemd/system/node_exporter.service; 有効; ベンダープリセット: 無効)
   アクティブ: 2021-12-30 木曜日 19:26:59 CST からアクティブ (実行中)、8 秒前
 メイン PID: 27878 (node_exporter)
   Cグループ: /system.slice/node_exporter.service
           └─27878 /usr/local/node_exporter/node_exporter

//ポートを表示 [root@node-exporter ~]# ss -anltu
Netid 状態 Recv-Q Send-Q ローカルアドレス:ポート ピアアドレス:ポート              
tcp LISTEN 0 128 *:22 *:*                  
tcp LISTEN 0 128 [::]:22 [::]:*                  
tcp LISTEN 0 128 [::]:9100 [::]:*                  

## ノードエクスポーターが正常にデプロイされた場合、監視のためにPrometheusホストにノードを追加できます。

プロメテウスにノードを追加する

ローカルのprometheus.ymlファイルを変更する

//設定ファイルを変更する [root@prometheus ~]# tail -8 /opt/prometheus.yml 
scrape_configs:
  # ジョブ名は、この設定から取得されたすべての時系列にラベル `job=<job_name>` として追加されます。
  - ジョブ名: "プロメテウス"
    静的設定:
      - ターゲット: ["localhost:9090"]
  - job_name: "centos" //ジョブ名を指定します static_configs:
      - ターゲット: ["192.168.237.131:9100"] //ノードエクスポータノードのIPとポート番号を指定します## 複数のノードがある場合 - ジョブ名: "centos"	
    静的設定:
      - ターゲット: 
        - 「192.168.237.131:9100」
        - 「192.168.237.132:9100」
        - 「192.168.237.133:9100」


//コンテナを再起動し、設定ファイルを再度読み込みます [root@prometheus ~]# docker restart prometheus
プロメテウス
[root@prometheus ~]# docker ps
コンテナID イメージ コマンド 作成ステータス ポート名
a0ba5535f0ea prom/prometheus:latest "/bin/prometheus --c…" 26 分前 3 秒前にアップ 0.0.0.0:9090->9090/tcp, :::9090->9090/tcp prometheus

プロメテウスのデフォルトウェブページにアクセスしてください
ノードが正常に追加されました

ここに画像の説明を挿入

Grafana描画ツールをデプロイする

//grafan/grafan の公式イメージをプルします [root@prometheus ~]# docker pull grafana/grafana
デフォルトタグの使用: 最新
最新: grafana/grafana からプル
97518928ae5f: プル完了 
5b58818b7f48: プル完了 
d9a64d9fd162: プル完了 
4e368e1b924c: プル完了 
867f7fdd92d9: プル完了 
387c55415012: プル完了 
07f94c8f51cd: プル完了 
ce8cf00ff6aa: プル完了 
e44858b5f948: プルが完了しました 
4000fdbdd2a3: プル完了 
ダイジェスト: sha256:18d94ae734accd66bccf22daed7bdb20c6b99aa0f2c687eea3ce4275fe275062
ステータス: grafana/grafana:latest の新しいイメージをダウンロードしました
docker.io/grafana/grafana:最新

[root@prometheus ~]# docker イメージ
リポジトリ タグ イメージ ID 作成 サイズ
prom/prometheus 最新 a3d385fc29f9 12日前 201MB
grafana/grafana 最新 9b957e098315 2 週間前 275MB

//公式の Grafana イメージを使用してコンテナを実行します [root@prometheus ~]# docker run -d --name grafana -p 3000:3000 --restart always grafana/grafana
0b5986fc63442538a6fae845e5d1b8afc78caec4f4bdd81ca3623eb1329ad562

[root@prometheus ~]# docker ps
コンテナID イメージ コマンド 作成ステータス ポート名
0b5986fc6344 grafana/grafana "/run.sh" 4 秒前 2 秒前にアップ 0.0.0.0:3000->3000/tcp、:::3000->3000/tcp grafana
a0ba5535f0ea prom/prometheus:latest "/bin/prometheus --c…" 33 分前 6 分前にアップ 0.0.0.0:9090->9090/tcp, :::9090->9090/tcp prometheus

//ポートを表示 [root@prometheus ~]# ss -anltu
Netid 状態 Recv-Q Send-Q ローカル アドレス:ポート ピア アドレス:ポート プロセス             
TCP LISTEN 0 128 0.0.0.0:22 0.0.0.0:*                    
TCP LISTEN 0 128 0.0.0.0:3000 0.0.0.0:*                    
TCP LISTEN 0 128 0.0.0.0:9090 0.0.0.0:*                             
tcp LISTEN 0 128 [::]:22 [::]:*                    
tcp LISTEN 0 128 [::]:3000 [::]:*                    
tcp LISTEN 0 128 [::]:9090 [::]:*                    

ブラウザでアクセスするには、プロメテウスホストのIPアドレス192.168.129.205 + ポート番号3000を使用します。
デフォルトアカウント: admin パスワード: admin

ここに画像の説明を挿入

パスワードを変更する

ここに画像の説明を挿入

表紙

ここに画像の説明を挿入

データソースを追加する

ここに画像の説明を挿入

データソースとしてPrometheusを選択する

ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入

インポートダッシュボード

テンプレートアドレス

ここに画像の説明を挿入

テンプレートIDは9276です

ここに画像の説明を挿入
ここに画像の説明を挿入

レンダリング

ここに画像の説明を挿入

Prometheus コンテナ化デプロイメントに関するこの記事はこれで終わりです。Prometheus コンテナ化デプロイメントに関するその他の関連コンテンツについては、123WORDPRESS.COM で過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • dockerを使用してGrafana+Prometheus構成をデプロイする
  • DockerでPrometheusをインストールする詳細なチュートリアル

<<:  HTML ページ適応幅テーブル

>>:  フロントエンド開発に必要な共通ツール機能のまとめ

推薦する

JavaScript の useRef と useState の紹介

目次1. useStateフック2. useRefフック3. useRef と useState 4...

Vue シングルページ SEO の 4 つのソリューションについての簡単な説明

目次1.Nuxtサーバーサイドレンダリングアプリケーションの展開(SSRサーバーレンダリング)利点:...

WeChatアプレットは画像コントロールを選択します

この記事の例では、WeChatアプレットで画像コントロールを選択するための具体的なコードを参考までに...

Vue2 キューブUI 時間セレクターの詳細な説明

目次序文1. 需要と効果必要効果2. コードの実装index.vue(html)日付方法テスト結果3...

Docker 構成 Alibaba Cloud イメージアクセラレーション プル実装

今日はdockerを使ってイメージをpullしたのですが、速度が悪くて見れず最後まで待ち続けました。...

LinuxにMySQLをインストールするための詳細なチュートリアル

すべてのプラットフォーム用の MySQL ダウンロードは、MySQL ダウンロードから入手できます。...

手の動きをリアルタイムで監視するための Handtrack.js ライブラリ (推奨)

【はじめに】: Handtrack.jsは、ブラウザ上で直接リアルタイムの手の動きの追跡と検出を実...

MySql 8.0 と対応するドライバー パッケージの一致に関する注意事項

MySql 8.0 対応ドライバパッケージのマッチングMySql データベースをバージョン 8.0 ...

HTML ヘッド構造

以下では、よく使われるヘッド構造と、各タグや要素の意味や使用シーンを紹介します(この記事は、Yisi...

Mysql の varchar 型に関する注意点

varchar の保存ルール4.0 未満のバージョンでは、varchar(20) は 20 バイトを...

CentOS6 アップグレード glibc 操作手順

目次背景glibc 2.14をコンパイルするソフトリンクを変更するやっと背景テスト環境には Cent...

Nginx プロキシ使用時にヘッダーに「_」が含まれることで情報が失われる問題の解決方法

序文ゲートウェイプロジェクトを開発する場合、署名 sign_key 情報はリクエスト時にリクエスト ...

docker ログが取得できない問題の解決方法

毎日サービスをチェックしているときに、portainer からコンテナ ログを確認しようとしたところ...

Vueは視覚的なドラッグページエディタを実装します

目次ドラッグアンドドロップの実装ドラッグイベントドラッグして開始リリースゾーンでの移動境界処理、角度...

異なるブラウザ間で互換性のあるテキスト配置を実現する CSS

フォームのフロントエンド レイアウトでは、テキスト ボックスのプロンプト テキストを両端に揃える必要...