toantd1202 / Prometheus_new

0 stars 0 forks source link

High Availability-Federation #10

Open toantd1202 opened 4 years ago

toantd1202 commented 4 years ago

1. HA

2. Federation

toantd1202 commented 4 years ago

1. HA

Phần này, em vẫn đang gặp 1 chút vấn đề. Em đã tạo được 2 node Prom và 2 node Alertmanager. Nhưng có điều là:

Tại Prom1:

Tại Prom2:

Và đây, file docker-compose.ymlprometheus.yml của em:

docker-compose.yml

version: '3.6'
volumes:
  prometheus-data1:

services:
  prometheus1:
    container_name: prom1
    image: prom/prometheus
    ports:
     - 9090:9090
    command:
     - --config.file=/etc/prometheus/prometheus.yml
     - --web.listen-address=0.0.0.0:9090
     - --storage.tsdb.path=/etc/prometheus
    volumes:
     - ./prometheus.yml:/etc/prometheus/prometheus.yml
     - ./rulefile.yml:/etc/prometheus/rulefile.yml
     - prometheus-data1:/prometheus
  prometheus2:
    container_name: prom2
    image: prom/prometheus
    ports:
     - 9091:9091
    command:
     - --config.file=/etc/prometheus/prometheus.yml
     - --web.listen-address=0.0.0.0:9091
     - --storage.tsdb.path=/etc/prometheus
    volumes:
     - ./prometheus.yml:/etc/prometheus/prometheus.yml
     - ./rulefile.yml:/etc/prometheus/rulefile.yml
     - prometheus-data1:/prometheus
  prometheus2:
    container_name: prom2
    image: prom/prometheus
    ports:
     - 9091:9091
    command:
     - --config.file=/etc/prometheus/prometheus.yml
     - --web.listen-address=0.0.0.0:9091
     - --storage.tsdb.path=/etc/prometheus
    volumes:
     - ./prometheus.yml:/etc/prometheus/prometheus.yml
     - ./rulefile.yml:/etc/prometheus/rulefile.yml
     - prometheus-data1:/prometheus
  alertmanager1:
    image: prom/alertmanager
    container_name: am1
    ports:
     - 9093:9093
    volumes:
     - ./alertmanager.yml:/etc/alertmanager/alertmanager.yml
    command:
     - --config.file=/etc/alertmanager/alertmanager.yml
     - --storage.path=/alertmanager
     - --cluster.peer=172.21.0.5:8001
     - --cluster.listen-address=:8001
     - --web.listen-address=:9093
  alertmanager2:
    image: prom/alertmanager
    container_name: am2
    ports:
     - 9094:9094
    volumes:
     - ./alertmanager.yml:/etc/alertmanager/alertmanager.yml
    command:
     - --config.file=/etc/alertmanager/alertmanager.yml
     - --storage.path=/alertmanager
     - --cluster.peer=172.21.0.4:8001
     - --cluster.listen-address=:8001
     - --web.listen-address=:9094
prometheus.yml

global:
  scrape_interval: 30s
scrape_configs:
- job_name: 'node'
  static_configs:
  - targets: ['localhost:9090']
alerting:
  alertmanagers:
  - scheme: http
    static_configs:
    - targets: ['am1:9093','am2:9094']
rule_files:
  - rulefile.yml
rulefile.yml

groups:
  - name: default
    rules:
    - alert: InstanceDown
      expr: up == 0
      for: 20s
      annotations:
        summary: "Instance {{ $labels.instance }} down"
        description: "{{ $labels.instance }} of job {{ $labels.job }} has been down for more than 20 seconds."

Phần HA này trong prometheus docs viết ít quá, nên em nhảy sang xem phần Federation luôn. ^^

2. Federation

Ở phần này, theo như yêu cầu, em tạo ra 2 node PromXPromY tương ứng trong 1 docker-compose.

PromX cấu hình target giám sát host sử dụng node_exporter.

Em làm phần này đến đây ổn chưa ạ! ^^

vanduc95 commented 4 years ago

Phần federation anh yêu cầu là Prom Y chỉ lấy các metric về CPU từ Prom X thôi cơ mà, làm như em là lấy tất cả metric của node-exporter rồi.

toantd1202 commented 4 years ago

@vanduc95 code tại đây, hay em đập đi làm lại cái file md kia rồi PR lại ạ?

toantd1202 commented 4 years ago

@vanduc95 như này được không anh?

vtdat commented 4 years ago

check lại xem nhé phần HA a vẫn thấy bthg

Screen Shot 2020-04-28 at 11 14 04 AM
toantd1202 commented 4 years ago

@vtdat vâng anh! đây là anh chạy code em sửa rồi nên nó ổn ạ.^^