14590 Wp PV | 14.4 kWh Thuisaccu
Je zou checks op het ip / portnummer kunnen doen. Zoiets (niet mijn eigen werk, maar voorbeeldje via Google):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.
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 ]
Afgesplitst van Raspberry Pi - deel 2
Nogal een softwarevraag die niet specifiek afhankelijk is van of het op een Pi draait
Nogal een softwarevraag die niet specifiek afhankelijk is van of het op een Pi draait
Is de status wel via systemd op te vragen? Dan die parsen, daar staat trouwens ook het PID bij.
Commandline FTW | Tweakt met mate
Dit is inmiddels gelukt, dank!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
Dat is chinees voor mij, het tweede deel in ieder geval. Via het commandoHero 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.
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
Gewoon het volgende doen (overigens, leer dat 'service' commando af, dat werd jaren geleden gebruikt, nu niet meer):
Heb je ook geen root rechten voor nodig trouwens. En dan de uitvoer verwerken. Ik pak sshd even als voorbeeld.
Main PID is wat je wilt hebben, dus:
Enige wat je hoeft te hebben, is het getal:
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.
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
Of even de man page lezen:
Dus:This function is intended to generate human-readable output. If you are looking for computer-parsable output, use show instead.
systemctl show --value --property=MainPID caddy
Pagina: 1