Gyengus™ weblapja

Szerver offline állapotának jelzése

Van egy otthoni házi szerverem és egy tárhelyem. Szerettem volna értesítést kapni róla, ha valamelyik nem elérhető ill, ha később újra elérhetővé válik. Ehhez írtam egy Node.js alkalmazást ami ellenőrzi a szerver és a tárhely elérhetőségét és amennyiben változás áll be valamelyik állapotában meghív egy linket a megfelelő paraméterekkel. Végül amennyiben valamelyik offline állapotba kerül, a Mi Band karkötőm ezt jelzi.

A Node.js alkalmazás

A kódot nem bonyolítottam túl. Valójában csak gyorsan összedobtam. Egy json formátumú konfigurációs állományból olvassa be az ellenőrizendő linkeket. Ezeken megy végig és megpróbálja őket lekérni szimpla http lekérésekkel. A linkek állapotát PostgreSQL adatbázisba menti. Amennyiben változott valamelyik link állapota, indít egy új lekérést az IFTTT felé.
A Node.js alkalmazás megtalálható GitHubon.

Heroku

A Node.js alkalmazást nem helyezhettem el se a tárhelyemen se a szerveremen, mivel azok állapotát figyeli. Ezért úgy döntöttem, kipróbálom a Herokut, ez egy felhő szolgáltatás. Ennek a kis programnak az ingyenes csomag bőven elég. Jó a Heroku dokumentációja. Tartalmaz könnyen követhető tutorialokat, ezért nem részletezem a Node.js alkalmazás Herokura telepítését. A szerverek állapotának tárolásához szükség lesz a Heroku Postgres addon-ra, és persze egy táblára . A web dynot leállítottam, mert nincs rá szükségem, hogy weben keresztül elérhető legyen a Node.js alkalmazás.

Heroku Scheduler

A Heroku Scheduler segítségével be lehet állítani, hogy a Node.js alkalmazás meghatározott időközönként lefusson. Én 10 percre állítottam. Könnyű beállítani, csak meg kell adni a parancsot és, hogy milyen időközönként futtassa le.

Az IFTTT beállítása

Először is be kellett állítani a Maker Channel-t, csatlakozás után ad egy key-t, ezt beírtam a config.json fájl ifttt_maker_api_key nevű mezőjébe. Továbbá a mobilomra feltelepítettem az IF alkalmazást.
Ezután két szabályt kellett létrehozni:

  • Az első akkor fut le, ha offline lesz valamelyik szerver.
    Maker esemény neve: serverOffline.
    A küldendő notification: Server offline! {{Value1}} {{Value2}}
  • A másik akkor fut le, ha újra elérhető lesz az offline szerver.
    Maker esemény neve: serverOnline.
    A küldendő notification: Server online! {{Value1}} {{Value2}}

A {{Value1}} az adott szerver nevére, míg a {{Value2}} az aktuális időre lesz kicserélve. Mindkét Maker eseménynek külön linkje van.

A Mi Band ismertetése

A Mi Band egy fitnesz karkötő. Azon kívül, hogy számolja a lépéseket, monitorozza az alvást, a rezgő motorja és a 3 színes LED-je segítségével képes megjeleníteni a telefon értesítéseit.

A Mi Band Tools beállítása

A gyári program kevés beállítási lehetőséggel rendelkezik. Ellenben a Mi Band Tools segítségével nagyon aprólékosan be lehet állítani, hogy milyen értéseket, milyen formában jelenítsen meg a Mi Band.
Tehát a Mi Band Tools nevű programon belül létre kell hozni egy új szabályt az IF alkalmazásra. Én beállítottam még egy tartalom szűrőt is rá.

A fentiek eredményeként amennyiben offline állapotba kerül valamelyik szerverem, a karkötőm rezgéssel és pirosan villogással fogja ezt jelezni.

Kategóriák: Programozás
Címkék: devops, heroku, node.js
Dátum: 2016. március. 01.
Ha tetszett a cikk, oszd meg barátaiddal:
« »