GNU/Linux >> Linux の 問題 >  >> Cent OS

GrafanaPrometheusダッシュボードチュートリアル

はじめに

Prometheusは、大量の分散アプリケーション向けのオープンソースのイベント監視ソフトウェアです。リアルタイムの指標とアラート、柔軟なクエリ、HTTPプルモデルを備えており、Kubernetesクラスタを監視するのに適しています。

Prometheusはスタンドアロンアプリケーションですが、視覚化ダッシュボードで使用すると、Kubernetesクラスターの概要をより適切に維持できます。このシナリオで人気のある選択肢は、オープンソースの視覚化ソフトウェアであるGrafanaです。これは、すぐに使用できるデータソースとしてPrometheusをサポートします。

このチュートリアルでは、KubernetesクラスターにGrafanaをインストールし、Prometheusに接続して、ダッシュボードでデータを整理する方法を説明します。

前提条件

  • Kubernetesクラスター
  • kubectlコマンドラインツールがインストールされています
  • Prometheusのインストールとセットアップ

Grafanaのインストール

GrafanaをKubernetesクラスターにインストールするには、一連の yamlを作成して適用します ファイル。

1. grafana-datasource-config.yamlというタイトルのファイルにConfigMapを作成することから始めます

nano grafana-datasource-config.yaml

このファイルは、次の宣言で構成されています。

apiVersion: v1 
kind: ConfigMap 
metadata:
 name: grafana-datasources
 namespace: default 
data: 
  prometheus.yaml: |- 
    { 
        "apiVersion": 1, 
        "datasources": [ 
            { 
               "access":"proxy", 
                "editable": true, 
                "name": "prometheus", 
                "orgId": 1, 
                "type": "prometheus", 
                "url": "http://prometheus-service.monitoring.svc:9090", 
                "version": 1 
            } 
        ] 
    }

2. Grafanaをインストールする名前空間を指定して、ファイルの内容をニーズに合わせて調整します。

3.ファイルを保存して終了します。

4. kubectlを使用してクラスターに変更を適用します:

kubectl create -f grafana-datasource-config.yaml

出力は、ConfigMapの作成を確認します:


5.次に、 yamlを作成します Grafanaデプロイメントのファイル:

nano deployment.yaml

このファイルには、Grafanaデプロイメント構成が含まれています:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: grafana
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      app: grafana
  template:
    metadata:
      name: grafana
      labels:
        app: grafana
    spec:
      containers:
      - name: grafana
        image: grafana/grafana:latest
        ports:
        - name: grafana
          containerPort: 3000
        resources:
          limits:
            memory: "1Gi"
            cpu: "1000m"
          requests: 
            memory: 500M
            cpu: "500m"
        volumeMounts:
          - mountPath: /var/lib/grafana
            name: grafana-storage
          - mountPath: /etc/grafana/provisioning/datasources
            name: grafana-datasources
            readOnly: false
      volumes:
        - name: grafana-storage
          emptyDir: {}
        - name: grafana-datasources
          configMap:
              defaultMode: 420
              name: grafana-datasources

6.ファイルを保存してから、クラスターに適用します。

kubectl create -f deployment.yaml

出力は、デプロイメントの作成を確認します:


7.最後に、 service.yamlを作成します Grafanaサービスを構成するファイル:

nano service.yaml

このファイルは、次の宣言で構成されています。

apiVersion: v1
kind: Service
metadata:
  name: grafana
  namespace: default
  annotations:
      prometheus.io/scrape: 'true'
      prometheus.io/port:   '3000'
spec:
  selector: 
    app: grafana
  type: NodePort  
  ports:
    - port: 3000
      targetPort: 3000
      nodePort: 32000

8.クラスターのニーズに合わせてファイルを調整し、保存して適用します。

kubectl create -f service.yaml

出力は、サービスが正常に作成されたことを確認します:


9. kubectl port-forwardコマンドを使用して、Grafanaサービスをポート 3000に転送します

kubectl port-forward svc/grafana 3000


10.ブラウザを開いて、 http://localhost:3000/に移動します。

11.ユーザー名とパスワードを尋ねるGrafanaログイン画面が表示されます。 adminと入力します 両方のフィールドで、[ログイン]をクリックします 。


12. Grafanaは新しいパスワードを設定するように要求し、その後ホームページが表示されます。

PrometheusをGrafanaデータソースとして追加

GrafanaでPrometheusの使用を開始するには、データソースとしてPrometheusを追加します。

1.左側のサイドバーで、歯車のアイコンにカーソルを合わせて、構成サブメニューを表示します。

2.データソースをクリックします 。


2.構成ページが開きます。 データソースの追加をクリックします ボタン。


3. Select をクリックして、データソースタイプとしてPrometheusを選択します。 右側のボタン。


4.Prometheusの構成ページが開きます。ここでは、ソースの名前、PrometheusサービスのURLとポート、およびアクセスのタイプを指定します(サーバーアクセスがデフォルトのオプションです)。


5.完了したら、ページの一番下までスクロールして、保存してテストをクリックします。 ボタン。

GrafanaはPrometheusとの接続をテストし、データソースの追加を完了します。

Prometheus統計をダッシュ​​ボードとしてGrafanaにインポートする

Grafanaはすぐに使用できるPrometheusをサポートしており、事前に作成されたPrometheusダッシュボードに簡単にアクセスできます。

1.データソースに戻ります セクションを選択し、プロメテウスを選択します 。

2.設定を開きます ドロップダウンメニュー。

3.次に、[ダッシュボード]をクリックします 。


4.使用可能なダッシュボードのリストが表示されます。 インポートをクリックして、必要なダッシュボードをインポートします ダッシュボード名の右側にあるボタン。


5.ダッシュボードにアクセスするには、左側のサイドバーにある4つの四角のアイコンにカーソルを合わせて、ダッシュボードを表示します。 メニュー。

6.管理をクリックします 。

7. Prometheusを選択します リストから管理するダッシュボード。

Prometheusサーバーからの統計

Prometheusダッシュボードは、以下で説明するいくつかの単一統計グラフで構成されています。

単一統計グラフ

Prometheus Statsを選択した後 ダッシュボード管理のダッシュボード ページでは、統計はパネルに整理されて表示されます。

最初の行は、次のパネルで構成されています。

  • 稼働時間 :Prometheusサーバーが起動してからどれくらいの時間が経過したか
  • ローカルストレージメモリシリーズ :Prometheusが現在メモリに保持しているシリーズの数
  • 内部ストレージキューの長さ :この数値は小さいほど良いです。 「空」メッセージは、キュー番号がゼロであることを意味します。

取り込みたサンプル パネルには、Prometheusが5分の速度で取り込んだサンプルメッセージの数に関する情報が表示されます。

プロメテウススクレープメトリクス

スクレイプメトリック パネルは、サンプルが取り込まれたパネルのすぐ下にあります。

  • ターゲットスクレイプ パネルには、範囲ベクトルの時系列ごとに、過去5分間に測定されたターゲット(Prometheus)をスクレイピングする頻度が表示されます。
  • スクレイプ持続時間 パネルには、同じ5分間に測定された擦り傷の持続時間が表示されます。

評価期間

ルール評価期間 スクレープメトリックパネルの下にあるパネルは、実行するすべての評価の長さに関する情報を提供します。

新しいダッシュボードを作成する

新しいGrafanaダッシュボードを作成するには:

1.ダッシュボードに移動します ページをクリックし、新しいダッシュボードをクリックします ボタン。


2.新しい空のパネルと行を追加できる画面が表示されます。


3.ダミーパネルが1つある新しい画面が表示されます。

Prometheusクエリエディタを使用してダッシュボードをカスタマイズする

特定のGrafanaパネルを編集するには:

1.パネルのタイトルをクリックして、ドロップダウンメニューを開きます。

2.メニューで、[編集]をクリックします 。


3.編集ウィンドウが表示されます。新しいクエリを導入するか、現在のクエリを変更して、パネルをカスタマイズします。クエリは、Prometheusクエリ言語を使用して実行されます。


4.次の指標は、Grafanaの既製のPrometheusダッシュボードには含まれていませんが、Prometheusの監視には役立ちます。

  • prometheus_local_storage_memory_chunks –Prometheusがメモリに保存するメモリチャンクを監視します。
  • prometheus_local_storage_memory_series –Prometheusがメモリに保存するメモリシリーズを監視します。
  • prometheus_local_storage_ingested_samples_total –サンプルの摂取率を測定します。
  • prometheus_target_interval_length_seconds –ターゲットスクレイプ間の時間を測定します。
  • prometheus_local_storage_chunk_ops_total –すべてのPrometheusストレージチャンク操作の1秒あたりの速度を監視します。

既製のダッシュボードとプラグインを使用する

Grafanaは、Webサイトからダウンロードできる既製のダッシュボードとプラグインを幅広く提供しています。既成のダッシュボードをインストールするには:

1.プラグインのjsonをダウンロードします ファイル。

2.インポートをクリックします ボタンをクリックし、指示に従ってファイルをGrafanaにアップロードします。


3.プラグインをインストールするには、 kubectl execを使用してクラスター内のGrafanaポッドにログインします。 。

kubectl exec -it [grafana-pod] -- [shell]


4.ここで、 grafana-cliを使用します プラグインをインストールするためのコマンドラインツール:

grafana-cli plugins install grafana-worldmap-panel


プラグインはGrafanaプラグインディレクトリにインストールされます。デフォルトの場所は/var/lib/grafana/plugins 。プラグインが正常にインストールされると、Grafanaで自動的に利用可能になります。


Cent OS
  1. Nagiosトラブルシューティングチュートリアル

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

  3. CentOS 8にGrafanaをインストールする-ステップバイステップガイド?

  1. CentOS8からRockyLinux8への移行:ステップバイステップのチュートリアル

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

  3. CentOS7にWeb2pyをインストールする方法

  1. CentOS7にGrafanaをインストールする方法

  2. CentOS WebPanel –サービスの監視

  3. 例を含む cURL コマンドのチュートリアル