Majordomo nesbírá data

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 :wink: ) 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).

1 Like