Pulsar[3]-Prometheus+Grafana構築PulsarクラスタモニタDashboard


0縁起
1)PulsarはDashboardを持参し,クラスタBroker,Bookie,ZooKeeperおよびTopicなどを監視・統計する.
2)裸機でPrometheus+Grafanaを使用してPulsarクラスタモニタリングDashboardを構築する方法について説明します.
3)NameSpace、Topic、Broker、Bookie、ZooKeeperなどの指標とコンポーネントの監視と統計を実現する.
1リソースの準備
1)1台のLinuxヌードサーバー、4 G、2コアを配置する
2)Prometheusインストールパッケージ(バージョン番号2.7.1)
3)Grafanaインストールパッケージ(バージョン番号5.4.2)
2解凍Prometheus、Grafanaインストールパッケージのダウンロード
# Prometheus      
wget  https://github.com/prometheus/prometheus/releases/download/v2.7.1/prometheus-2.7.1.linux-amd64.tar.gz

#      
tar -zxvf  prometheus-2.7.1.linux-amd64.tar.gz


# Grafana      
wget https://dl.grafana.com/oss/release/grafana-5.4.2.linux-amd64.tar.gz 

#      
tar -zxvf grafana-5.4.2.linux-amd64.tar.gz 

#    ,        
# /home/admin/monitor/prometheus-2.7.1.linux-amd64
# /home/admin/monitor/grafana-5.4.2


3 Prometheusのプロファイルを設定するprometheus.yml
(1)クラスタ名の変更(cluster:pulsar-cluster)
(2)brokerノードipとポート番号の構成
(3)bookieノードipとポート番号の構成
(4)ZooKeeperノードipとポート番号の構成
#   
1        3 Linux   
2             broker   、   bookie   、   ZooKeeper  。
3 3          ip     
  10.0.100.60
  10.0.100.70
  10.0.100.80
4 Pulsar        [https://blog.csdn.net/BiLaHePan/article/details/89774464]
5      pulsar-cluster
6      Pulsar       ,        ,                    ip  
7    prometheus.yml       /home/admin/monitor/prometheus.yml
8         ip  
  10.0.100.90


私のymlファイルの内容は以下の通りです.
   global:
  scrape_interval:     15s # By default, scrape targets every 15 seconds.
  evaluation_interval: 15s # By default, scrape targets every 15 seconds.
  # scrape_timeout is set to the global default (10s).
  external_labels:
    # TODO: replace `` with the right cluster name. E.g.
    #
    # cluster: test-cluster
    cluster: pulsar-cluster

# Load and evaluate rules in these files every 'evaluation_interval' seconds.
# rule_files:

scrape_configs:

  # - job_name: "proxy"
  #   honor_labels: true # don't overwrite job & instance labels
  #   static_configs:
  #   - targets: ['10.0.100.60:0000']
      

  - job_name: "broker"
    honor_labels: true # don't overwrite job & instance labels
    static_configs:
    - targets: ['10.0.100.60:8080','10.0.100.70:8080','10.0.100.80:8080']
      

  - job_name: "bookie"
    honor_labels: true # don't overwrite job & instance labels
    static_configs:
    - targets: ['10.0.100.60:8000','10.0.100.70:8000','10.0.100.80:8000']
      

  - job_name: "zookeeper"
    honor_labels: true
    static_configs:
    - targets: ['10.0.100.60:9990','10.0.100.70:9990','10.0.100.80:9990']
      
#
#  - job_name: "node_metrics"
#    honor_labels: true # don't overwrite job & instance labels
#    static_configs:
#    - targets:
      # TODO: add the physical machines to monitor
      #
      # - 'node1:9100'
      # - 'node2:9100'
      # - ...

4以降のプロセスでPrometheusを起動する
#    Prometheus     
cd  /home/admin/monitor/prometheus-2.7.1.linux-amd64/

#            
nohup ./prometheus --config.file "/home/admin/monitor/prometheus.yml" --web.enable-lifecycle --storage.tsdb.retention=10d >prometheus.log 2>&1 &

#     
# --config.file    prometheus.yml     
# --web.enable-lifecycle             
# --storage.tsdb.retention           ,10d   10 
# >prometheus.log 2>&1 &           

5 Prometheusへのアクセス
(1)モニタを配備する機器ipは10.0.100.90
(2)ブラウザでのアクセスhttp://10.0.100.90:9090/graph
(3)正常なアクセスと実行
(4)Prometheusはタイミングデータストレージを行い、強力なクエリー機能を提供し、DashboardはGrafanaを使用してよりきれいな専門を展示し、Grafanaを構築して配置する.
6以降のステージプロセスでGrafanaを起動
#    Grafana     
cd  /home/admin/monitor/grafana-5.4.2/

#            
nohup ./bin/grafana-server  start  >grafana.log 2>&1 &


7 Grafanaへのアクセス
(1)モニタを配備する機器ipは10.0.100.90
(2)ブラウザでのアクセスhttp://10.0.100.90:3000
(3)下図のようにGrafanaのトップページが表示され、デフォルトのユーザー名admin、デフォルトのパスワードadminを入力します.
8 Grafanaデータソースの構成
(1)Prometheusデータソースの追加を選択
(2)Prometheusの選択
(3)Prometheusデータソースの構成
9モニタDashboardテンプレートのインポート
(1)Dashboardテンプレートはgithubからこちら(https://github.com/bilahepan/Pulsar-Simple-Dashboard)を取得、ローカルにダウンロード
(2)Dashboardテンプレートのアップロードを選択する(ここでは「Pulsarクラスタ全体.json」テンプレートを例に挙げる)
(3)インポートに成功しました.Dashboardパネルの統計を見ることができます.
(4)ここから他のテンプレート(https://github.com/streamnative/apache-pulsar-grafana-dashboard)、Grafanaを使ってアラーム通知機能をすることもできます