From 5a202fe3fe341f287f53a4fd5a60cc9f8e063494 Mon Sep 17 00:00:00 2001 From: Huusky <22480762+Huusky@users.noreply.github.com> Date: Tue, 19 Sep 2023 20:27:39 -0400 Subject: [PATCH 1/2] Add airplanes.live --- prometheus/exporters/json_exporter/config.yml | 19 ++++++++++ prometheus/prometheus.yml | 36 +++++++++++++++++++ 2 files changed, 55 insertions(+) diff --git a/prometheus/exporters/json_exporter/config.yml b/prometheus/exporters/json_exporter/config.yml index 4bb9c95..5ceddca 100644 --- a/prometheus/exporters/json_exporter/config.yml +++ b/prometheus/exporters/json_exporter/config.yml @@ -18,6 +18,25 @@ modules: path: "{ .totalAircraft }" labels: aggregator: adsb-fi + airplanes-live: + metrics: + - name: beast_feeders + help: airplanes.live beast feeder count + path: "{ .beast }" + labels: + aggregator: airplanes.live + - name: mlat_feeders + help: airplanes.live mlat feeder count + path: "{ .mlat }" + labels: + aggregator: airplanes.live + airplanes-live-aircraft: + metrics: + - name: aircraft + help: airplanes.live tracked aircraft count + path: "{ .aircraft }" + labels: + aggregator: airplanes.live adsb-lol: metrics: - name: mlat_feeders diff --git a/prometheus/prometheus.yml b/prometheus/prometheus.yml index a111bd4..1135306 100644 --- a/prometheus/prometheus.yml +++ b/prometheus/prometheus.yml @@ -39,6 +39,42 @@ scrape_configs: target_label: instance - target_label: __address__ replacement: json_exporter:7979 + - job_name: airplanes_live_exporter + scrape_interval: 15m + scrape_timeout: 30s + metrics_path: /probe + params: + module: ["airplanes-live"] + static_configs: + - targets: + - https://api.airplanes.live/stats + relabel_configs: + - source_labels: [__address__] + target_label: __param_target + - source_labels: [module] + target_label: __param_module + - source_labels: [__param_target] + target_label: instance + - target_label: __address__ + replacement: json_exporter:7979 + - job_name: airplanes_live_aircraft_exporter + scrape_interval: 5m + scrape_timeout: 30s + metrics_path: /probe + params: + module: ["airplanes-live-aircraft"] + static_configs: + - targets: + - https://api.airplanes.live/stats + relabel_configs: + - source_labels: [__address__] + target_label: __param_target + - source_labels: [module] + target_label: __param_module + - source_labels: [__param_target] + target_label: instance + - target_label: __address__ + replacement: json_exporter:7979 - job_name: adsb_lol_exporter scrape_interval: 15m scrape_timeout: 30s From 8a2eb66fd56059a172f817db3ace5499716ef4d5 Mon Sep 17 00:00:00 2001 From: Rick Staa Date: Fri, 20 Oct 2023 15:32:12 +0200 Subject: [PATCH 2/2] feat: separate portainer --- README.md | 12 ++++++------ docker-compose.yml | 10 ---------- portainer/README.md | 7 +++++++ portainer/docker-compose.yml | 20 ++++++++++++++++++++ 4 files changed, 33 insertions(+), 16 deletions(-) create mode 100644 portainer/README.md create mode 100644 portainer/docker-compose.yml diff --git a/README.md b/README.md index 3789304..d7d2de4 100644 --- a/README.md +++ b/README.md @@ -17,13 +17,13 @@ This repository contains a [docker-compose](docker-compose.yml) file that can ru ## Docker-compose components -The `docker-compose` file spins up four containers: +The `docker-compose` file orchestrates three containers, each serving a distinct purpose: -- **Portainer**: A container that runs [Portainer](https://www.portainer.io/install) which can be used to manage the other containers (port `9443`). -- **Prometheus**: A container that runs [Prometheus](https://prometheus.io/) (port `9090`). -- **json_exporter**: A container that runs a Prometheus [Json Exporter](https://github.com/prometheus-community/json_exporter) (port `7979`). -- **adsbx_exporter**: A container that runs a [custom ADSBx exporter](prometheus/exporters/adsbx_exporter/main.go) (port `19100`). -- **Grafana**: A container runs [Grafana](https://grafana.com/) (port `3000`). +- **json_exporter**: Here resides a container running a Prometheus [Json Exporter](https://github.com/prometheus-community/json_exporter) accessible on port `7979`. +- **adsbx_exporter**: This container is dedicated to executing a [custom ADSBx exporter](prometheus/exporters/adsbx_exporter/main.go) and exposes its metrics on port `19100`. +- **Grafana**: Hosting [Grafana](https://grafana.com/), this container makes its services available on port `3000`. + +Moreover, within this repository, a [Portainer container](portainer/README.md) awaits, ready to facilitate the management of the other containers. ## Contributing diff --git a/docker-compose.yml b/docker-compose.yml index 9851e07..dcf40b5 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,16 +1,6 @@ version: "3.8" services: - portainer: - image: portainer/portainer-ce:latest - container_name: portainer - volumes: - - portainer_data:/data - - /var/run/docker.sock:/var/run/docker.sock - ports: - - 9443:9443 - - 8000:8000 - restart: unless-stopped prometheus: image: quay.io/prometheus/prometheus container_name: prometheus diff --git a/portainer/README.md b/portainer/README.md new file mode 100644 index 0000000..dd22eed --- /dev/null +++ b/portainer/README.md @@ -0,0 +1,7 @@ +# Portainer + +[Portainer's](https://www.portainer.io/) hybrid & multi-cloud container management software supports Kubernetes, Docker, Swarm in any Data Center, Cloud, Network Edge or IoT Device. + +## Installation + +First, install [Docker](https://docs.docker.com/get-docker/). Following, build and start the AdGuardHome container using the `docker compose up -d` command. diff --git a/portainer/docker-compose.yml b/portainer/docker-compose.yml new file mode 100644 index 0000000..cfa0067 --- /dev/null +++ b/portainer/docker-compose.yml @@ -0,0 +1,20 @@ +version: "3.8" + +services: + portainer: + image: portainer/portainer-ce:latest + container_name: portainer + volumes: + - portainer_data:/data + - /var/run/docker.sock:/var/run/docker.sock + ports: + - 9443:9443 + - 8000:8000 + restart: unless-stopped + +volumes: + portainer_data: + +networks: + default: + name: portainer