Sisällysluettelo:

Seroma: Palvelinhuoneen hallinta: 20 vaihetta
Seroma: Palvelinhuoneen hallinta: 20 vaihetta

Video: Seroma: Palvelinhuoneen hallinta: 20 vaihetta

Video: Seroma: Palvelinhuoneen hallinta: 20 vaihetta
Video: Что такое серома? Почему возникает серома? Профилактика серомы после пластической операции 2024, Heinäkuu
Anonim
Seroma: Palvelinhuonepäällikkö
Seroma: Palvelinhuonepäällikkö

Seroma on all-in-one-palvelinhuoneiden hallintaohjelma, jonka avulla käyttäjät voivat tarkistaa palvelimien tilan (lämpötila ja kosteus), palvelinhuoneen käyttölokit sekä seurata itse palvelintilaa mahdollisten tietoturvaloukkausten varalta.

Vaihe 1: Kirjaudu AWS -tiliisi

Kirjaudu AWS -tilillesi
Kirjaudu AWS -tilillesi
Kirjaudu AWS -tilillesi
Kirjaudu AWS -tilillesi
Kirjaudu AWS -tilillesi
Kirjaudu AWS -tilillesi
Kirjaudu AWS -tilillesi
Kirjaudu AWS -tilillesi
  1. Omasta puolestamme kirjauduimme sisään AWS Educate -yhdyskäytävän kautta, koska meillä on opiskelija -aws -tili.
  2. Siirry oikeassa yläkulmassa olevan navigointivalikon "AWS-tili" -välilehdelle.
  3. Napsauta "Siirry AWS Educate Starter -tilillesi"
  4. Avaa konsoli päästäksesi AWS -hallintakonsoliin.

Vaihe 2: Aloittaminen AWS IOT -asioiden kanssa

AWS IOT: n käytön aloittaminen
AWS IOT: n käytön aloittaminen
AWS IOT: n käytön aloittaminen
AWS IOT: n käytön aloittaminen
  1. Hae "AWS IoT" AWS -palveluiden hakupalkista.
  2. Napsauta "Aloita" siirtyäksesi AWS IoT Console -hallintapaneeliin, jossa voit tarkastella kaikkia AWS -tiliisi rekisteröityjä IoT -laitteita.

Vaihe 3: AWS IOT -asiakirjan rekisteröiminen

AWS IOT: n rekisteröinti
AWS IOT: n rekisteröinti
AWS IOT: n rekisteröinti
AWS IOT: n rekisteröinti
AWS IOT: n rekisteröinti
AWS IOT: n rekisteröinti
  1. Siirry navigointipalkissa IoT -asioiden hallintaan.
  2. Napsauta”Rekisteröi asia”, jos sinulla ei vielä ole asiaa. (Jos sinulla on jo jotain, napsauta "Luo" -painiketta näytön oikeassa yläkulmassa haku -välilehden vieressä.)
  3. Napsauta ensimmäistä painiketta "Luo yksi asia".
  4. Kirjoita "RaspberryPi" asian nimeksi. Tässä vaiheessa muita tietoja kuin "Nimi" ei tarvita. Napsauta sen jälkeen seuraava.

Vaihe 4: Varmenteen aktivointi

Varmenteen aktivointi
Varmenteen aktivointi
Varmenteen aktivointi
Varmenteen aktivointi
  1. Napsauta seuraavassa vaiheessa”luo varmenne” -painiketta.
  2. Lataa ja tallenna 4 latauslinkkiä seuraavalla sivulla toimivaan hakemistoon tai kansioon. Jos haluat tallentaa CA-juuritiedoston, napsauta sitä hiiren kakkospainikkeella ja tallenna nimellä.
  3. Napsauta "Aktivoi" ja onnistumisilmoituksen pitäisi ilmestyä.
  4. Käytä tiedostoille ystävällisiä nimiä poistamalla kunkin tiedostonimen edessä olevat numerot ja nimeä CA -juuritiedosto uudelleen nimeksi "rootca.pem".
  5. Jatka napsauttamalla "Liitä käytäntö".

Vaihe 5: Käytännön lisääminen varmenteeseen

Käytännön lisääminen varmenteeseen
Käytännön lisääminen varmenteeseen
Käytännön lisääminen varmenteeseen
Käytännön lisääminen varmenteeseen
Käytännön lisääminen varmenteeseen
Käytännön lisääminen varmenteeseen
  1. Jos sinulla ei ole käytäntöä seuraavalla sivulla, sinua kehotetaan luomaan käytäntö Luo käytäntö -painikkeella.
  2. Jos sinulla on jo käytäntö, napsauta alla olevaa Luo uusi käytäntö -painiketta.
  3. Lisää seuraavat tiedot käytännön luontilomakkeeseen.

    Nimi: RaspberryPiSecurityPolicy

    Toimi: jot:*

    Resurssin ARN: *

    Vaikutus: Salli

  4. Käytäntösi pitäisi sitten näkyä "Suojaus" -kohdan "Käytäntö" -välilehdessä.
  5. Siirry seuraavaksi "Varmenteet" -välilehdelle, joka on myös "Suojaus" -kohdassa, ja liitä käytäntö aiemmin luomallesi varmenteelle.
  6. Napsauta seuraavalla sivulla käytäntöäsi ja napsauta sitten Liitä.
  7. Luomasi kohteen Tiedot -sivun "Vuorovaikutus" -välilehdessä on REST -sovellusliittymän päätepiste, joka tulee kopioida ja tallentaa.
  8. AWS: llä pitäisi nyt olla asia, joka on liitetty käytäntöön ja jolla on varmenne.

Vaihe 6: AWS SNS -aiheen alkuasetukset

AWS SNS -aiheen alkuasetukset
AWS SNS -aiheen alkuasetukset
AWS SNS -aiheen alkuasetukset
AWS SNS -aiheen alkuasetukset

SSH Raspberry Pi: hen ja asenna AWS CLI käyttämällä seuraavaa pip -komentoa:

sudo pip asenna awscli

AWS CLI sisältää komentojen suoritusominaisuuden, mutta sitä ei ole asennettu oletusarvoisesti. Käytä seuraavaa komentoa asentaaksesi komennon suoritusominaisuuden Raspberry Pi: n CLI -käyttöliittymään:

täydellinen -C aws_completer aws

Määritä AWS CLI käyttöavaintunnuksella, salaisella käyttöavaimella, AWS -alueen nimellä ja komentojen esitysmuodolla käyttämällä seuraavaa komentoa:

aws konfiguroida

Tämän jälkeen konsoli pyytää sinua täyttämään seuraavat tiedot:

pi@raspberrypi: ~ $ aws configure

AWS-käyttöavaimen tunnus [Ei mitään]: "Laita käyttäjän käyttöavaintunnus tähän" AWS: n salainen avain [Ei mitään]: "Aseta käyttäjän salainen avain tähän" Alueen oletusnimi [Ei mitään]: eu-central-1 Oletuslähdemuoto [Ei mitään]: json pi@raspberrypi: ~ $

Vaihe 7: Iot-role.trust.json -tiedoston luominen

Iot-role.trust.json-tiedoston luominen
Iot-role.trust.json-tiedoston luominen
Iot-role.trust.json-tiedoston luominen
Iot-role.trust.json-tiedoston luominen
  1. Luo JSON-tiedosto yllä olevalla IAM-käytännöllä tiedostonimellä iot-role.trust.json.
  2. Luo rooli käyttämällä AWS CLI -komentoa seuraavan komennon avulla

aws iam create-role --role-name my-iot-role-olettaa-role-policy-document file: //iot-role-trust.json

Vaihe 8: Iot-policy.json-tiedoston luominen

Iot-policy.json-tiedoston luominen
Iot-policy.json-tiedoston luominen
Iot-policy.json-tiedoston luominen
Iot-policy.json-tiedoston luominen
  1. Luo yllä olevan käytännön mukainen JSON-tiedosto tiedostonimellä iot-policy.json.
  2. Luo roolipolitiikka AWS -käyttöliittymän avulla seuraavan komennon avulla:

aws iam put-role-policy --rool-name IoTRole --policy-name iot-policy --policy-document file: //iot-policy.json

Vaihe 9: Luo AWS SNS -aihe (osa 1)

Luo AWS SNS -aihe (osa 1)
Luo AWS SNS -aihe (osa 1)
Luo AWS SNS -aihe (osa 1)
Luo AWS SNS -aihe (osa 1)
Luo AWS SNS -aihe (osa 1)
Luo AWS SNS -aihe (osa 1)
  1. Etsi AWS-palveluiden hakupalkista SNS-palvelu tai siirry osoitteeseen
  2. Koska sinulla ei ole aiheita nyt, luo aihe napsauttamalla "Luo uusi aihe".
  3. Kirjoita aiheen nimi ja näyttönimi ja napsauta "Luo aihe" ja uusi aihe tulee näkyviin, kun kaikki vaiheet ovat onnistuneet.
  4. Napsauta avattavaa Toiminnot -painiketta ja Muokkaa aihepolitiikkaa.

Vaihe 10: Luo AWS SNS -aihe (osa 2)

Luo AWS SNS -aihe (osa 2)
Luo AWS SNS -aihe (osa 2)
Luo AWS SNS -aihe (osa 2)
Luo AWS SNS -aihe (osa 2)
Luo AWS SNS -aihe (osa 2)
Luo AWS SNS -aihe (osa 2)
  1. Aseta käytäntö sallimaan kaikkien julkaista ja tilata, koska tämä rajoittaa AWSEducate -tiliä.
  2. Tilaa tämä aihe, niin saat päivityksiä tähän aiheeseen.
  3. Muuta protokollaksi "Sähköposti" ja kirjoita sähköpostiosoitteesi päätepisteeseen.

  4. Siirry sähköpostiviestiin, johon kirjoitit päätepisteen, napsauta vahvistuslinkkiä vahvistaaksesi sähköpostitilauksesi tilataksesi aiheen.
  5. Siirry "AWS IoT" -palveluihin, napsauta vasemmalla olevassa navigointivalikossa "Act". Tällä sivulla näet säännöt ja voit tarkastella ja muokata niitä. Tällä hetkellä IoT -asioillesi ei ole sääntöjä, napsauta "Luo sääntö".

Vaihe 11: Luo AWS SNS -aihe (osa 3)

Luo AWS SNS -aihe (osa 3)
Luo AWS SNS -aihe (osa 3)
Luo AWS SNS -aihe (osa 3)
Luo AWS SNS -aihe (osa 3)
Luo AWS SNS -aihe (osa 3)
Luo AWS SNS -aihe (osa 3)
  1. Kirjoita säännön nimi Nimi -kenttään. Kirjoita Kuvaus -kenttään säännön kuvaus. Jatkamalla Viestin lähde -osioon valitsisimme uusimman SQL -version”SQL -version käyttäminen” -osiosta. Kirjoita * määritteeseen valitaksesi koko MQTT -viestin aiheesta, meidän tapauksemme on "TempHumid".
  2. Lisää sitten "SNS" -ilmoitustoimenpide sääntöön. Napsauta sitten "Määritä toiminto".
  3. Valitse "Määritä toiminto" -sivulta juuri luomasi SNS -aihe ja viestin muoto RAW -muodossa. Valitse sen jälkeen juuri luomasi rooli AWS CLI: n avulla ja napsauta "Lisää toiminto".
  4. Toimintasi määritetään ja se palaa kohtaan "Luo sääntö".
  5. Napsauta Muokkaa, jos haluat muokata sääntöä.

Vaihe 12: Luo ämpäri Amazon S3: lle

Luo ämpäri Amazon S3: lle
Luo ämpäri Amazon S3: lle
Luo ämpäri Amazon S3: lle
Luo ämpäri Amazon S3: lle
Luo ämpäri Amazon S3: lle
Luo ämpäri Amazon S3: lle
  1. Hae S3 AWS -hakupalkista.
  2. Aloita napsauttamalla Amazon S3 -sivun Luo ämpäri -painiketta.
  3. Täytä näkyviin tuleva ponnahduslomake seuraavilla tiedoilla:

    • Kauhan nimi: seroma-ämpäri (tämän on oltava ainutlaatuinen kaikissa olemassa olevissa Amazon S3 -säiliöissä)
    • Alue: US West (Oregon)
    • Kopiointiasetukset: (Ohita)
  4. Vaiheissa 2–3 voit ohittaa sen napsauttamalla”Seuraava”, koska mitään ei tarvitse muuttaa. Napsauta vaiheessa 4 "Luo ämpäri".
  5. Luomisen jälkeen sinun pitäisi nähdä ämpäri kotisivulla.

Vaihe 13: Luo AWS -käytäntö (osa 1)

Luo AWS -käytäntö (osa 1)
Luo AWS -käytäntö (osa 1)
Luo AWS -käytäntö (osa 1)
Luo AWS -käytäntö (osa 1)
Luo AWS -käytäntö (osa 1)
Luo AWS -käytäntö (osa 1)
  1. Siirry yllä olevalle sivulle napsauttamalla luomasi säilöä ja siirry sitten Käyttöoikeudet -välilehden kohtaan "Kauhan käytäntö".
  2. Luo sitten AWS -käytäntö napsauttamalla sivun alareunassa olevaa "Käytäntöjen luonti" -linkkiä.
  3. Syötä lomakkeeseen seuraavat arvot:

    • Käytännön tyyppi: S3 -ryhmäkäytäntö
    • Vaikutus: Salli
    • Rehtori: *
    • AWS -palvelu: Amazon S3
    • Toimet: GetObject
    • Amazon-resurssin nimi (ARN): arn: aws: s3::: seroma-bucket
  4. Kun olet täyttänyt tiedot, napsauta Lisää tiliote.
  5. Napsauta "Luo käytäntö" -painiketta.

Vaihe 14: Luo AWS -käytäntö (osa 2)

Luo AWS -käytäntö (osa 2)
Luo AWS -käytäntö (osa 2)
Luo AWS -käytäntö (osa 2)
Luo AWS -käytäntö (osa 2)
Luo AWS -käytäntö (osa 2)
Luo AWS -käytäntö (osa 2)
Luo AWS -käytäntö (osa 2)
Luo AWS -käytäntö (osa 2)
  1. Kopioi luodut koodit ja napsauta Sulje.
  2. Palaa Amazon S3 Bucket Policy -editoriin ja liitä aiemmin kopioidut koodit.
  3. Lisää”/*” -koodeihin suoraan resurssikoodien taakse, kuten yllä olevassa kuvassa, ja napsauta sitten Tallenna.
  4. Tämän jälkeen kauha on onnistuneesti asennettu ja käyttövalmis.

Vaihe 15: Taulukoiden luominen DynamoDB: lle

Taulukoiden luominen DynamoDB: lle
Taulukoiden luominen DynamoDB: lle
Taulukoiden luominen DynamoDB: lle
Taulukoiden luominen DynamoDB: lle
  1. Hae DynamoDB AWS -palveluiden hakupalkista
  2. Napsauta "Luo taulukko" ja luo kolme taulukkoa, joissa on seuraavat tiedot: (Vain "taulukon nimi" ja "ensisijainen avain" muutetaan)

    • accesslog, pk datetimevalue
    • roomstatus, pk datetimevalue
    • staffdata, pk käyttäjätunnus

Vaihe 16: Roomstatus.py

Roomstatus.py
Roomstatus.py
Roomstatus.py
Roomstatus.py
Roomstatus.py
Roomstatus.py
Roomstatus.py
Roomstatus.py

Tämä osio sisältää koodin roomstatus.py, joka kirjoittaa kaikki tiedot palvelinhuoneesta joka minuutti. Tämä sisältää lämpötilan, kosteuden, liikkeen (kuvat ja videot, jos totta) ja käyttölokit. Se myös kirjoittaa tietoja Google -laskentataulukkoon, tietoja DynamoDB: hen, kuvia ja videoita (jos niitä on) S3: een, näyttää tietoja nestekidenäytössä, lähettää tekstiviestin ja sähköpostin, jos epäillään rikkomusta tai kun lämpötila tai kosteus on epäsäännöllistä.

Jos haluat ajaa python -tiedostoja, vaihda hakemisto tiedoston sijaintiin ja kirjoita konsoliin: "sudo python"

Kuva 2: Toiminnot, joiden mukaan SMS- ja sähköposti -ilmoitukset ovat sallittuja, ja lataaminen S3: een

Kuva 3: Muuttujat, jotka on ilmoitettu toimintojen ja RPi: n toimimiseksi

Kuva 4: Silmukan alku, joka saa lämpötila- ja kosteusarvot RPi: stä. Se myös kirjoittaa tiedot Googlen laskentataulukkoon

Kuva 5: Silmukan suojaosa. Se aktivoituu vain klo 19.00–7.00 (pois päältä). Se tarkistaa liikkeen minuutin kuluessa. Jos liike havaitaan, se ottaa kuvan ja videon, lataa sen S3: een ja kirjoittaa samalla tietoja DynamoDB: lle myöhempää käyttöä varten. Myöhemmin se lähettää tekstiviestin ja sähköpostin, jos jokin on epäsäännöllistä.

Kuva 6: Silmukan loppu. Se myös kirjoittaa tietoja DynamoDB: lle ja lähettää hälytyksiä sen mukaisesti. Silmukan viimeinen rivi saa komentosarjan nukkumaan, kunnes seuraava minuutti on saavutettu.

Vaihe 17: Rfid.py

Rfid.py
Rfid.py
Rfid.py
Rfid.py
Rfid.py
Rfid.py
Rfid.py
Rfid.py

Tämä osio sisältää koodin rfid.py, joka lisää toiminnallisuuden seurata, kun työntekijä pääsee palvelinhuoneeseen. Se on myös osa Seroman turvallisuusnäkökohtaa, jossa henkilöstön jäsen ei saa käyttää palvelintilaa virka -ajan jälkeen estääkseen tietomurton. Se lähettää myös sähköpostin ja tekstiviestit koko henkilöstölle, jos epäillään rikkomusta.

Kuva 2: RFID -lukijalogiikan alku. Aina kun kortti skannataan lukijaa vasten, kortin yksilöllinen tunnus (uid) otetaan. Jälkeenpäin yritämme löytää kortin uid -arvon staffdatataulukosta nähdäksemme, kuuluuko kortti jollekin henkilökunnalle. aukioloajat. Jos on, se varoittaa muita työntekijöitä tekstiviestillä ja sähköpostitse tilattuihin sähköpostiosoitteisiin. Jos se on edelleen työaikana, se kirjoittaa rivin tietokannan accesslog -taulukkoon tarvittavilla tiedoilla. Se näyttää myös tervetuloviestin LCD -näytössä.

Vaihe 18: Server.py

Server.py
Server.py
Server.py
Server.py
Server.py
Server.py

Tämä on server.py -tiedosto. Käytämme verkkoportaalin Flask -kehystä. Myös HTML -tiedostot /mallit lisätään liitteenä.

Kuva 1: Ensimmäinen kolvireitti määritetty. Se ohjaa käyttäjän kirjautumissivulle, jos hän ei ole kirjautunut sisään, ja hallintapaneelisivulle, jos hän on kirjautunut sisään. Määrittää myös toiminnon, jota käytetään livestream -ominaisuudessa

Kuva 2, 3, 4: Pullojen reitit. Se hakee tietoja DynamoDB -taulukosta ja palauttaa ne sitten HTML -tiedostoihin, jotta niitä voidaan käyttää siellä.

Kuva 5: Flaskin kaksi viimeistä reittiä. Se käsittelee uloskirjautumista ja livestream -toimintoa. Se määrittää myös portin, jolla sivusto toimii.

Vaihe 19: Telegram.py

Telegram.py
Telegram.py
Telegram.py
Telegram.py
Telegram.py
Telegram.py

Tämä osa sisältää Seroman sähkebotin koodin. Se käyttää telepot -kirjastoa napauttamalla Telegramin Bot -sovellusliittymää. Se toimii hyväksymällä saamansa kyselyt ja näyttämällä vastaavat tiedot käyttäjälle. Käyttäjä voi kirjoittaa komennon "help" saadakseen täydellisen luettelon komennoista.

Kuva 1, 2: Sähkebotin määrittäminen edellyttää BotFatherin käyttöä. Suorita vain ohjeet saadaksesi koodimme tarvitseman HTTP -sovellusliittymän.

Kuva 4: Esimerkki toiminnosta, joka ottaa tietyn määrän rivejä tietokannasta käyttäjän pyynnöstä

Kuva 5: Miten otamme käyttäjän panoksen ja päätämme, mitä ajaa sen mukaisesti.

Vaihe 20: Suoratoisto (camera_pi.py)

Suoratoisto (camera_pi.py)
Suoratoisto (camera_pi.py)
Suoratoisto (camera_pi.py)
Suoratoisto (camera_pi.py)
Suoratoisto (camera_pi.py)
Suoratoisto (camera_pi.py)

Olemme ottaneet käyttöön uuden ominaisuuden palvelinhuoneemme valvontajärjestelmäämme varten, joka on suoratoisto palvelinhuoneen tapahtumista, ja se on käytettävissä milloin tahansa, missä tahansa. Kuinka tämä suoratoisto toimii: Se on ominaisuus, joka tehdään Flaskissa yhdessä Pi -kameran kanssa. Videokehykset ladataan todellisessa elämässä, joten näet itse asiassa, että videokehysten lataamisessa ja kasaamisessa on pieni viive (1-2 sekuntia). Tätä ei voitu tehdä ilman langoitusta, koska taustalanka lukee kehykset kamerasta ja tallentaa nykyisen kehyksen. Kaikkien näiden kehysten yhdistäminen toisi sitten suoratoiston.

Kuva 2: Tämä on erillinen tiedosto, johon kaikki videokehykset on tallennettu, ja kuten näette, käytämme picamera -moduulia päästäksemme vadelmapi -kameraamme, koska se on meille eniten tuttu. Meillä on luokan kamera, jotta voisimme tuoda toiminnon ikään kuin se olisi suoratoisto eikä useita kuvia, jotka yhdistyvät toisiinsa, joten sovelluksen päätiedostossa se otettaisiin livestriiminä ilman, että tarvitsisi huolehtia siitä, mitä kulissien takana tapahtuu.

Kuva 3: Tämä on osa server.py -tiedostoa, jossa live -stream -osa on koodattu. Tärkein luokka, jonka olemme tuoneet tätä varten, on kamera server.py -tiedostomme yläosassa olevasta camera_pi.py -tiedostostamme. Määritelimme toiminnon juurihakemistossamme, gen, mutta se tulee käyttöön vain, kun siirrymme osoitteeseen /video_feed, jossa suoratoistomme on, missä se kiertää tämän toiminnon läpi ja palauttaa live -streamin verkkosivulle.

Suositeltava: