Подключение локальной системы мониторинга к Grafana Cloud

Конфигурация Grafana Private data source connect
Залогиньтесь в Grafana cloud, перейдите в раздел Connections и выберите Private data source connect

Нажмите кнопку +Add new network


Далее следует создать новый токен для настройки подключения, в созданном коннекторе выберите вариант Docker . Ввведите имя и нажмите на кнопку Create token

Сохраните токен для дальнейшего использования, также скопируйте параметры -cluster и -gcluud-hosted-grafana-id из поля Docker скрипта. Вы можете проверить правильность подключения агента нажав на Test agent connection.

Токен может быть использован для нескольких агентов одновременно

Разворачивание локального PDC агента
Используйте Ansible для доставки скриптов на целеыой сервер
..
|-- ansible
|-- invertory.yaml
|-- playbook.grafana-pdc.yaml
|-- docker
|-- docker-compose.grafana-pdc.yaml
|-- grafana-pdc.env
|-- prometheus
|-- prometheus.yml
inventory.yaml
maingroup:
hosts:
host1:
playbook.grafana-pdc.yaml
---
- hosts: maingroup
become: yes
remote_user: root
tasks:
- name: Create MONITORING directory
ansible.builtin.file:
path: /MONITORING
state: directory
mode: '0777'
- name: Create prometheus directory
ansible.builtin.file:
path: /MONITORING/prometheus
state: directory
mode: '0777'
- name: Create prometheus config directory
ansible.builtin.file:
path: /MONITORING/prometheus/config
state: directory
mode: '0777'
- name: Create prometheus data directory
ansible.builtin.file:
path: /MONITORING/prometheus/data
state: directory
mode: '0777'
- name: Copy prometheus conf
ansible.builtin.copy:
src: ../prometheus/
dest: /MONITORING/prometheus/config/
owner: root
group: root
mode: '0744'
- name: Create Docker directory
ansible.builtin.file:
path: /opt/docker-compose/grafana-pdc
state: directory
mode: '0755'
- name: Copy docker compose fie
ansible.builtin.copy:
src: ../docker/docker-compose.grafana-pdc.yaml
dest: /opt/docker-compose/grafana-pdc/docker-compose.grafana-pdc.yaml
owner: root
group: root
mode: '0744'
- name: Copy docker compose env file
ansible.builtin.copy:
src: ../docker/grafana-pdc.env
dest: /opt/docker-compose/grafana-pdc/grafana-pdc.env
owner: root
group: root
mode: '0744'
- name: Compose up grafana-pdc
ansible.builtin.shell: |
docker compose -f docker-compose.grafana-pdc.yaml up -d
args:
chdir: /opt/docker-compose/grafana-pdc
docker-compose.grafana-pdc.yaml
name: grafana-pdc
services:
prometheus:
image: prom/prometheus
container_name: prometheus
restart: always
ports:
- "9090:9090/tcp"
networks:
- grafana-pdc
volumes:
- type: bind
source: /MONITORING/prometheus/config
target: /etc/prometheus
- type: bind
source: /MONITORING/prometheus/data
target: /prometheus
pdc-agent:
image: grafana/pdc-agent
container_name: pdc-agent
restart: always
command: ["-token", "${TOKEN}", "-cluster", "${CLUSTER}", "-gcloud-hosted-grafana-id", "${HOSTED_GRAFANA_ID}"]
secrets:
- param
networks:
- grafana-pdc
networks:
grafana-pdc:
secrets:
param:
file: ./grafana-pdc.env
grafana-pdc.env
TOKEN="here insert the connection token"
CLUSTER="cluster param from docker script"
HOSTED_GRAFANA_ID="gcluud-hosted-grafana-id param from docker script"
prometheus.yml
global:
scrape_interval: 15s
scrape_timeout: 10s
scrape_protocols:
- OpenMetricsText1.0.0
- OpenMetricsText0.0.1
- PrometheusText0.0.4
evaluation_interval: 15s
runtime:
gogc: 75
alerting:
alertmanagers:
- follow_redirects: true
enable_http2: true
http_headers: null
scheme: http
timeout: 10s
api_version: v2
static_configs:
- targets: []
scrape_configs:
- job_name: prometheus
honor_timestamps: true
track_timestamps_staleness: false
scrape_interval: 15s
scrape_timeout: 10s
scrape_protocols:
- OpenMetricsText1.0.0
- OpenMetricsText0.0.1
- PrometheusText0.0.4
metrics_path: /metrics
scheme: http
enable_compression: true
follow_redirects: true
enable_http2: true
http_headers: null
static_configs:
- targets:
- localhost:9090
Добавление Data source в Grafana Cloud
Вернитесь в Grafana cloud, перейдите в раздел Connections->Datasources. Нажмите + Addnew data source и выберите Prometheus

В поле Connection впишите локальный Prometheus URL http://prometheus:9090

Выберите правильное PDC подключение в Private data source connect и нажмите Save & Test

