Prometheus config uit Docker container editten

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • Justevo
  • Registratie: September 2005
  • Laatst online: 12:44
Zoals in de titel al staat wil ik de prometheus.yml config uit een Docker container editten. In de container wordt in de prometheus config verwezen naar 'localhost' echter moet dit een ander adres zijn.

Ik draai de container op m'n Synology maar ik krijg niet gevonden waar de prometheus config dan staat wanneer ik de container start. Ik heb al via SSH proberen te zoeken maar geen succes.

Ook heb ik in plaats van de container in DSM te starten zelf geprobeerd via SSH de docker container te starten. De container start maar Prometheus wilt geen data uitlezen van het adres omdat ie dat naar mijn vermoeden alleen vanuit Prometheus in de container doet?

Is er een manier om de container, of de config file, te bewerken en deze dan opnieuw te starten?

Alle reacties


Acties:
  • +1 Henk 'm!

  • itons
  • Registratie: Oktober 2003
  • Niet online
Gaat dit over prom/Prometheus? https://hub.docker.com/r/prom/prometheus Docs beschrijven verschillende manieren om te bewerkstelligen wat je vraagt.

Zonder details over het docker image dat je gebruikt is deze vraag lastig te beantwoorden. In principe wil je 1) bij het starten van de container de configuratie meegeven 2) de configuratie op je host mounted als volume in de container 3) je configuratie in het image opnemen. De container aanpassen at runtime gaat een beetje voorbij aan het principe achter docker.

Acties:
  • 0 Henk 'm!

  • Justevo
  • Registratie: September 2005
  • Laatst online: 12:44
itons schreef op maandag 27 maart 2023 @ 20:08:
Gaat dit over prom/Prometheus? https://hub.docker.com/r/prom/prometheus Docs beschrijven verschillende manieren om te bewerkstelligen wat je vraagt.

Zonder details over het docker image dat je gebruikt is deze vraag lastig te beantwoorden. In principe wil je 1) bij het starten van de container de configuratie meegeven 2) de configuratie op je host mounted als volume in de container 3) je configuratie in het image opnemen. De container aanpassen at runtime gaat een beetje voorbij aan het principe achter docker.
Het gaat om de container https://github.com/eko/pihole-exporter. Deze bevat al Prometheus (als ik deze container op mn Ras Pi draai werkt het namelijk wel) en vandaar dat ik inderdaad bij het starten een configuratie mee wil geven. Echter is dat hetgeen waar ik ook niet aan uitkom, ook niet met behulp van de docs. Wanneer ik docker inspect containerid open zie ik daar nergens een verwijzing naar een prometheus.yml tussenstaan of locatie waar ik de prometheus settings zou kunnen aanpassen.

sudo docker run -e 'PIHOLE_HOSTNAME=192.168.1.200' -e 'PIHOLE_PASSWORD=wachtwoord' -e 'PORT=9617' -p 9617:9617 ekofr/pihole-exporter:latest
Werkt probleemloos op m'n Ras Pi en hij leest gelijk data uit. Wanneer ik exact hetzelfde doe op m'n Synology start de container wel maar leest hij geen data uit.

Once the exporter is running, you also have to update your prometheus.yml configuration to let it scrape the exporter: Dat is dus hetgeen wat ik wil doen.

[ Voor 17% gewijzigd door Justevo op 28-03-2023 00:20 ]


Acties:
  • +1 Henk 'm!

  • pennywiser
  • Registratie: November 2002
  • Laatst online: 12:11
Je moet het gebruikte image aanpassen en opnieuw pullen/starten, danwel de docker-compose file indien van toepassing. Niet de running container zelf gaan aanpassen.

Acties:
  • 0 Henk 'm!

  • itons
  • Registratie: Oktober 2003
  • Niet online
Justevo schreef op dinsdag 28 maart 2023 @ 00:13:
[...]
Once the exporter is running, you also have to update your prometheus.yml configuration to let it scrape the exporter: Dat is dus hetgeen wat ik wil doen.
Dat kan goed kloppen, want als het Ik het goed begrijp is dit image alleen een exporter, niet prometheus zelf.

Prometheus werkt “pull-based”, je definieert scrape targets en een frequentie waarop van zo’n target de metrics opgehaald worden.

Een target hoeft niet zelf de bron te zijn van de metrics, hier kan een exporter tussen zitten. Dit is een klein process die periodiek of op basis van een trigger metrics verzameld. Vaak is de trigger een binnenkomend get request op /metrics.

Pihole-exporter maakt dus verbinding met je pihole instantie, haalt metrieken op en exposed deze op een endpoint via http.

Je moet het volgende even bedenken:
1) Is je pihole te benaderen van buiten je Raspi?
2) Start je de exporter container met het adres , wachtwoord en poort van je pihole?
3) haalt de exporter de metrics succesvol op? Controleer dit op de machine waar de exporter draait op Port 9617. Of vis docker logs
4) als de metrics beschikbaar zijn is de volgende stap om te zorgen dat je exporter container te benaderen is door je Prometheus scraper
5) ergens heb je een Prometheus draaien en daar moet je de exporter toevoegen aan de configuratie

Hoop dat het helpt, success

Acties:
  • 0 Henk 'm!

  • Justevo
  • Registratie: September 2005
  • Laatst online: 12:44
itons schreef op dinsdag 28 maart 2023 @ 04:48:
[...]


Dat kan goed kloppen, want als het Ik het goed begrijp is dit image alleen een exporter, niet prometheus zelf.

Prometheus werkt “pull-based”, je definieert scrape targets en een frequentie waarop van zo’n target de metrics opgehaald worden.

Een target hoeft niet zelf de bron te zijn van de metrics, hier kan een exporter tussen zitten. Dit is een klein process die periodiek of op basis van een trigger metrics verzameld. Vaak is de trigger een binnenkomend get request op /metrics.

Pihole-exporter maakt dus verbinding met je pihole instantie, haalt metrieken op en exposed deze op een endpoint via http.

Je moet het volgende even bedenken:
1) Is je pihole te benaderen van buiten je Raspi? Ja
2) Start je de exporter container met het adres , wachtwoord en poort van je pihole? Ja
3) haalt de exporter de metrics succesvol op? Controleer dit op de machine waar de exporter draait op Port 9617. Of vis docker logs.
Nee. En dat is ook wat ik er niet aan begrijp. Ik start de container met exact hetzelfde commando. Op de Pi zie je dat hij gelijk begint te werken.

time="2023-03-28T13:38:28Z" level=info msg="Starting HTTP server"
time="2023-03-28T13:38:39Z" level=info msg="New tick of statistics from 192.168.1.200: 2544 ads blocked / 21881 total DNS queries"
Etc..

Als ik exact hetzelfde commando invoer op de Synology gebeurt er niks meer nadat de container is gestart.
time="2023-03-28T13:38:28Z" level=info msg="Starting HTTP server"

Die exporter moet toch hoe dan ook data uitlezen vanaf de Pi Hole? Of er nou Prometheus draait om de data te verzamelen of niet.

Acties:
  • 0 Henk 'm!

  • itons
  • Registratie: Oktober 2003
  • Niet online
Draait pihole op je rpi of op je synology ?

Kennelijk is er iets anders in de connectiviteit tussen rpi<->pihole en synology<->pihole

Acties:
  • 0 Henk 'm!

  • Justevo
  • Registratie: September 2005
  • Laatst online: 12:44
itons schreef op dinsdag 28 maart 2023 @ 16:28:
Draait pihole op je rpi of op je synology ?

Kennelijk is er iets anders in de connectiviteit tussen rpi<->pihole en synology<->pihole
Pihole draait op de Pi. Ik dacht inderdaad ook aan iets qua verbinding, kan de Pi wel gewoon pingen vanaf de Synology. Heb het ook al geprobeerd zonder firewall, poorten op gezet etc maar nog zonder succes.
Pagina: 1