From 34e7498eb27591623bf2e4abbd8ac87cb78a401e Mon Sep 17 00:00:00 2001 From: Ornel_Zply Date: Thu, 18 Dec 2025 15:21:25 +0100 Subject: [PATCH] ok --- .../loki-compactor}/loki_cluster_seed.json | 0 .../logs/docker-compose.yml | 0 .../metrics/docker-compose.yml | 0 .../visualisation/docker-compose.yml | 0 .../docker-compose.yml | 87 ------------------ .../loki-config.yaml | 59 ------------ .../loki-index/loki_cluster_seed.json | 1 - .../loki-index/uploader/name | 1 - .../loki-wal/00000004 | 0 .../loki-wal/00000005 | Bin 129126 -> 0 bytes .../loki-wal/checkpoint.000003/00000000 | 0 .../prometheus.yml | 30 ------ .../promtail-config.yaml | 26 ------ .../dev/00_app_runtime_overview.json | 40 -------- .../dashboards/dev/01_logs_by_service.json | 58 ------------ .../dashboards/ops/00_infra_overview.json | 49 ---------- .../dashboards/ops/03_prometheus_health.json | 86 ----------------- .../dashboards/ops/04_logs_loki_ops.json | 65 ------------- .../provisioning/dashboards/provider-dev.yaml | 11 --- .../provisioning/dashboards/provider-ops.yaml | 11 --- .../provisioning/datasources/prometheus.yaml | 8 -- 21 files changed, 532 deletions(-) rename {corbeille/centre_observabilite_script/loki-chunks => centre_observabilite/loki-compactor}/loki_cluster_seed.json (100%) rename corbeille/{centre_observabilite => centre_observabilite_portainer}/logs/docker-compose.yml (100%) rename corbeille/{centre_observabilite => centre_observabilite_portainer}/metrics/docker-compose.yml (100%) rename corbeille/{centre_observabilite => centre_observabilite_portainer}/visualisation/docker-compose.yml (100%) delete mode 100644 corbeille/centre_observabilite_script/docker-compose.yml delete mode 100644 corbeille/centre_observabilite_script/loki-config.yaml delete mode 100644 corbeille/centre_observabilite_script/loki-index/loki_cluster_seed.json delete mode 100644 corbeille/centre_observabilite_script/loki-index/uploader/name delete mode 100644 corbeille/centre_observabilite_script/loki-wal/00000004 delete mode 100644 corbeille/centre_observabilite_script/loki-wal/00000005 delete mode 100644 corbeille/centre_observabilite_script/loki-wal/checkpoint.000003/00000000 delete mode 100644 corbeille/centre_observabilite_script/prometheus.yml delete mode 100644 corbeille/centre_observabilite_script/promtail-config.yaml delete mode 100644 corbeille/centre_observabilite_script/visualisation/grafana/dashboards/dev/00_app_runtime_overview.json delete mode 100644 corbeille/centre_observabilite_script/visualisation/grafana/dashboards/dev/01_logs_by_service.json delete mode 100644 corbeille/centre_observabilite_script/visualisation/grafana/dashboards/ops/00_infra_overview.json delete mode 100644 corbeille/centre_observabilite_script/visualisation/grafana/dashboards/ops/03_prometheus_health.json delete mode 100644 corbeille/centre_observabilite_script/visualisation/grafana/dashboards/ops/04_logs_loki_ops.json delete mode 100644 corbeille/centre_observabilite_script/visualisation/grafana/provisioning/dashboards/provider-dev.yaml delete mode 100644 corbeille/centre_observabilite_script/visualisation/grafana/provisioning/dashboards/provider-ops.yaml delete mode 100644 corbeille/centre_observabilite_script/visualisation/grafana/provisioning/datasources/prometheus.yaml diff --git a/corbeille/centre_observabilite_script/loki-chunks/loki_cluster_seed.json b/centre_observabilite/loki-compactor/loki_cluster_seed.json similarity index 100% rename from corbeille/centre_observabilite_script/loki-chunks/loki_cluster_seed.json rename to centre_observabilite/loki-compactor/loki_cluster_seed.json diff --git a/corbeille/centre_observabilite/logs/docker-compose.yml b/corbeille/centre_observabilite_portainer/logs/docker-compose.yml similarity index 100% rename from corbeille/centre_observabilite/logs/docker-compose.yml rename to corbeille/centre_observabilite_portainer/logs/docker-compose.yml diff --git a/corbeille/centre_observabilite/metrics/docker-compose.yml b/corbeille/centre_observabilite_portainer/metrics/docker-compose.yml similarity index 100% rename from corbeille/centre_observabilite/metrics/docker-compose.yml rename to corbeille/centre_observabilite_portainer/metrics/docker-compose.yml diff --git a/corbeille/centre_observabilite/visualisation/docker-compose.yml b/corbeille/centre_observabilite_portainer/visualisation/docker-compose.yml similarity index 100% rename from corbeille/centre_observabilite/visualisation/docker-compose.yml rename to corbeille/centre_observabilite_portainer/visualisation/docker-compose.yml diff --git a/corbeille/centre_observabilite_script/docker-compose.yml b/corbeille/centre_observabilite_script/docker-compose.yml deleted file mode 100644 index cd71259..0000000 --- a/corbeille/centre_observabilite_script/docker-compose.yml +++ /dev/null @@ -1,87 +0,0 @@ -services: - prometheus: - image: prom/prometheus:latest - container_name: prometheus-observability - volumes: - - ./prometheus.yml:/etc/prometheus/prometheus.yml - command: - - '--config.file=/etc/prometheus/prometheus.yml' - ports: - - "9090:9090" - networks: - - observability - - grafana: - image: grafana/grafana:latest - container_name: grafana-observability - ports: - - "3000:3000" - volumes: - - grafana-data:/var/lib/grafana - - ./visualisation/grafana/provisioning/dashboards:/etc/grafana/provisioning/dashboards:ro - - ./visualisation/grafana/provisioning/datasources:/etc/grafana/provisioning/datasources:ro - - ./visualisation/grafana/dashboards:/var/lib/grafana/dashboards:ro - environment: - - GF_SECURITY_ADMIN_USER=admin - - GF_SECURITY_ADMIN_PASSWORD=admin - - GF_SMTP_ENABLED=true - - GF_SMTP_HOST=smtp.gmail.com:587 - - GF_SMTP_USER=kimraumilliardaire@gmail.com - - GF_SMTP_PASSWORD=vmfc xrtt yvvm gylz - - GF_SMTP_FROM_ADDRESS=kimraumilliardaire@gmail.com - - GF_SMTP_FROM_NAME=Grafana Alerts - - GF_SMTP_SKIP_VERIFY=true - networks: - - observability - depends_on: - - loki - - loki: - image: grafana/loki:2.8.2 - container_name: loki-observability - ports: - - "3100:3100" - command: -config.file=/etc/loki/local-config.yaml - user: "1000:1000" - volumes: - - ./loki-config.yaml:/etc/loki/local-config.yaml:ro - - ./loki-wal:/loki/wal - - ./loki-chunks:/loki/chunks - - ./loki-index:/loki/index - - ./loki-compactor:/loki/compactor - networks: - - observability - - promtail: - image: grafana/promtail:2.8.2 - container_name: promtail-observability - volumes: - - ./promtail-config.yaml:/etc/promtail/config.yaml - - /var/lib/docker/containers:/var/lib/docker/containers:ro - - /var/log:/var/log:ro - command: - - -config.file=/etc/promtail/config.yaml - networks: - - observability - - node_exporter: - image: prom/node-exporter:latest - container_name: node-exporter - restart: unless-stopped - pid: "host" - network_mode: "host" - volumes: - - /proc:/host/proc:ro - - /sys:/host/sys:ro - - /:/rootfs:ro - command: - - '--path.procfs=/host/proc' - - '--path.sysfs=/host/sys' - - '--collector.filesystem.ignored-mount-points="^/(sys|proc|dev|host|etc)($$|/)"' - -volumes: - grafana-data: - -networks: - observability: - driver: bridge diff --git a/corbeille/centre_observabilite_script/loki-config.yaml b/corbeille/centre_observabilite_script/loki-config.yaml deleted file mode 100644 index 1a8a768..0000000 --- a/corbeille/centre_observabilite_script/loki-config.yaml +++ /dev/null @@ -1,59 +0,0 @@ -auth_enabled: false - -server: - http_listen_port: 3100 - grpc_listen_port: 9096 - -common: - path_prefix: /loki - storage: - filesystem: - chunks_directory: /loki/chunks - rules_directory: /loki/rules - replication_factor: 1 - ring: - instance_addr: 127.0.0.1 - kvstore: - store: inmemory - -ingester: - wal: - enabled: true - dir: /loki/wal - flush_on_shutdown: true - chunk_idle_period: 5m - chunk_retain_period: 30s - max_chunk_age: 1h - lifecycler: - ring: - replication_factor: 1 - -schema_config: - configs: - - from: 2020-10-24 - store: boltdb-shipper - object_store: filesystem - schema: v11 - index: - prefix: index_ - period: 24h - -storage_config: - boltdb_shipper: - active_index_directory: /loki/index - cache_location: /loki/index - shared_store: filesystem - filesystem: - directory: /loki/chunks - -limits_config: - enforce_metric_name: false - reject_old_samples: true - reject_old_samples_max_age: 168h - ingestion_rate_mb: 10 - ingestion_burst_size_mb: 20 - -compactor: - working_directory: /loki/compactor - shared_store: filesystem - compaction_interval: 10m diff --git a/corbeille/centre_observabilite_script/loki-index/loki_cluster_seed.json b/corbeille/centre_observabilite_script/loki-index/loki_cluster_seed.json deleted file mode 100644 index 09fa3af..0000000 --- a/corbeille/centre_observabilite_script/loki-index/loki_cluster_seed.json +++ /dev/null @@ -1 +0,0 @@ -{"UID":"714e0dc1-bca9-44e1-aca6-110f8b49de5c","created_at":"2025-09-29T13:46:47.834317171Z","version":{"version":"2.8.2","revision":"9f809eda7","branch":"HEAD","buildUser":"root@e401cfcb874f","buildDate":"2023-05-03T11:07:54Z","goVersion":"go1.20.4"}} \ No newline at end of file diff --git a/corbeille/centre_observabilite_script/loki-index/uploader/name b/corbeille/centre_observabilite_script/loki-index/uploader/name deleted file mode 100644 index 8b705c5..0000000 --- a/corbeille/centre_observabilite_script/loki-index/uploader/name +++ /dev/null @@ -1 +0,0 @@ -71fb7324933a-1766058957788749433 \ No newline at end of file diff --git a/corbeille/centre_observabilite_script/loki-wal/00000004 b/corbeille/centre_observabilite_script/loki-wal/00000004 deleted file mode 100644 index e69de29..0000000 diff --git a/corbeille/centre_observabilite_script/loki-wal/00000005 b/corbeille/centre_observabilite_script/loki-wal/00000005 deleted file mode 100644 index 3ccab2f069dd842bc42c48f06ab30d500e2eec9e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 129126 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 C7J?A~ diff --git a/corbeille/centre_observabilite_script/loki-wal/checkpoint.000003/00000000 b/corbeille/centre_observabilite_script/loki-wal/checkpoint.000003/00000000 deleted file mode 100644 index e69de29..0000000 diff --git a/corbeille/centre_observabilite_script/prometheus.yml b/corbeille/centre_observabilite_script/prometheus.yml deleted file mode 100644 index b86e1c5..0000000 --- a/corbeille/centre_observabilite_script/prometheus.yml +++ /dev/null @@ -1,30 +0,0 @@ -global: - scrape_interval: 15s - -scrape_configs: - - job_name: 'prometheus' - static_configs: - - targets: ['localhost:9090'] - - - job_name: 'observabilite' - static_configs: - - targets: ['192.168.4.4:9100'] #ip de la machine observabilite - - - job_name: 'scaphandre' - static_configs: - - targets: ['192.168.4.4:8080'] - fallback_scrape_protocol: "PrometheusText1.0.0" - - - job_name: 'apache_vmservices' - static_configs: - - targets: ['192.168.56.17:9117'] #ip vmService - - - job_name: 'vms' - static_configs: - - targets: ['192.168.56.18:9100'] #ip vmHardware - - targets: ['192.168.56.17:9100'] #ip vmServices - - targets: ['192.168.56.15:9100'] #ip vmApplicatifs - - - job_name: 'tomcat' - static_configs: - - targets: ['192.168.56.15:9082'] #ip vmApplicatif diff --git a/corbeille/centre_observabilite_script/promtail-config.yaml b/corbeille/centre_observabilite_script/promtail-config.yaml deleted file mode 100644 index f8cc655..0000000 --- a/corbeille/centre_observabilite_script/promtail-config.yaml +++ /dev/null @@ -1,26 +0,0 @@ -server: - http_listen_port: 9080 - grpc_listen_port: 0 - -positions: - filename: /tmp/positions.yaml - -clients: - - url: http://loki:3100/loki/api/v1/push - -scrape_configs: - - job_name: docker_logs - static_configs: - - targets: - - localhost - labels: - job: docker - __path__: /var/lib/docker/containers/*/*.log - - - job_name: system_logs - static_configs: - - targets: - - localhost - labels: - job: syslog - __path__: /var/log/*.log \ No newline at end of file diff --git a/corbeille/centre_observabilite_script/visualisation/grafana/dashboards/dev/00_app_runtime_overview.json b/corbeille/centre_observabilite_script/visualisation/grafana/dashboards/dev/00_app_runtime_overview.json deleted file mode 100644 index 11c78fd..0000000 --- a/corbeille/centre_observabilite_script/visualisation/grafana/dashboards/dev/00_app_runtime_overview.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "title": "App Runtime Overview (Dev)", - "uid": "dev-app-runtime-overview", - "tags": ["dev","application"], - "time": { "from": "now-1h", "to": "now" }, - "schemaVersion": 42, - "panels": [ - { - "type": "timeseries", - "title": "Requests per Second (RPS)", - "gridPos": {"x":0,"y":0,"w":12,"h":8}, - "datasource": "prometheus", - "targets": [ - { "refId": "A", "expr": "sum(rate(http_requests_total[2m]))" } - ] - }, - { - "type": "timeseries", - "title": "Error Rate (%)", - "gridPos": {"x":12,"y":0,"w":12,"h":8}, - "datasource": "prometheus", - "fieldConfig": { "defaults": { "unit": "percent" }, "overrides": [] }, - "targets": [ - { "refId": "A", "expr": "sum(rate(http_requests_total{status=~\"5..\"}[2m])) / sum(rate(http_requests_total[2m])) * 100" } - ] - }, - { - "type": "timeseries", - "title": "Latency P95 (s)", - "gridPos": {"x":0,"y":8,"w":24,"h":8}, - "datasource": "prometheus", - "targets": [ - { - "refId": "A", - "expr": "histogram_quantile(0.95, sum by (le) (rate(http_request_duration_seconds_bucket[2m])))" - } - ] - } - ] -} diff --git a/corbeille/centre_observabilite_script/visualisation/grafana/dashboards/dev/01_logs_by_service.json b/corbeille/centre_observabilite_script/visualisation/grafana/dashboards/dev/01_logs_by_service.json deleted file mode 100644 index ce2f50c..0000000 --- a/corbeille/centre_observabilite_script/visualisation/grafana/dashboards/dev/01_logs_by_service.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "title": "Logs by Service (Dev)", - "uid": "dev-logs-by-service", - "tags": ["dev","logs","loki"], - "time": { "from": "now-1h", "to": "now" }, - "schemaVersion": 42, - "templating": { - "list": [ - { - "name": "service", - "label": "Service (label app)", - "type": "query", - "datasource": "loki", - "query": "label_values({app!=\"\"}, app)", - "includeAll": true, - "multi": true, - "refresh": 2, - "current": {} - } - ] - }, - "panels": [ - { - "type": "logs", - "title": "Logs – $service", - "gridPos": { "x": 0, "y": 0, "w": 24, "h": 12 }, - "datasource": "loki", - "options": { - "showLabels": true, - "showTime": true, - "wrapLogMessage": true, - "prettifyLogMessage": true - }, - "targets": [ - { - "refId": "A", - "expr": "{app=~\"$service\"}" - } - ] - }, - { - "type": "timeseries", - "title": "Error rate (logs/min) – $service", - "gridPos": { "x": 0, "y": 12, "w": 24, "h": 8 }, - "datasource": "loki", - "fieldConfig": { "defaults": { "unit": "ops" }, "overrides": [] }, - "options": { - "legend": { "showLegend": true, "placement": "bottom" } - }, - "targets": [ - { - "refId": "A", - "expr": "sum by (app)(rate({app=~\"$service\"} |~ \"(?i)(error|exception|fail|timeout)\"[5m])) * 60" - } - ] - } - ] -} diff --git a/corbeille/centre_observabilite_script/visualisation/grafana/dashboards/ops/00_infra_overview.json b/corbeille/centre_observabilite_script/visualisation/grafana/dashboards/ops/00_infra_overview.json deleted file mode 100644 index 018caaf..0000000 --- a/corbeille/centre_observabilite_script/visualisation/grafana/dashboards/ops/00_infra_overview.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "title": "Infra Overview (Ops)", - "uid": "ops-infra-overview", - "tags": ["ops","infrastructure"], - "time": { "from": "now-1h", "to": "now" }, - "schemaVersion": 42, - "panels": [ - { - "type": "timeseries", - "title": "CPU Utilization (%)", - "gridPos": {"x":0,"y":0,"w":12,"h":8}, - "datasource": "prometheus", - "fieldConfig": { "defaults": { "unit": "percent" }, "overrides": [] }, - "targets": [ - { "refId": "A", "expr": "100 - (avg by(instance)(rate(node_cpu_seconds_total{mode=\"idle\"}[2m]))*100)" } - ] - }, - { - "type": "timeseries", - "title": "Memory Utilization (%)", - "gridPos": {"x":12,"y":0,"w":12,"h":8}, - "datasource": "prometheus", - "fieldConfig": { "defaults": { "unit": "percent" }, "overrides": [] }, - "targets": [ - { "refId": "A", "expr": "((node_memory_MemTotal_bytes - node_memory_MemAvailable_bytes) / node_memory_MemTotal_bytes) * 100" } - ] - }, - { - "type": "timeseries", - "title": "Disk Space Used (bytes)", - "gridPos": {"x":0,"y":8,"w":12,"h":8}, - "datasource": "prometheus", - "fieldConfig": { "defaults": { "unit": "bytes" }, "overrides": [] }, - "targets": [ - { "refId": "A", "expr": "node_filesystem_size_bytes{fstype!~\"tmpfs|overlay\"} - node_filesystem_avail_bytes{fstype!~\"tmpfs|overlay\"}" } - ] - }, - { - "type": "timeseries", - "title": "Host Power (Watts) - Scaphandre", - "gridPos": {"x":12,"y":8,"w":12,"h":8}, - "datasource": "prometheus", - "fieldConfig": { "defaults": { "unit": "watt" }, "overrides": [] }, - "targets": [ - { "refId": "A", "expr": "scaph_host_power_microwatts / 1e6" } - ] - } - ] -} diff --git a/corbeille/centre_observabilite_script/visualisation/grafana/dashboards/ops/03_prometheus_health.json b/corbeille/centre_observabilite_script/visualisation/grafana/dashboards/ops/03_prometheus_health.json deleted file mode 100644 index 4299647..0000000 --- a/corbeille/centre_observabilite_script/visualisation/grafana/dashboards/ops/03_prometheus_health.json +++ /dev/null @@ -1,86 +0,0 @@ -{ - "title": "Prometheus Health (Ops)", - "uid": "ops-prom-health", - "tags": ["ops","prometheus","health"], - "time": { "from": "now-1h", "to": "now" }, - "schemaVersion": 42, - "panels": [ - { - "type": "stat", - "title": "Targets DOWN (total)", - "gridPos": { "x": 0, "y": 0, "w": 6, "h": 4 }, - "datasource": "prometheus", - "fieldConfig": { "defaults": { "unit": "none" }, "overrides": [] }, - "options": { "reduceOptions": { "calcs": ["lastNotNull"], "fields": "" } }, - "targets": [ - { "refId": "A", "expr": "sum(1 - up)" } - ] - }, - { - "type": "stat", - "title": "Alerts firing", - "gridPos": { "x": 6, "y": 0, "w": 6, "h": 4 }, - "datasource": "prometheus", - "fieldConfig": { "defaults": { "unit": "none" }, "overrides": [] }, - "options": { "reduceOptions": { "calcs": ["lastNotNull"], "fields": "" } }, - "targets": [ - { "refId": "A", "expr": "count(ALERTS{alertstate=\"firing\"})" } - ] - }, - { - "type": "stat", - "title": "Ingest rate (samples/s)", - "gridPos": { "x": 12, "y": 0, "w": 12, "h": 4 }, - "datasource": "prometheus", - "fieldConfig": { "defaults": { "unit": "ops" }, "overrides": [] }, - "options": { "reduceOptions": { "calcs": ["lastNotNull"] } }, - "targets": [ - { "refId": "A", "expr": "rate(prometheus_tsdb_head_samples_appended_total[5m])" } - ] - }, - { - "type": "timeseries", - "title": "Targets UP by job", - "gridPos": { "x": 0, "y": 4, "w": 12, "h": 8 }, - "datasource": "prometheus", - "fieldConfig": { "defaults": { "unit": "none" }, "overrides": [] }, - "options": { "legend": { "showLegend": true, "placement": "bottom" } }, - "targets": [ - { "refId": "A", "expr": "sum by(job)(up)" } - ] - }, - { - "type": "timeseries", - "title": "Scrape duration (s) by job", - "gridPos": { "x": 12, "y": 4, "w": 12, "h": 8 }, - "datasource": "prometheus", - "fieldConfig": { "defaults": { "unit": "s" }, "overrides": [] }, - "options": { "legend": { "showLegend": true, "placement": "bottom" } }, - "targets": [ - { "refId": "A", "expr": "avg by(job)(scrape_duration_seconds)" } - ] - }, - { - "type": "timeseries", - "title": "Rule group eval duration (s)", - "gridPos": { "x": 0, "y": 12, "w": 12, "h": 8 }, - "datasource": "prometheus", - "fieldConfig": { "defaults": { "unit": "s" }, "overrides": [] }, - "options": { "legend": { "showLegend": true, "placement": "bottom" } }, - "targets": [ - { "refId": "A", "expr": "max by(rule_group) (prometheus_rule_group_last_duration_seconds)" } - ] - }, - { - "type": "timeseries", - "title": "TSDB head chunks", - "gridPos": { "x": 12, "y": 12, "w": 12, "h": 8 }, - "datasource": "prometheus", - "fieldConfig": { "defaults": { "unit": "short" }, "overrides": [] }, - "options": { "legend": { "showLegend": true, "placement": "bottom" } }, - "targets": [ - { "refId": "A", "expr": "prometheus_tsdb_head_chunks" } - ] - } - ] -} diff --git a/corbeille/centre_observabilite_script/visualisation/grafana/dashboards/ops/04_logs_loki_ops.json b/corbeille/centre_observabilite_script/visualisation/grafana/dashboards/ops/04_logs_loki_ops.json deleted file mode 100644 index 41dc7d4..0000000 --- a/corbeille/centre_observabilite_script/visualisation/grafana/dashboards/ops/04_logs_loki_ops.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "title": "Logs – Ops (Errors & System)", - "uid": "ops-logs-errors", - "tags": ["ops","logs","loki"], - "time": { "from": "now-2h", "to": "now" }, - "schemaVersion": 42, - "templating": { - "list": [ - { - "name": "job", - "label": "Job", - "type": "query", - "datasource": "loki", - "query": "label_values(job)", - "includeAll": true, - "multi": true, - "refresh": 2 - }, - { - "name": "instance", - "label": "Instance", - "type": "query", - "datasource": "loki", - "query": "label_values({job=~\"$job\"}, instance)", - "includeAll": true, - "multi": true, - "refresh": 2 - } - ] - }, - "panels": [ - { - "type": "timeseries", - "title": "Error rate by instance (logs/min)", - "gridPos": { "x": 0, "y": 0, "w": 24, "h": 8 }, - "datasource": "loki", - "fieldConfig": { "defaults": { "unit": "ops" }, "overrides": [] }, - "options": { "legend": { "showLegend": true, "placement": "bottom" } }, - "targets": [ - { - "refId": "A", - "expr": "sum by (instance)(rate({job=~\"$job\", instance=~\"$instance\"} |~ \"(?i)(critical|error|err)\"[5m])) * 60" - } - ] - }, - { - "type": "logs", - "title": "Recent critical & errors – $job / $instance", - "gridPos": { "x": 0, "y": 8, "w": 24, "h": 14 }, - "datasource": "loki", - "options": { - "showLabels": true, - "showTime": true, - "wrapLogMessage": true, - "prettifyLogMessage": true - }, - "targets": [ - { - "refId": "A", - "expr": "{job=~\"$job\", instance=~\"$instance\"} |~ \"(?i)(critical|error|err|panic|oom)\"" - } - ] - } - ] -} diff --git a/corbeille/centre_observabilite_script/visualisation/grafana/provisioning/dashboards/provider-dev.yaml b/corbeille/centre_observabilite_script/visualisation/grafana/provisioning/dashboards/provider-dev.yaml deleted file mode 100644 index 709a72d..0000000 --- a/corbeille/centre_observabilite_script/visualisation/grafana/provisioning/dashboards/provider-dev.yaml +++ /dev/null @@ -1,11 +0,0 @@ -apiVersion: 1 -providers: - - name: "dev-dashboards" - orgId: 1 - folder: "Dev – Application & Qualité" # Nom du dossier - type: file - disableDeletion: false - editable: true - updateIntervalSeconds: 30 - options: - path: /var/lib/grafana/dashboards/dev diff --git a/corbeille/centre_observabilite_script/visualisation/grafana/provisioning/dashboards/provider-ops.yaml b/corbeille/centre_observabilite_script/visualisation/grafana/provisioning/dashboards/provider-ops.yaml deleted file mode 100644 index 8d042da..0000000 --- a/corbeille/centre_observabilite_script/visualisation/grafana/provisioning/dashboards/provider-ops.yaml +++ /dev/null @@ -1,11 +0,0 @@ -apiVersion: 1 -providers: - - name: "ops-dashboards" - orgId: 1 - folder: "Ops – Infrastructure & Plateforme" # Nom du dossier - type: file - disableDeletion: false - editable: true - updateIntervalSeconds: 30 - options: - path: /var/lib/grafana/dashboards/ops diff --git a/corbeille/centre_observabilite_script/visualisation/grafana/provisioning/datasources/prometheus.yaml b/corbeille/centre_observabilite_script/visualisation/grafana/provisioning/datasources/prometheus.yaml deleted file mode 100644 index 3c25da3..0000000 --- a/corbeille/centre_observabilite_script/visualisation/grafana/provisioning/datasources/prometheus.yaml +++ /dev/null @@ -1,8 +0,0 @@ -apiVersion: 1 -datasources: - - name: prometheus - type: prometheus - access: proxy - url: http://prometheus:9090 - isDefault: true - editable: true