Monitoring applicaties op Pi lukt niet.

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Peutpeut
  • Registratie: December 2013
  • Laatst online: 23-10 12:35
Sinds een half jaar gebruik ik een Pi om Domoticz, InfluxDB en Grafana te draaien. Deze processen monitor ik via Monit en het eea is bereikbaar via een reverse proxy dmv Caddy. Echter lukt het me niet om InfluxDB en Caddy te monitoren in Monit.

Weet iemand of dit mogelijk is en zo ja hoe? Een zoektocht levert me zo snel geen antwoord op, blijkbaar zijn er geen PID files voor deze services of ze zijn goed verstopt. :)

14590 Wp PV | 14.4 kWh Thuisaccu


Acties:
  • 0 Henk 'm!

  • tsjoender
  • Registratie: April 2005
  • Laatst online: 09:38
Peutpeut schreef op maandag 10 februari 2020 @ 18:30:
Sinds een half jaar gebruik ik een Pi om Domoticz, InfluxDB en Grafana te draaien. Deze processen monitor ik via Monit en het eea is bereikbaar via een reverse proxy dmv Caddy. Echter lukt het me niet om InfluxDB en Caddy te monitoren in Monit.

Weet iemand of dit mogelijk is en zo ja hoe? Een zoektocht levert me zo snel geen antwoord op, blijkbaar zijn er geen PID files voor deze services of ze zijn goed verstopt. :)
Je zou checks op het ip / portnummer kunnen doen. Zoiets (niet mijn eigen werk, maar voorbeeldje via Google):

code:
1
2
3
4
check host myhost with address 0.0.0.0
if failed port 80 then alert
if failed port 843 then alert
alert username@example.com with reminder on 5 cycles


Is denk ik zelfs mooier dan pid files controleren, want een proces kan stoppen zonder de pid file op te ruimen. Voor Caddy zou je ook nog een HTTP check kunnen doen op een site achter Caddy:

https://mmonit.com/monit/documentation/monit.html#HTTP

[ Voor 6% gewijzigd door tsjoender op 11-02-2020 09:12 ]


Acties:
  • +1 Henk 'm!

  • SA007
  • Registratie: Oktober 2002
  • Laatst online: 24-10 19:00

SA007

Moderator Tweaking
Afgesplitst van Raspberry Pi - deel 2

Nogal een softwarevraag die niet specifiek afhankelijk is van of het op een Pi draait :)

Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 16:50

Hero of Time

Moderator LNX

There is only one Legend

Is de status wel via systemd op te vragen? Dan die parsen, daar staat trouwens ook het PID bij.

Commandline FTW | Tweakt met mate


Acties:
  • +1 Henk 'm!

  • Peutpeut
  • Registratie: December 2013
  • Laatst online: 23-10 12:35
tsjoender schreef op dinsdag 11 februari 2020 @ 09:09:
[...]


Je zou checks op het ip / portnummer kunnen doen. Zoiets (niet mijn eigen werk, maar voorbeeldje via Google):

code:
1
2
3
4
check host myhost with address 0.0.0.0
if failed port 80 then alert
if failed port 843 then alert
alert username@example.com with reminder on 5 cycles


Is denk ik zelfs mooier dan pid files controleren, want een proces kan stoppen zonder de pid file op te ruimen. Voor Caddy zou je ook nog een HTTP check kunnen doen op een site achter Caddy:

https://mmonit.com/monit/documentation/monit.html#HTTP
Dit is inmiddels gelukt, dank!
Hero of Time schreef op dinsdag 11 februari 2020 @ 20:27:
Is de status wel via systemd op te vragen? Dan die parsen, daar staat trouwens ook het PID bij.
Dat is chinees voor mij, het tweede deel in ieder geval. Via het commando
code:
1
sudo service caddy status

is de PID wel op te vragen inderdaad. Het voordeel van het gebruik van de PID is dat ik bij de andere processen (domoticz, pihole, unifi) ook meteen een overzicht heb van welke resources (CPU, RAM) deze processen in beslag nemen.

[ Voor 28% gewijzigd door Peutpeut op 13-02-2020 18:49 ]

14590 Wp PV | 14.4 kWh Thuisaccu


Acties:
  • +1 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 16:50

Hero of Time

Moderator LNX

There is only one Legend

Gewoon het volgende doen (overigens, leer dat 'service' commando af, dat werd jaren geleden gebruikt, nu niet meer):
systemctl status caddy

Heb je ook geen root rechten voor nodig trouwens. En dan de uitvoer verwerken. Ik pak sshd even als voorbeeld.
Bash:
1
2
3
4
5
6
7
8
9
10
11
12
$ systemctl status sshd
● ssh.service - OpenBSD Secure Shell server
     Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2020-01-23 19:54:36 CET; 2 weeks 6 days ago
       Docs: man:sshd(8)
             man:sshd_config(5)
    Process: 657 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS)
   Main PID: 716 (sshd)
      Tasks: 1 (limit: 9491)
     Memory: 3.0M
     CGroup: /system.slice/ssh.service
             └─716 /usr/sbin/sshd -D

Main PID is wat je wilt hebben, dus:
Bash:
1
2
$ systemctl status sshd | grep PID
   Main PID: 716 (sshd)

Enige wat je hoeft te hebben, is het getal:
Bash:
1
2
$ systemctl status sshd | grep PID | awk '{print $3}'
716

Voilá, je hebt het PID direct beschikbaar. Je kan awk ook vervangen voor cut of andere commando's om uitvoer op te knippen. Ik ben zelf niet zo behendig in awk, dus heb ik er eerst nog grep voor staan, maar gegarandeerd dat je dat ook zonder kan en met alleen awk aan het antwoord kan komen.


Edit:
Hieronder is veel eleganter.

Commandline FTW | Tweakt met mate


Acties:
  • +3 Henk 'm!

  • Raynman
  • Registratie: Augustus 2004
  • Laatst online: 16:46
Of even de man page lezen:
This function is intended to generate human-readable output. If you are looking for computer-parsable output, use show instead.
Dus:
systemctl show --value --property=MainPID caddy
Pagina: 1