IK.AM

@making's tech note


PromregatorをCloud Foundryにインストール

🗃 {Dev/PaaS/CloudFoundry/PCF/Monitoring}
🏷 Cloud Foundry 🏷 Pivotal Cloud Foundry 🏷 Prometheus 🏷 Promregator 
🗓 Updated at 2019-06-27T08:22:09Z  🗓 Created at 2019-06-27T08:21:42Z   🌎 English Page

Promregatorのインストールメモ。

Cloud Foundry上のアプリケーションのPrometheusメトリクスを集約してscrapeしたい場合に使用する。

jarをダウンロード。

wget https://github.com/promregator/promregator/releases/download/v0.5.7/promregator-0.5.7.jar

以下のmanifest.ymlを作成。

applications:
- name: promregator
  memory: 3G
  instances: 1
  path: ./promregator-0.5.7.jar
  health-check-type: http
  health-check-http-endpoint: /
  env:
    # https://github.com/promregator/promregator/blob/master/docs/config.md
    # adminまたはread only adminを作って設定、あるいは以下で設定するOrgにアクセスできるアカウント名
    # https://docs.cloudfoundry.org/uaa/uaa-user-management.html#admin-read-only
    CF_API_HOST: ((cf_api_host))
    CF_USERNAME: ((cf_username))
    CF_PASSWORD: ((cf_password))
    # Promeregatorのアクセス対象Org名
    PROMREGATOR_TARGETS_0_ORGNAME: ((promregator_targets_0_orgname))
    # メトリクスのパス。Org内で一括指定。Spring Bootの場合は/actuator/prometheus
    PROMREGATOR_TARGETS_0_PATH: ((promregator_targets_0_path))
    # 複数のOrgにアクセスさせたい場合はindexを増やしていく
    # PROMREGATOR_TARGETS_1_ORGNAME: ((promregator_targets_1_orgname))
    # PROMREGATOR_TARGETS_1_PATH: ((promregator_targets_1_path))

    # Promregator自体の認証設定
    PROMREGATOR_AUTHENTICATOR_TYPE: basic
    PROMREGATOR_AUTHENTICATOR_BASIC_USERNAME: ((promregator_authenticator_basic_username))
    PROMREGATOR_AUTHENTICATOR_BASIC_PASSWORD: ((promregator_authenticator_basic_password))
    # Promregatorがアクセスする先の認証設定
    PROMREGATOR_ENDPOINT_AUTH: basic
    PROMREGATOR_AUTHENTICATION_BASIC_USERNAME: ((promregator_authentication_basic_username))
    PROMREGATOR_AUTHENTICATION_BASIC_PASSWORD: ((promregator_authentication_basic_password))

    LOGGING_LEVEL_ORG_CLOUDFOUNDRY_PROMREGATOR: ((logging_level_org_cloudfoundry_promregator))

プレースホルダに埋める値はvars.ymlに設定。適当に修正を。

cf_api_host: api.sys.example.com
cf_username: admin
cf_password: passsword
promregator_targets_0_orgname: Foo
promregator_targets_0_path: /actuator/prometheus
promregator_authenticator_basic_username: promregator
promregator_authenticator_basic_password: promregator
promregator_authentication_basic_username: demo
promregator_authentication_basic_password: demo
logging_level_org_cloudfoundry_promregator: WARN

cf pushする。

cf push --vars-file=vars.yml

Promemtheus側には以下の設定を行う。

- job_name: promregator
  scrape_interval: 60s
  scrape_timeout: 10s
  metrics_path: /metrics
  scheme: https
  basic_auth:
    username: promregator
    password: promregator
  static_configs:
  - targets:
    - promregator.apps.example.com:443

prometheus-boshreleaseを使っている場合は、以下のops-fileを追加。

- type: replace
  path: /instance_groups/name=prometheus2/jobs/name=prometheus2/properties/prometheus/scrape_configs/-
  value:
    job_name: promregator
    scrape_interval: 60s
    scrape_timeout: 10s
    metrics_path: /metrics
    scheme: https
    basic_auth:
      username: promregator
      password: promregator
    static_configs:
    - targets:
      - promregator.apps.example.com:443

✒️️ Edit  ⏰ History  🗑 Delete