2. monitoring

2.1. koncept

  • mastermonitoring + scheduler 1minuta na masteru

  • get incidents minion

  • agregate + scheduller 1m

  • checker + scheduler (xminut podle checku)

2.2. příkazy

vylistování schedulled jobů

salt 'slot2' schedule.list

spuštění jednoho jobu

salt 'slot2' schedule.run_job test_tester

2.3. interval-based notifikace

Abychom mohli monitoring provádět v intervalech stačí využít beacons. Pokud ale chceme mít možnost z GUI opakovat check, je potřeba mít kontrolu naimplementovanou jako modul, který vrací json data. Ty bude přijímat returner a vkládat do databáze.

Příklad: salt 'saltmaster' celaeno_http_module.check "https://gtdsheets.celaeno.cz/api/host/get" --returner=smartops_redis vrací:

saltmaster:
    ----------
    status:
        failed
    status_code:
        502
    url:
        https://gtdsheets.celaeno.cz/api/host/get

a současně ukládá podle vnitřní definice smartops_redis do redisu.

Výhodou je, že můžeme zaimplementovat konec výpadku při prvním úspěšném resultu a nečekat na další opakovácí interval, který může být třeba den nebo měsíc.

2.4. poznámky k monitoringu

Moduly i returnery jsou kešovány na minionech. Je potřeba volat po změně:

# refresh modulu
salt 'saltmaster' saltutil.sync_modules

# refresh returners
salt 'saltmaster' saltutil.sync_returners