Majordomo je proces lcollect
, který je (nejspíše) napojený na ucollect
. Pokud lcollect
nejede (ucollect
musí jet vždy) nesbírá se nic do databáze. Jestli lcollect
něco dává do logu to netuším.
Mohu jen popsat co jsem zjistil, jak se chová při běhu, když jsem zkoumal proč to nepřekládá IP adresy na jména.
Když běží vytváří se v /tmp
soubor ucollect_majordomo
ze kterého se co pět minut příkazem majordomo_db.sh downsize
(viz /etc/cron.d/majordomo
) připisují údaje do souboru /tmp/majordomo_downsize
.
Z něho se potom každou hodinu příkazem majordomo_db.sh genhour
zapisuje do složky databáze hodinový soubor, z nich potom ten samý příkaz vytváří (konsoliduje) i denní a měsíční soubor databáze.
Databázi se pokouší překládat (také každou hodinu) poslední příkaz majordomo_locked_precache.sh
(v /etc/cron.d/majordomo
), ale jelikož začíná s překladem denních souborů (vzestupně od nejstaršího), poté hodinových souborů (taktéž vzestupně od nejstaršího) a až nakonec by překládal měsíční soubory databáze (ty jsou vidět při pohlížení databáze v Luci jako první). K nim se bohužel už většinou nedostane, protože tento příkaz má časovač, který ho po 45 minutách zabije.
Já jsem překlad databáze vyřešil tak, že jsem zakázal poslední řádek majordomo v cronu (na začátek #) a vytvořil jiný soubor s tímto obsahem:
MAILTO=""
# m h dom mon dow user command
4 0 1 * * root majordomo_cache.lua precache
#
, který mi překládá databázi jednou měsíčně (na flash/SSD všeho moc škodí). (Při mé celkové velikosti databáze cca 95 000 IP adres (za rok a něco), to trvá asi hodinu a půl. )
Na téma překladu databáze jsem vedl s podporou sáhodlohé rozhovory (jedna odpověď co dva týdny ) a bylo mi při tom řečeno, že pracují na nějakém lepším řešení (hlavně asi v oblasti zobrazování údajů z databáze v Luci).