Танос на голом металле - PullRequest
1 голос
/ 29 июня 2019

У меня в настоящее время Prometheus установлен без использования металла и работает в качестве док-контейнера.Я использую то же самое для мониторинга нашей инфраструктуры, а также кластеров Kubernetes.

Для того, чтобы настроить HA, я пытался развернуть прокси-сервер или запрос для двух экземпляров Prometheus.И моей первой целью было попробовать Танос.Но я не нахожу много документации или информации об использовании чистого металла.Все документы посвящены реализации Thanos в Kubernetes.

Кто-нибудь пробовал Thanos на голом металле?

ОБНОВЛЕНИЕ:

Я использовал docker-compose дляраскрутить коляску и компоненты запроса:

thanos-sidecar:
  image: improbable/thanos:v0.5.0
  restart: always
  volumes:
    - tsdb-vol:/prometheus
  command: ['sidecar', '--tsdb.path="/prometheus"', '--prometheus.url=http://metrics_prometheus_1:9090' ]
  ports:
    - '10902:10902'
    - '10901:10901'
  depends_on:
  - Prometheus
  network:
    - thanos


thanos-querier:
  image: improbable/thanos:v0.5.0
  logging:
  # limit logs retained on host to 25MB
    driver: "json-file"
    options:
      max-size: "500k"
      max-file: "50"
  restart: always
  command: ['query' , '--http-address=0.0.0.0:19192' , '--query.replica-label=replica' , '--store=metrics_thanos-sidecar_1:10901', '--store=172.XX.XX.XXX:10901']
  ports:
    - '19192:19192'
  depends_on:
  - thanos-sidecar
  network:
    - thanos

Я показал API хранилища, порты gRPC на 10901, но танос-квестер все еще не может связаться с ними.Чего еще не хватает в конфигах колясок?

Ответы [ 2 ]

0 голосов
/ 08 июля 2019

ОБРАТИТЕ ВНИМАНИЕ:

  1. Разрешение в Docker-compose не работает с сетью по умолчанию. Поэтому пришлось создать явную сеть для всех компонентов Thanos

  2. Нам не нужно указывать http в URL магазина. Именно по этой причине запрос Thanos не смог соединиться с удаленным API .store

Теперь все отлично работает !!

0 голосов
/ 29 июня 2019

Это не должно сильно отличаться от участия в Кубернетесе. Здесь находятся файлы манифеста K8s здесь , но вы должны иметь возможность запускать каждый из компонентов отдельно, либо в контейнере, либо вне контейнеров.

Например, Store API :

thanos sidecar \
    --tsdb.path                 /var/prometheus \
    --objstore.config-file      bucket_config.yaml \       # Bucket config file to send data to
    --prometheus.url            http://localhost:9090 \    # Location of the Prometheus HTTP server
    --http-address              0.0.0.0:19191 \            # HTTP endpoint for collecting metrics on the Sidecar
    --grpc-address              0.0.0.0:19090              # GRPC endpoint for StoreAPI

или Шлюз запросов

thanos query \
    --http-address 0.0.0.0:19192 \                                # HTTP Endpoint for Query UI
    --store        1.2.3.4:19090 \                                # Static gRPC Store API Address for the query node to query
    --store        1.2.3.5:19090 \                                # Also repeatable
    --store        dnssrv+_grpc._tcp.thanos-store.monitoring.svc  # Supports DNS A & SRV records

или Компактор

thanos compact \
    --data-dir             /var/thanos/compact \  # Temporary workspace for data processing
    --objstore.config-file bucket_config.yaml \   # Bucket where to apply the compacting
    --http-address         0.0.0.0:19191          # HTTP endpoint for collecting metrics on the Compactor)

или Линейка

thanos rule \
    --data-dir             "/path/to/data" \
    --eval-interval        "30s" \
    --rule-file            "/path/to/rules/*.rules.yaml" \
    --alert.query-url      "http://0.0.0.0:9090" \ # This tells what query URL to link to in UI.
    --alertmanagers.url    "alert.thanos.io" \
    --query                "query.example.org" \
    --query                "query2.example.org" \
    --objstore.config-file "bucket.yml" \
    --label                'monitor_cluster="cluster1"'
    --label                'replica="A"

Thanos - это бинарный файл Go , поэтому он может работать на большинстве систем, которые Go поддерживает как target .

...