Changes

Metrics and Monitoring in swarm

No change in size, 14:57, 2 September 2018
no edit summary
Ha a pet szemléletet magunk mögött hagyjuk, akkor máris kézenfekvő, hogy számunkra irreleváns, hogy a swarm melyik node-ra fogja telepíteni a Prometheus-t (arra amelyik szerinte a legoptimálisabb), a lényeg, hogy garantáltan csak egy példány jöjjön belőle létre. Minket csak a portja érdekel, a port segítségével bármelyik node IP címével el lehet majd érni a load-balancolt '''ingress''' hálózaton. Ugyan ez igaz lesz a Grafana-ra is. A '''Grafana''' az '''ingress''' hálózaton keresztül bármelyik node IP címével eléri majd a Prometheus-t, és mi is a böngészőből az '''ingress''' hálózaton bármelyik node IP címével elérjük majd a '''Grafana''' konzolt.
Ellenben fontos, hogy a Prometheus a '''monitor''' overlay hálózatra is csatlakozzon, hogy közvetlenül el tudja érni a node-okon futó '''node-explorerexporter'''-t és a '''cAdvisor'''-t (emlékezzünk, hogy ezen konténereknek nem nyitottunk portot a host felé, így ezek kizárólag a '''monitor''' overlay hálózaton érhetőek el). A Grafana már csak az '''ingress''' hálózatra kell hogy csatlakozzon, mert csak a Prometheus-ból végez majd lekérdezéseket.
Elsőként swarm-on kívül tegyük rá a mg0-ra, és nyissuk ki a host OS felé a 9100-es portot, hogy lássuk, hogy milyen metrikákat ad.
A fentiekben létrehoztunk egy monitor nevű overlay hálózatot. Erre mind a Node Exporer mind a cAdviser és a Prometheus is közvetlen fog csatlakozni egy egy network interfésszel, ahol közvetlen meg tudják egymást szólítani, tehát egyáltalán nem szükséges a Node Explorer Exporter vagy a cAdviser egyik portját sem publikálni az ingres, load balanc-olt hálózatban. Azonban ha nem publikáljuk a portájt, nem tudunk a böngészőből belenézni. Ezért mielőtt swarm service-ként telepítenénk, elsőként standalon konténerként fel fogjuk rakni az mg0 node-ra, úgy hogy publikáljuk a 9100 portját, ahol a metrikákat szolgáltatja, majd a böngészővel meg fogjuk nyitni ezt a portot.
<pre>
docker run -d \
Mi az a cAdvisor ... + architectura ábra. ...
A cAdisor és a Node Explorer Exporter metrikái között van egy kis átfedés, mert a cAdivisor is szolgáltat pár OS specifikus metrikát.
A cAdivsor -t sem lenne muszáj konténerben futtatni, de így sokkal egyszerűbb. A lényeg, hogy tudja olvasni a host-on futó dockar démon állapotát, tehát a docker socket-et fel kell mountolni a cAdvisor konténernek.
</pre>
Mivel a cAdviser konténert is az mg0 node-ra tettük, ugyan azon az IP-n érhető el mint az előző példában a Node ExplorerExporter.
http://http://192.168.123.36:8080/metrics
:[[File:ClipCapIt-180902-140813.PNG]]