Skip to content

Latest commit

 

History

History
194 lines (167 loc) · 4.38 KB

File metadata and controls

194 lines (167 loc) · 4.38 KB

WarehousePG Enterprise Manager

1. Prometheus 설치

sudo dnf install wget -y
wget https://github.com/prometheus/prometheus/releases/download/v3.11.0/prometheus-3.11.0.linux-amd64.tar.gz

tar xzvf prometheus-3.11.0.linux-amd64.tar.gz
sudo mv prometheus-3.11.0.linux-amd64/prometheus /usr/local/bin/
sudo mv prometheus-3.11.0.linux-amd64/promtool /usr/local/bin/
sudo chown -R prometheus:prometheus /etc/prometheus /var/lib/prometheus
sudo tee -a /etc/prometheus/prometheus.yml << EOF
global:
  scrape_interval: 30s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
  scrape_timeout : 30s # scrape_timeout is set to the global default (10s)

# Alertmanager configuration
alerting:
  alertmanagers:
    - static_configs:
        - targets:
          # - alertmanager:9093

# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"

scrape_configs:
  - job_name: "prometheus"
    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.
    static_configs:
      - targets: ["localhost:9090"]
EOF
sudo tee -a /etc/systemd/system/prometheus.service <<EOF
[Unit]
Description=Prometheus
Wants=network-online.target
After=network-online.target

[Service]
User=prometheus
Group=prometheus
Type=simple
ExecStart=/usr/local/bin/prometheus --config.file /etc/prometheus/prometheus.yml --storage.tsdb.path /var/lib/prometheus/ --web.enable-remote-write-receiver 
#    --web.console.templates=/etc/prometheus/consoles 
#    --web.console.libraries=/etc/prometheus/console_libraries

[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable prometheus
sudo systemctl restart prometheus
sudo systemctl status prometheus

접속 방법
http://<server_IP>:9090

2. Loki 설치

Grafana Repo 설정

sudo tee /etc/yum.repos.d/grafana.repo > /dev/null <<EOF
[grafana]
name=grafana
baseurl=https://packages.grafana.com/oss/rpm
repo_gpgcheck=1
enabled=1
gpgcheck=1
gpgkey=https://packages.grafana.com/gpg.key
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
EOF
sudo dnf install loki
sudo systemctl disable loki
sudo systemctl stop loki

아래와 같이 수정.

sudo vi /etc/loki/config.yml

..
    # enable_multi_variant_queries: true
..

limits_config:
  # 초당 수신할 수 있는 전체 로그 용량 (MB) (기본값 4)
  ingestion_rate_mb: 10
  # 초당 수신할 수 있는 최대 버스트 용량 (MB) (기본값 6)
  ingestion_burst_size_mb: 20
sudo systemctl start loki
sudo systemctl status loki

3. EDB Repo 설정

export EDB_SUBSCRIPTION_TOKEN=<TOKEN 입력> 
export EDB_REPO=gpsupp
curl -1sSLf "https://downloads.enterprisedb.com/$EDB_SUBSCRIPTION_TOKEN/$EDB_REPO/setup.rpm.sh" | sudo -E bash

4. observability-collector 설치 구성.

sudo dnf download edb-whpg-observability-collector
tee -a all_host << EOF
whpg-m
whpg-sm
whpg-s1
whpg-s2
EOF

모든 노드에 rpm 복사 후 설치.

gpssh -f all_hosts -u gpadmin -e "scp gpadmin@$(hostname):edb-whpg-observability-collector*.rpm /tmp/ && sudo dnf install -y /tmp/edb-whpg-observability-collector*.rpm"

구성 파일 설정.

tee -a /var/lib/whpg-observability-collector/collector.conf << EOF
WHPG_OBS_DSN="host=whpg-m port=5432 dbname=gpadmin user=gpadmin password=gpadmin sslmode=disable"
LOKI_ENDPOINT="http://whpg-m:3100/loki/api/v1/push"
PROMETHEUS_ENDPOINT="http://whpg-m:9090/api/v1/write"
EOF

참고 Password 없이 sudo 수행 =====

sudo visudo
gpadmin ALL=(ALL) NOPASSWD: ALL

모든 노드에 alloy 구성 수행

cd /var/lib/whpg-observability-collector
./deploy-observability 
sudo systemctl status alloy
sudo systemctl enable alloy

5. WEM 설치 구성.

sudo dnf install -y whpg-enterprise-manager
export PATH=/usr/local/greenplum-db/wem:$PATH

tee -a /etc/wem/wem.conf << EOF
PORT=8082
WEM_COOKIE_SECRET=
WEM_INSECURE_COOKIES=1

WHPG_HOST=whpg-m
WHPG_PORT=5432
WHPG_DATABASE=gpadmin
WHPG_USER=gpadmin
WHPG_PASSWORD=gpadmin

PROMETHEUS_URL=http://whpg-m:9090
LOKI_URL=http://whpg-s:3100
#ALERTMANAGER_URL= http://whpg-m:9093

#ANTHROPIC_API_KEY=YOUR_API_KEY_HERE
EOF
/usr/local/greenplum-db/wem/wem setup
systemctl enable wem
systemctl start wem