Initial skills documentation — 25 categories, all SKILL.md + references + scripts
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
prometheus:
|
||||
image: prom/prometheus:latest
|
||||
container_name: prometheus
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- ./prometheus.yml:/etc/prometheus/prometheus.yml
|
||||
- prometheus_data:/prometheus
|
||||
command:
|
||||
- '--config.file=/etc/prometheus/prometheus.yml'
|
||||
- '--storage.tsdb.path=/prometheus'
|
||||
- '--storage.tsdb.retention.time=90d'
|
||||
ports:
|
||||
- "127.0.0.1:9090:9090"
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '1'
|
||||
memory: 1G
|
||||
logging:
|
||||
driver: json-file
|
||||
options:
|
||||
max-size: "10m"
|
||||
max-file: "3"
|
||||
|
||||
grafana:
|
||||
image: grafana/grafana:latest
|
||||
container_name: grafana
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- prometheus
|
||||
volumes:
|
||||
- grafana_data:/var/lib/grafana
|
||||
- ./grafana-provisioning:/etc/grafana/provisioning
|
||||
environment:
|
||||
- GF_SECURITY_ADMIN_USER=admin
|
||||
- GF_SECURITY_ADMIN_PASSWORD=ITProPartnerMonitor!
|
||||
- GF_INSTALL_PLUGINS=
|
||||
ports:
|
||||
- "127.0.0.1:3002:3000"
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '1'
|
||||
memory: 512M
|
||||
logging:
|
||||
driver: json-file
|
||||
options:
|
||||
max-size: "10m"
|
||||
max-file: "3"
|
||||
|
||||
volumes:
|
||||
prometheus_data:
|
||||
grafana_data:
|
||||
@@ -0,0 +1,16 @@
|
||||
# Grafana provisioning — Prometheus datasource
|
||||
# Mount this file to /etc/grafana/provisioning/datasources/prometheus.yml
|
||||
apiVersion: 1
|
||||
|
||||
datasources:
|
||||
- name: Prometheus
|
||||
type: prometheus
|
||||
access: proxy
|
||||
url: http://prometheus:9090
|
||||
isDefault: true
|
||||
editable: false
|
||||
uid: prometheus
|
||||
jsonData:
|
||||
timeInterval: "60s"
|
||||
queryTimeout: "30s"
|
||||
httpMethod: POST
|
||||
@@ -0,0 +1,46 @@
|
||||
# Prometheus configuration for IT Pro Partner infrastructure
|
||||
# Scrapes:
|
||||
# 1. Ops Portal backend (FastAPI /metrics)
|
||||
# 2. Node Exporter on Core server
|
||||
# 3. Node Exporter on each Hetzner server
|
||||
# 4. (Optional) Prometheus self-monitoring
|
||||
global:
|
||||
scrape_interval: 60s # Every 60s for all targets
|
||||
evaluation_interval: 60s
|
||||
scrape_timeout: 10s
|
||||
|
||||
rule_files:
|
||||
- "alerts.yml"
|
||||
|
||||
scrape_configs:
|
||||
# Self-monitoring
|
||||
- job_name: 'prometheus'
|
||||
static_configs:
|
||||
- targets: ['localhost:9090']
|
||||
|
||||
# Ops Portal backend metrics
|
||||
- job_name: 'ops-portal'
|
||||
static_configs:
|
||||
- targets: ['127.0.0.1:8090']
|
||||
metrics_path: /metrics
|
||||
|
||||
# Core server (netcup) — node exporter on port 9100
|
||||
- job_name: 'node-core'
|
||||
static_configs:
|
||||
- targets: ['127.0.0.1:9100']
|
||||
metrics_path: /metrics
|
||||
|
||||
# Hetzner servers — node exporter on each
|
||||
- job_name: 'node-hetzner'
|
||||
static_configs:
|
||||
- targets:
|
||||
- '5.161.62.38:9100' # wphost02
|
||||
- '5.161.225.131:9100' # unms
|
||||
- '178.156.131.57:9100' # unifi
|
||||
- '178.156.130.130:9100' # hudu
|
||||
- '178.156.149.32:9100' # fleettracker360
|
||||
- '178.156.168.35:9100' # docker
|
||||
- '178.156.167.181:9100' # ai
|
||||
- '5.161.114.8:9100' # app1-bu
|
||||
- '87.99.144.163:9100' # app1 (n8n)
|
||||
- '87.99.159.142:9100' # tony-vps
|
||||
Reference in New Issue
Block a user