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