設定プロメテウス+ Grafana監視システム

ボーエン概要:
について、プロメテウス
2、プロメテウス組成およびアーキテクチャ
第三に、展開プロメテウス
1)環境準備
プロメテウスを展開する2)

A、プロメテウスのプロフィール

プロメテウスは、オープンソース・フレームワーク警報監視システムです。これは、正規表現を評価し、結果を表示するように構成されたターゲット指標から収集された所定の時間間隔だし、いくつかのケースでは、アラームがトリガされたときに真であることが判明しました。

監視フレームワークの新世代として、プロメテウスは、以下の特性を有します。

  • 強力な多次元データ・モデル:
    (1)時系列データは、メトリックの名前と値によって区別される;
    (2)指標の全てが任意多次元ラベルを設定することができ、
    (3)よりランダムなデータモデルは,,意図的に設定されていません点線ストリング;
    (4)重合は、データ・モデル、切断及びスライスになされてもよい;
    (5)は、浮動小数点型倍精度を支持する、全体のタブは、Unicode(ユニコード)に設定することができます。
  • 柔軟かつ強力なクエリ:同じクエリで乗算、加算、接続、および他の操作をフェッチ小数ビットのメトリックを複数とすることができます。
  • 管理が容易:分散ストレージに依存しません。
  • 時系列データを使用してプルモードの獲得;
  • プッシュ・ゲートウェイは、プロメテウスサーバ端末にプッシュデータを時系列的に使用することができます。
  • 取得する目標は、サービス検出または静的な構成を通して監視することができます。
  • 多くの視覚的なグラフィカルなインターフェイスがあります。
  • 容易に拡張。;

二、プロメテウス組成およびアーキテクチャ

プロメテウスは、一般的に使用される部品である任意成分であるその多くは、多くのコンポーネントが含まれています

  • プロメテウスサーバー:時系列データを収集し、保存します。
  • クライアントライブラリ:クライアントライブラリは、サービスとプロメテウスサーバに晒さを監視する必要性のための適切な指標を生成します。
  • ゲートウェイをプッシュ:主に短期の仕事のために使用。そのため、このようなジョブの存在を短時間で、おそらくプロメテウス前に姿を消し引き出します。このため、ジョブはプロメテウスサーバ側に直接そのメトリックをプッシュすることができます。
  • 輸出:プロメテウスに既存のサードパーティのサービスメトリックを露出させます。
  • AlertManager: プロメテウスサーバからのアラートを受信した後、除去は、データ・パケット、およびルート受け取った受け入れの実施形態では、アラームを複製します。
    ............のように、そこここで、多くはいくつかの共通していますコンポーネント!

プロメテウス公式ドキュメントアーキテクチャ図:

設定プロメテウス+ Grafana監視システム
公式アーキテクチャ図、メインブロックモジュールであって、プロメテウス・サーバ、輸出、Pushgateway、PromQL、のAlertManagerグラフィカルインターフェースと

実質的ワークフローである:
プロメテウスサーバから良い仕事定期的構成を引っ張る、またはPushgatewayから輸出メトリックまたはメトリックの送信、受信、またはプロメテウス・サーバ内の他の指標から引き出され、(1)
(2)プロメテウス・サーバのローカルストレージに収集されたメトリック、および定義されたalert.rulesを実行し、新たな時系列またはのAlertManagerをプッシュするアラームを記録するステップと、
設定ファイルのAlertManagerによれば、受信した通知を処理する、アラーム(3)、
(4)グラフでインターフェース、視覚データ収集。

第三に、プロメテウスの展開

1)環境の準備

設定プロメテウス+ Grafana監視システム
注:上記の3台のサーバーは、最も基本的なドッキングウィンドウ環境、18.09.0に使用され、このIのドッキングウィンドウのバージョンを持っている必要があります!

展開の場合必要な部品:

  • プロメテウスサーバー:プロメテウスマスターサーバー。
  • NodeEXporter:ハードウェアとオペレーティングシステムの情報についての情報を収集するための責任がホスト;
  • cAdvisor:コンテナがホストを実行している上の情報を収集する責任があります。
  • Grafana:監視インタフェースを表示するための責任プロメテウス。

この場合のさまざまなコンポーネント間の関係:NodeEXporter、プロメテウスサーバに情報を収集するための責任cAdvisorは、Grafanaにプロメテウスサーバーのでグラフィカルに表示しました。

実験環境、簡単のため、ファイアウォール、SELinuxの、適切なポートを開くために、実際の環境の必要性をオフに!

2)展開プロメテウス

(1)ノード輸出コンテナを実行し

情報ホストのハードウェアとオペレーティングシステムの情報を収集するための主に担当しNodeEXporter!

[root@dockerA ~]# docker run -d --name node -p 9100:9100 -v /proc:/host/proc -v /sys:/host/sys -v /:/rootfs --net=host prom/node-exporter --path.procfs /host/proc --path.sysfs /host/sys --collector.filesystem.ignored-mount-points "^/(sys|proc|dev|host|etc)($|/)"
//使用prom/node-exporter 镜像创建一个名为node的容器,用于收集硬件和系统信息;
//--net=host表示Prometheus server可以直接与node-exporter通信;
//并映射9100端口

:として実行した後、クライアントは、アクセスするブラウザを使用して
設定プロメテウス+ Grafana監視システム
上記のページへのアクセスは、このコンポーネントが正常にインストールされたノード・輸出国を表して!

由于这个NodeEXporter组件需要在三台docker host主机上,所以以上命令就需要在另外两台主机上都执行。执行完成后,自行使用浏览器访问测试!

(2)运行cAdvisor容器

cAdvisor主要负责收集Host上运行的容器信息!

[root@dockerA ~]# docker run -v /:/rootfs:ro -v /var/run:/var/run/:rw -v /sys:/sys:ro -v /var/lib/docker:/var/lib/docker:ro -p 8080:8080 --detach=true --name=cadvisor --net=host google/cadvisor

客户端访问测试:
設定プロメテウス+ Grafana監視システム
访问到上述页面则表示cAdvisor这个组件安装成功!

同样这个cAdvisor组件也是需要在三台docker host上全部安装的!所以以上命令也需在另外两台主机上执行,执行完成后,自行测试!

(3)运行Prometheus server容器(只需在dockerA主机上执行即可!)

Prometheus是普罗米修斯的主服务器!

在部署Prometheus之前,需要对它的配置文件进行修改,所以首先运行一个Prometheus容器将其配置文件复制到本地,便于进行修改。

[root@dockerA ~]# docker run -d -p 9090:9090 --name prometheus --net=host prom/prometheus
//运行一个Prometheus容器是为了将它的配置文件拿到本地
[root@dockerA ~]# docker cp prometheus:/etc/prometheus/prometheus.yml .
//将Prometheus容器中的主配置文件复制到本地
[root@dockerA ~]# vim prometheus.yml      //编辑主配置文件
    - targets: ['localhost:9090','localhost:8080','localhost:9100','192.168.1.2:8080','192.168.1.2:9100','192.168.1.3:8080','192.168.1.3:9100']
//这项原本是存在的,只需修改即可!    
 //用于指定监控本机的9090、8080、9100这三个端口,另外添加另外两台docker主机的8080、9100这两个端口。
 //8080端口运行的是cAdvisor服务
 //9100端口运行的是node-exporter服务
 //9090端口运行的就是Prometheus服务
[root@dockerA ~]# docker rm prometheus -f      //将刚才运行的容器删除
prometheus
[root@dockerA ~]# docker run -d -p 9090:9090 --name prometheus --net=host -v /root/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus
//重新运行一个prometheus容器,将刚才修改完成的配置文件挂载到容器中

客户端访问测试:
設定プロメテウス+ Grafana監視システム
設定プロメテウス+ Grafana監視システム

(4)运行grafana容器(同样只需在dockerA主机上运行即可!)

grafana主要负责展示普罗米修斯监控界面,给我们提供良好的图形化界面!

[root@dockerA ~]# mkdir grafana-storage
[root@dockerA ~]# chmod 777 -R grafana-storage
//创建一个目录,赋予777的权限
[root@dockerA ~]# docker run -d -p 3000:3000 --name grafana -v /root/grafana-storage:/var/lib/grafana -e "GF_SECURITY_ADMIN_PASSWORD=123.com" grafana/grafana
//“-e”选项表示修改容器内部的环境变量,将admin用户的密码更改为123.com;

客户端访问测试:
設定プロメテウス+ Grafana監視システム
設定プロメテウス+ Grafana監視システム
設定プロメテウス+ Grafana監視システム
設定プロメテウス+ Grafana監視システム
設定プロメテウス+ Grafana監視システム

上述配置完成后,我们就需要配置它以什么样的形式来给我们展示了,可以自定义,但是很麻烦,我选择直接去grafana官网寻找现成的模板。如图:
設定プロメテウス+ Grafana監視システム
設定プロメテウス+ Grafana監視システム
設定プロメテウス+ Grafana監視システム

将grafana官方的模板导入到我们的grafana容器提供的web页面中,方法有两种方式:

1)第一种方式:

在grafana官网选择自己喜欢的模板,点击进入,如图:
設定プロメテウス+ Grafana監視システム
下载后,回到自己搭建的grafana容器提供的web页面中,如图:
設定プロメテウス+ Grafana監視システム
設定プロメテウス+ Grafana監視システム
設定プロメテウス+ Grafana監視システム
設定プロメテウス+ Grafana監視システム
但是仔细看的话,会发现这个模板有些信息都检测不到,所以这里就是为了展示一种方式导入模板的方式。个人建议推荐使用第二种方式!

2)第二种方式:

適切なテンプレートを選択した後、ID番号として記録:
設定プロメテウス+ Grafana監視システム
図に示すように、テンプレートのID番号を記録した後、同一のウェブページへの復帰は、提供grafana自身のコンテナを内蔵しました。
設定プロメテウス+ Grafana監視システム
設定プロメテウス+ Grafana監視システム
設定プロメテウス+ Grafana監視システム
設定プロメテウス+ Grafana監視システム

これまでの監視Webインターフェイスが行わ展開するには!

おすすめ

転載: blog.51cto.com/14157628/2461349