Naš varuh je znova zagnal storitve, ki smo jih namenoma ustavili

Operacije

Ena od naših varuhov zažene katero koli od naših storitev, ki je omogočena, a ne teče. Dvakrat oktobra je zagnala storitve, ki smo jih namenoma ustavili. Drugič so obiskovalci ene od naših strani približno 45 minut dobivali napake.

Zakaj ta varuh obstaja

Storitev, ki se ob prejemu signala SIGTERM čisto zaključi, na primer ker jo je nekaj ubilo po imenu, za systemd ni »napačna« (failed). Restart=on-failure je ne vrne nazaj in systemctl --failed je ne našteje. Ostane ugasnjena, dokler je slučajno nekdo ne opazi. Zato varuh išče storitve, ki so omogočene, a ne tečejo, in jih zažene.

Težava je v tem, da je storitev, ki ste jo ustavili ročno, videti povsem enako.

Prvič

7. oktobra smo ob 12:47 z ukazom systemctl stop ustavili video delavca, da bi uredili njegovo čakalno vrsto opravil. Ob 12:55 je spet tekel: zagnal ga je varuh.

Drugič

21. oktobra smo potrebovali pomnilnik stroja, ki strežuje tudi dve od naših strani, za test modela. Skript je ustavil spletne aplikacije strani, sinhronizacijsko opravilo in kontejner baze podatkov, spet z ukazom systemctl stop. Približno pet minut pozneje ju je časovnik, ki spremlja strani, ob 19:14 pa varuh, vrnil tunel in spletne aplikacije.

Tunel je spet sprejemal promet, a spletne aplikacije niso mogle odgovarjati: testirani model je zasedel 114 GiB pomnilnika stroja. Od približno 19:14 do 20:00 so nekateri obiskovalci dobivali napake 502. Ob 20:00 smo onemogočili tunel, spletne aplikacije in sinhronizacijsko opravilo ter ustavili časovnik za spremljanje.

Pravilo, ki ga uporabljamo zdaj

Še dve pasti systemd iz istih mesecev

Factory Floor spremlja omogočene storitve, ki ne tečejo. Privzeto jih samo prijavi, zažene pa jih šele, če to vklopite. Od različice 1.0.3 njegovo opozorilo tudi pove, kako namenoma zaustaviti storitev, njegova navodila za obratovanje pa prav tako.

Posodobljeno: