Tak já to tu taky zkusím. Na VPS mi běží GitLab, po několika dnech začne web vracet 502. Služba gitlab.service hlásí inactive (dead) (code=killed, signal=TERM). Podle logů to vypadá na korektní ukončení, server dostal TERM signal a ukončil se. Dá se zjistit, kdo (uživatel/proces) ten signál posílá?
Systémový OOM killer to není, ten v logu vidím a chodí mail.
Dá se to řešit Restart=on-failure, ale chtěl bych zjistit, co se tam stane. Taky to myslím nenastartuje služby, které jsou na gitlab navázané (gitlab-pages atp.), ale to je asi řešitelné.
Podezírám samotný gitlab, že narazí na nějaký limit a sám se ukončí.
V samotném ukončeném procesu, to lze vyčíst ze siginfo_t v custom signal handleru (viz sigaction(2)).
Zvenku to lze pomocí kernel tracingu (tracefs), na to ale asi VPS nemá privilegia (a tohle hádám bude dělat i ten killsnoop).
Stejně bych podezíral systemd (dle .service), tak bych zkusil tomu zvýšit verbositu a sledovat tyhle logy.
Dík za reakci, o siginfo_t jsem nevěděl, myslel jsem si, že jde zjistit jen kód signálu. Přidal jsem handler, zkusil zvýšit logování a čekám, až se to stane znovu.
(neslibuju, ale principialne se v nejblizsi dobe nebranim povoleni tracingu, nejdriv musim dodelat kernel tracking loadavg v kontejnerech, protoze ten z lxcfs trochu saje)
Přidal jsem přes FFI do pumy (ruby server) vypisování informací ze siginfo. Někdy to fungovalo, většinou spíš ne, vypsaná čísla nebyly platné hodnoty. Tuším, že ruby v signal handleru může být problematické.
systemd to nedělá, stejně se to chovalo, i když proces běžel mimo službu. Pomohlo přidat puma workery, dřív to běželo v single mode. Z nějakého důvodu ten worker skončil. V GitLabu jsem dřív viděl restarty workerů po x requestech / překročení pamětí, tak si myslím, že to někde zůstalo i pro single mód.
Možno trochu od veci ale k téme:
Ja som sa staral o gilLab dosť dlho a tiež som riešil množstvo problémov. Nakoniec som sa poobzeral po alternatíve a našiel som giTea. Git server napísaný v Go. Nasadil som ho a odvtedy všetko beží krásne a bez starostí. Ja iba aktualizujem. Vrelo odporúčam.
Na okraj k tracingu ve VPS: nejak rozumne bezpecne to povolit snadno nepujde, ale tady je videt, ze na tom nekdo dela; bude na to eventualne novy namespace, ktery teda bude muset ziskat podporu i od tech tracing userspace toolu - TLDR: nejakou chvili to jeste potrva, ale tracing bude \o/