Nagios Checker pro Mac OS X – vlastní widget do dashboardu

Ještě před rokem jsem si neuměl představit, že bych používal jiný webový porhlížeč než je Firefox. Docela mi vadilo, že se Firefox chová dost často jako lenochod. Postupně jsem se tedy naučil používat Safari – má vše potřebné – adblock a umí si pamatovat loginy/hesla tam kde potřebuji. Poslední věc, která mi brání vo opuštění Firefoxu je rozšíření Nagios Checker. Hledal jsem a nějak nenacházel použitelný plugin/widget/cokoliv co by nahradilo Nagios Checker ve Firefoxu. Rozhodl jsem se tedy pro vlastní tvorbu. Zatím jsem na začátku – učím se jak programovat widgety pro dashboard.

Nagios Checker pro Mac OS X

Screen shot 2011 02 06 at 21 42 34

Je to tak trochu boj, zatím jsem dosáhl základního stavu – naučil jsem se jak pracovat se základníma komponentama a jak tahat data z webu. Zatím mi nejvíc času sebral výzkum jak parsovat data stažená z webu – nagiosí status.cgi generuje dost hnusný kód.

Grafické prvky klikám kompletně v Dashcode, javascript se vlastně učím za běhu – nikdy jsem v něm nic nedělal. Nepovažuji se za programátora, takže nevím jestli je to normální, ale najít dokumentaci k těm všem hejblatům co Apple dodává jako hotové komponenty pro tvorbu aplikací s Dashcode mi připadá nemožné. Nakonec jsem skončil u koukání do zdrojáků (…javascript).

První přenesená a rozparsovaná data:

Screen shot 2011 02 06 at 21 43 26

Nastavení správnéh URL nagiosího skriptu status.cgi rovnou kontroluji:

Screen shot 2011 02 06 at 21 57 25

Screen shot 2011 02 06 at 21 57 52

 

Screen shot 2011 02 06 at 21 58 06

 

Je mi jasné, že je to nic moc, ale mám z toho malého okénka docela radost 🙂 Je to vlastně má první “desktopová” aplikace, jestli se to za ní dá považovat 🙂 Když už jsem do teď byl nucen něco programovat, tak jsem skriptoval pro unix nebo páchal zlo v Identity Manageru.

Jaké vidím další pokračování?

  • Dořeším získávání informací o výpadcích
    • servery, služby
    • jak dlouho výpadek trvá
    • rozlišení mezi varováním a průšvihem
  • Učešu GUI a otestuji to celkově při dlouhodobém provozu
    • Přidám možnost zvolit si základní filtrování co se má zobrazovat a na co upozorňovat
    • Lokalizace cs a en
  • Zveřejním widget pro ostatní uživatele
  • Přidám podporu pro zvukové upozornění
  • Přidám podporu pro notifikace přes Growl