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

監視システムプロメテウスでは、プロメテウスの義務は、収集、格納およびクエリとのAlertManagerにアラームをプッシュすることです。本論文では、プロメテウスのプロファイルの下で。

グローバル・コンフィギュレーション・ファイルの概要

 デフォルトの設定ファイル

Ctrl + Cを押してコードをコピーします
Ctrl + Cを押してコードをコピーします
  • グローバル:このフラグメントは、そのような取得間隔としてグローバルコンフィギュレーションプロメテウスを、指定されたタイムアウト時間がフェッチされます。
  • rule_files:このフラグメントアラームルールファイルは、プロメテウスの情報は、アラーム情報は、のAlertManagerにプッシュされますこれらの規則に従って、指定します。
  • scrape_configs:このフラグメントは、このセグメント構成によって把持構成、プロメテウスデータ取得を指定。
  • 警告:このフラグメント指定アラーム設定、例えば、指定されたアドレスのAlertManagerプロメテウスプッシュを指定メインアラームルールを。
  • remote_write:書き込みアドレス格納されているAPIバックエンドを指定します。
  • remote_read:読み出しアドレス格納されているAPIバックエンドを指定します。

主なパラメータグローバルセグメント

コードをコピー
  #どのくらいの頻度で、デフォルトでは、ターゲットをこすりします。
  [scrape_interval:< 期間> | デフォルト= 1メートル]#抓取间隔
 #どのくらいこすり要求がタイムアウトになるまで。 [scrape_timeout:< 期間> | ルールを評価するためにどのくらいの頻度でデフォルト= 10秒]#抓取超时时间#。[evaluation_intervalは:< 期間> | #外部システム(フェデレーション、リモートストレージ、のAlertManager)と通信するときにデフォルト= 1メートル]#评估规则间隔#ラベルは、任意の時系列または警告に追加します。external_labels:#外部一些标签设置[ < ラベル名>:< labelvalue > ...]
コードをコピー

scrapy_config片段主要参数

Scrape_config断片を標的とパラメータのセットを指定し、ターゲットの例は、エンドポイントの取得、取得パラメータは次のようにこれらの実施例、主なパラメータである方法を説明指定されています

  • scrape_interval:デフォルトはグローバル値を継承し、間隔をキャプチャします。
  • scrape_timeout:クロールのタイムアウト、デフォルトではグローバル値を継承します。
  • metric_path:クロール・パスは、デフォルトでは/メトリックです
  • スキームは:使用されるコレクションプロトコル、HTTPまたはHTTPSを指定します。
  • params:urlパラメータを指定します。
  • BASIC_AUTH:認証情報を指定します。
  • * _Sd_configs:サービス検出設定を指定します。
  • static_configs:静的サービスジョブを指定しました。
  • relabel_config:设置リラベル。

static_configsサンプル

コードをコピー
scrape_configs:
  ジョブ名がラベル`ジョブとして追加されます。#= < job_nameを> `この設定から掻き取りいかなる時系列に。 - JOB_NAME: 'プロメテウス' 
 '/メトリクス'に#のmetrics_pathのデフォルトは 'HTTP'に#スキームのデフォルト設定。
 static_configs: -ターゲット:[ 'はlocalhost:9090'] - JOB_NAME: "ノード" static_configs: -ターゲット: - "192.168.100.10:20001" - 「192.168.100.11:20001 - "192.168.100.12:20001"


コードをコピー

file_sd_configsサンプル

コードをコピー
scrape_configs:
  ジョブ名がラベル`ジョブとして追加されます。#= < job_nameを> `この設定から掻き取りいかなる時系列に。 - JOB_NAME: 'プロメテウス' 
 '/メトリクス'に#のmetrics_pathのデフォルトは 'HTTP'に#スキームのデフォルト設定。
 static_configs: -対象:[ 'localhostを:9090'] - JOB_NAME: "ノード" file_sd_configs: - REFRESH_INTERVAL:1メートルのファイル: - "/usr/local/prometheus/prometheus/conf/node*.yml"
 
#別の設定ファイルは、confにCAT /ノードdis.conf以下

:ターゲット-
- "192.168.100.10:20001"
- "192.168.100.11:20001"
- "192.168.100.12:20001"

又は[ルート@ node00のCONF]に構成されてもよいしCAT-dis.ymlノード#

-ターゲット:
- "192.168.100.10:20001"
ラベル:
ホスト名:node00
-ターゲット:
- "192.168.100.11:20001"
ラベル:
ホスト名:node01
-ターゲット:
- "192.168.100.12:20001"
ラベル:
ホスト名:node02で
コードをコピー

対応する取得ファイル(node_dis.yml)を変更、プロメテウスを再起動することなく、我々は可能な構成によってfile_fd_files後、指定された時間(内REFRESH_INTERVAL)、プロメテウスの作業は、構成情報をロード終了します。

consul_sd_fileサンプル

領事の領事の構成としては、ここで領事サービスの簡単な展開の下で、サービスプロバイダが必要です。

コードをコピー
# 进入下载目录
[root@node00 prometheus]# cd /usr/src/
# 下载 [root@node00 src]# wget https://releases.hashicorp.com/consul/1.6.1/consul_1.6.1_linux_amd64.zip
# 解压 [root@node00 src]# unzip consul_1.6.1_linux_amd64.zip Archive: consul_1.6.1_linux_amd64.zip inflating: consul
# 查看 [root@node00 src]# ls consul consul_1.6.1_linux_amd64.zip debug kernels node_exporter-0.18.1.linux-amd64.tar.gz prometheus-2.12.0.linux-amd64.tar.gz
# 查看文件类型 [root@node00 src]# file consul consul: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, not stripped
# 防止到系统bin目录 [root@node00 src]# mv consul /usr/local/bin/
# 确保环境变量包含 [root@node00 src]# echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
# 运行测试 [root@node00 consul.d]# consul agent -dev
# 测试获取成员
[root@node00 ~]# consul members # 创建配置目录 [root@node00 ~]#mkdir /etc/consul.d [root@node00 consul.d]# cat prometheus-node.json {
  "addresses": {
                        "http": "0.0.0.0",
                        "https": "0.0.0.0"
           },
  "services": [{
                "name": "prometheus-node",
                "tags": ["prometheus","node"],
                "port": 20001
             }]
 
}
# 指定配置文件运行
consul  agent -dev -config-dir=/etc/consul.d
コードをコピー

 打开web管理界面 192.169.100.10:8500,查看相应的服务信息。

上面我们可以看到有2个service , 其中prometheus-node是我们定义的service。

和prometheus集成样例:

コードをコピー
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: 'prometheus'

    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.
    static_configs:
    - targets: ['localhost:9090']

  - job_name: "node"
    consul_sd_configs:
    - server: localhost:8500
      services:
      - prometheus-node
    #  tags:
    #  - prometheus
    #  - node
    #- refresh_interval: 1m
  - job_name: 'node_exporter'
    consul_sd_configs:
      - server: 'consul_ip:8500'
        services: ['node_exporter']
# 匹配service关键字
  - job_name: 'service'
    consul_sd_configs:
    - server: 'consul_ip:8500'
      services: []
    relabel_configs:
    - source_labels: [__meta_consul_tags]
      regex: .*service.*
      action: keep
 
コードをコピー

在prometheus的target界面上我们看到服务注册发现的结果。

 我们通过api接口给该service添加一个节点, 看看是否可以同步过来。

コードをコピー
[ルート@のnode00〜]#カール-XPUT [email protected] 127.0.0.1:8500/v1/catalog/register 

[ルート@ node00〜]#猫node01.json
{
        "ID": "0cc931ea-9a3a-a6ff -3ef5-e0c99371d77d "
        "ノード": "node01"、
        "住所"、 "192.168.100.11"、
        "サービス":
                {
                        "ポート":20001、
                        "ID": "プロメテウス・ノード"、
                        "サービス"、"プロメテウスノード」
                }
}
コードをコピー

領事とプロメテウスの観点から

 

例としては、ノード領事特定のサービスにアドレスを追加することによって求めることができ、それは動的変更プロメテウスで取得することができます。

おすすめ

転載: www.cnblogs.com/momoyan/p/11783519.html