Ahogyan azt a korábbi, a QNAP TS-453D-ről szóló cikkem végén már említettem, külön akartam szót ejteni a Container Station-ről, amivel LXC és Docker konténereket futtathatunk a NAS-unkon, ezzel további funkcionalitást adva az eszköznek. Pont ez a lehetőség jött kapóra akkor, amikor egy érdekes hibába belefutva derült ki, hogy az egyébként gigabites internet kapcsolatom a hivatalosan garantált minimumot sem teljesíti, hanem maximum 200 Mbit környékét tudja hozni.
Ez végül a szolgáltatónál meglévő problémából adódott, amit a szokásos 72 órán belül szerencsére orvosoltak is, de ha nem futok bele abba, hogy Ethernet-kábellel kell tesztelnem egy adott gépet, ami utána sehogyan sem hozta az elvárt sávszélességet, valószínűleg sokkal később veszem észre. Ezért, és mivel szeretem, ha egy grafikonon láthatom, mi a helyzet, feltettem a NAS-ra Docker konténerként egy speedtestet, ami 15 percenként futtat egy tesztet, és erről Slacken keresztül push-ban is értesít, ha az eredmény 700 Mbit-nél alacsonyabb, illetve naponta egyszer küld egy áttekintést az elmúlt 24 óráról.
A Container Station segítségével, ahogy az fentebb már olvasható, LXC és Docker konténereket futtathatunk a NAS-on, egyszerre akár többet is, kibővítve az eszköz funkcionalitását. Ehhez első lépésként telepítenünk kell a NAS-ra az App Centerből a QTS Essentials illetve a Segédprogramok alatt megtalálható Container Station-t:
Ezután indítsuk el a Container Station-t. Válasszuk bal oldalt a Létrehozás opciót, majd pedig írjuk be a kereső mezőbe a speedtest kulcsszót, és nyomjunk entert. Itt a Docker Hub fülön fogjuk megtalálni a szükséges konténert. Én itt többet is megnéztem, mire letettem a voksomat a henrywhitaker3 nevű felhasználó által készített változat mellett.
A kiválasztott konténer esetén nyomjunk rá a Telepítés gombra, és válasszuk ki a kívánt verziót, amiből a legtöbb esetben csak egy lesz, a latest.
A Következő gombra kattintva még el kell fogadnunk, hogy ezeket az alkalmazásokat értelemszerűen a saját felelősségünkre telepítjük és használjuk.
A következő lépésben megadhatunk egyedi nevet a konténernek, és beállíthatjuk azt is, hogy a NAS erőforrásaiból mennyit használhasson, processzorra és memóriára vonatkozóan, illetve hogy automatikusan elinduljon-e vagy sem. Ha mindent beállítottunk, akkor nyomjunk a Létrehozás gombra.
Mivel egy speedtestnek nem kell túl sok erőforrás, így én a processzor esetén 10%-ot, a memória esetén pedig 2048 MB-ot adtam neki, ami bőven elég neki. Ezután az Áttekintés alatt már láthatjuk is a futó konténert, és az általa használt erőforrásokat:
Itt a konténer nevére kattintva megnyithatjuk annak a részleteit, többek között láthatjuk azt, hogy milyen URL-en keresztül érhetjük el (ez nyilván a NAS IP-je lesz egy megadott porttal), illetve a konténer erőforrás-használatát, valamint a konzol kimenetét is:
A Beállítások gombra nyomva utólag is tudjuk módosítani a konténer beállításait, és a speedtest működéséhez a speciális beállításokat megnyitva még van teendőnk.
A bal oldali listában a Környezet esetén a legfontosabb környezeti változó megadása elengedhetetlen, ez pedig az OOKLA_EULA_GDPR, aminek true értéket kell adnunk, enélkül ugyanis nem fog lefutni a speedtest.
A másik opció, amit egyébként már később, a speedtest saját beállítási felületén is megadhatunk, a SLACK_WEBHOOK, ezzel a Slacken keresztül még push értesítéseket is kaphatunk a lefutott tesztek értékeivel, amit különböző feltételeket megadva még testre is tudunk szabni. A Slack webhook beállításának lépéseit itt írja le a Slack: Sending messages using Incoming Webhooks.
Ennek működéséhez telepítve kell legyen a Slack app az iPhone-unkon például:
[appstore id=”618783545″]
Most pedig nyissuk meg a konténer URL-jét (ezt fentebb a beállításaiban már láthattuk), és görgessünk le az oldal alján a Settings részig, ahol még van pár opció, amit érdemes beállítani.
A Schedule alatt adhatjuk meg a cron számára megfelelő formátumban, hogy milyen időközönként fusson le a speedtest. Mivel én ezt 15 percre tettem, így annak a megfelelője az alábbi lett:
*/15 * * * *
A Server esetén egy vesszővel elválasztott listában felsorolhatjuk azoknak a szervereknek az azonosítóját, amelyeket a teszt esetén használni szeretnénk. Ha itt nem adunk meg semmit, akkor a speedtest automatikusan választ egy szervert. Ezzel nekem az volt a problémám, hogy nem adott stabil eredményt, hanem folyamatosan ugrált a mért érték a használt szervertől függően, így sokkal több értesítés érkezett, mint az szükséges lett volna. Ezért, és mivel egyébként is Telekom előfizetésem van, így az ő szerverük azonosítóját állítottam be itt, ami ebben az esetben a következő:
2073
Az egyes szerverek azonosítóját a Speedtest oldalán az adott szerver neve fölé vitt egérmutatóval a legtöbb böngésző rögtön megmutatja – vagy pedig a névre “jobbklikkel” kattintva a link másolása után annak legvégén találjuk (server_id=):
A Notifications alatt állíthatjuk be értesítések feltételeit, amit elég szépen testre lehet szabni. Én az alábbi beállításokat használom: napi egy alkalommal jön egy összesítés az elmúlt 24 óra átlagáról, illetve amennyiben 700 Mbit alá esik a letöltés és a feltöltés közül bármelyik, akkor arról szintén küld egy értesítést. A ping értéke igazából nekem nem létkérdés, azt most feljebb is vettem, mert nem szokott egyébként gond lenni vele.
Ha ezeket mind beállítottuk, akkor pedig igazából nincs más teendőnk, mint várni, hogy szépen elkezdjenek gyűlni a statisztikák, amik pár nap után már egész szép grafikont rajzolnak ki:
A fentiek természetesen nem csak QNAP NAS és Container Station esetén használhatóak, hanem gyakorlatilag bármi más esetben, ahol Docker konténert tudunk futtatni. Speedtestet tartalmazó konténerből egyébként elég sok van, nekem a fenti változat grafikonjai tetszettek meg, ezért választottam pont ezt.
Kérdésed van? Tedd fel hozzászólásban, és igyekszem rá válaszolni!
Synology DS1817-en nem tudom működésre bírni. Nem vagyok egy docker szaki, esetleg lenne ötleted?
Sorry, de akkora magaslabda a Dyson után: ez nem tartozik a Apple-höz.
Ezek alapján egyébként olyan mintha maga a Docker maga nem tudna nethez csatlakozni.
én nem vagyok annyira suta a dockerben feltettem már egy két dolgot de ez nem működik a synologyn nálam sem DS415+
különben szerintem a telekom nem stabil nas-on én azt tapasztalom hogy az antenna hungária sokkal jobb.
https://mariushosting.com/how-to-install-homebridge-on-your-synology-nas/ ha tényleg net a gond, itt lehet megadni neki hogy hogyan csatlakozzon. De gondolom ezt próbáltad. Én nem próbáltam ezt a Dockert futtatni Syno-n de a hiba erre utal.
azt is próbáltam de folyamatosan leáll és újraindul de a webes beállítás be sem jön hiába írom be a jó portot nem reagál semmire.
Számítottam erre. Ez legalább IT-hoz közel van, ne hasonlítsuk ezt egy hajvasalóhoz.
Probaltam keresgelni leirast, de nem lelek semmit sehol. Még kuzdok vele
én sem találok semmit róla pedig nézem. Neked is folyamatosan újra indul és a beállított proton nem található semmi gui felület se a http se https-en. ez azért elég vicces.
én ezt sajnos passzolom, én ugye QNAP esetén csináltam meg, ott nem volt ezzel gond.
a connection reset by peer viszont szerver oldali hibának tűnik nekem.
egyenlőre ennyit találtam de ha terminálon belépek a nasra ssh root és a docker konténer mappához majd beírom wget akkor nincs url azt mondja:
Umm. I don’t think so. I login to docker container and run the
wget
and resulting the same thing. However, I install thewget
andca-certificate
the issue solvedmármint csak annyit írsz be önmagában, hogy “wget”, hogy ellenőrizd, van-e fent egyáltalán wget? a ca-certificate is fent van?
igen annyit írok csak be. viszont azt nem tudom hogy hogyan tudnám installálni .ezt írja szerintem hibáknak unable site/app/bin/speedtest and wget says connection reset by peer.
Docker compose telepítést csináltam a leírás alapján de valami nem működik a synology dockerben. ez a compose file: a 2 ID-t megváltoztattam hogy ne rakjam ki publikumra ide.
version: ‘3.3’
services:
speedtest:
container_name: speedtest
image: henrywhitaker3/speedtest-tracker
ports:
- 8765:80
volumes:
- /volume3/docker/speedtest/config:/config
environment:
- TZ=Europe/Budapest
- PGID=10
- PUID=10
- OOKLA_EULA_GDPR=true
- DSM_HOSTNAME=felhonas
network_mode: bridge
logging:
driver: “json-file”
options:
max-file: “10”
max-size: “200k”
restart: unless-stopped
a wget önmagában nem elegendő, az csak egy parancs, ha nem mondod meg neki, hogy mit töltsön le és honnan, tehát nem paraméterezed, az olyan, mintha odaadnád a postás kezébe a levelet, de nem lenne rajta címzés és bélyeg.
nem tudom sajnos, hogy a Synology esetén miért nem megy, a Docker az ugyanúgy Docker. mivel nincs Synology eszközöm, így sajnos megnézni sem tudom, mi lehet.
nyilván magának a konténernek kellene paraméterezni a letöltést a wget-nek mivel én nem állítottam ezzel kapcsolatba semmit azt se tudom, hogy hol kell.
ezt totál passzolom, nekem a Container Station simán letöltötte. mit csinál a NAS, ha ezt dobod be neki SSH-n?
letölti de utána még akkor konfigurálni kell a konténeren belül a beállításokat. az a poén ha simán csak bedobom az a linket amit a konténernek kellene letölteni a wget-el ami ez: wget https://bintray.com/ookla/download/download_file?file_path=ookla-speedtest-1.0.0-x86_64-linux.tgz -O speedtest.tgz
akkor letölti azt a filet de utána is hibára fut
megcsináltam
mondom a megoldást ahová létrehoztad a konténert ott a file kezelőben meg kell keresni a copfig/www/app/Bin mappát ahová le kell tölteni ssh-n keresztül ezt a felet amit az előbb is linkeltem: wget https://bintray.com/ookla/download/download_file?file_path=ookla-speedtest-1.0.0-x86_64-linux.tgz -O speedtest.tgz majd utána kicsomagolni a tgz-t ami tar lesz azt is kicsomagoltam és utána fut szalad már csak be kell konfigurálnom ha azt szeretném hogy óránként csináljon tesztet akkor hogy kell beállítani ?
amit nem értek az a notification beállítás próbáltam a telegrammot de az nem megy amit meg te állítottál be nekem az kínai. abba esetleg tudsz segíteni hogyan kellene?
Köszi! Alakul
a config/www/app/Bin eddig létre sem jött. Docker-compose paranccsal telepítettem, így már igen. Wget leszedte a speedtest.tgz filet, ami a Bin mappában leledzik, “tar zxfv speedtest.tgz” paranccsal kicsomagoltam.
Ezt nem értem: “majd utána kicsomagolni a tgz-t ami tar lesz azt is kicsomagoltam és utána fut szalad”
Most már elérhető a weboldal, de nem mér semmit. Kellene mókolni a beállításokban?
Logban:
Már szerintem fut az exe, de most sem mér semmit, panaszkodik a license elfogadásra…
nem állítottad be neki, hogy az EULA el van fogadva.
azt így jelzi, és azonnal kilép és újraindul, de érzem, közel a megoldás
de ott írja, hogy environment variable-ként meg kell adnod az OOKLA_EULA_GDPR-t true értékkel, ahogy ezt a cikkben is külön kiemeltem, mert enélkül nem fog menni. hogy ezt a Synology esetén hogyan tudod megtenni, azt nem tudom, biztosan kellenek legyenek beállításai a konténernek, és azok között kell lennie. mivel a QTS és a DSM nagyrészt hasonlóan néz ki, feltételezem, hogy a Synology-n a Docker felülete is hasonlíthat a QNAP Container Station-jéhez. ha nem, akkor totál passz, de nézz szét a beállításaiban, biztosan meg kell találnod.
Igen de az utolso kepen pont azt szimulaltam, hogy mit ir akkor ha nincs beallitva. En beallitottam igy a gdpr-re nem is panaszkodik. Hanem a licensre…
Én simán a nason belül a file kezelőben nyomtam jobb egerrel a kicsomagolás ide. lehet ezért kellett 2x csomagolni. Ha a docker-compose moddal telepítetted úgy csináltad ahogy a compose tipust telepíteni kell? csináltam tegnap egy leírást nézd meg ha nem megy én törölnék minden képet ezzel kapcsolatban a dockerben és a konténert majd a config belső mappából mindent hogy üres legyen a speedtest mappába raknám a docker-compose.yml filet és ujra raknám itt egy leírás és a text formátumba a compose szerkesztés után ami a saját paramétered át kell nevezni.yml-re.
leírás doc
compose
a speedtest.tar is ki kell csomagolni a BIN alá azt irtam. a tgz-ből lesz tar és atar.ban ott az ami kell nálam így ment
Huh, mindent úgy csináltam, ahogy írtad, előtte is. De most újra végig, mindent a nulláról. Valóban a NAS jobbgomb kicsomagolásnál kétszer kell mert tar lett belőle. a tar parancs ssh-ban egylépésben megcsinálja valami miatt. Gondolom sejti, hogy úgyis ki kell csomagolni
Továbrbra is azt írja a logban, hogy speedtest --accept-license paraméterrel indítsam el. Nem értem.
lehet hogy ezt a parancsot érdemes lefuttatni a docker/speedtest mappába docker exec -it {docker_name} nyilván a zárójelbe írd be a docker nevét az valószínüleg a speedtest lesz. ezt még megcsináltam az kimaradt lehet hogy ez a gond
Ez a parancs mit csinál?
Közben megoldottam, de ez már a vaktában lövöldözés esete volt, ész nélkül, csak próbálkozás.
Ebben a fileban, van egy rész ahol meghívja és felparaméterezi a speedtest-et.
Itt a parancs:
Na kínomban itt kitöröltem az --accept-license részt, és újraindítottam, és csodák csodája, elindult és rögtön mérni kezdett. Visszanéztem a fileba, de addigra visszaírta ezt ide, és azóta működik…
ez a parancs ad neki jogot ezt írták nekem tegnap a fejlesztők de ez még nem oldotta meg a problémát mert akkor még le sem volt töltve a tgz file…
A Notificationt nem tudom megoldani, ha abba valakinek lenne valami jó leírása az jól jönne. Amit eddig csináltam készítettem magamnak egy bot-ot a telegramban, ennek az api ID-ját bemásoltam a speedtestbe, majd a chat ID-t a chat ID helyére, de nem küld a tesztre sem semmi üzenetet. Lehet, hogy a program bug-os de már mindent próbáltam. Amit @Jadeye írt azt néztem de nem értem hogy az hogyan miként működik, biztos pont valami lényegest nem értek meg benne.
a Telegram bot nekem sem funkcionált, a Slack meg rendben ment. létrehoztad a Slack leírása alapján a webhook URL-t, és fent van a Slack app a készülékeden, amibe be vagy lépve ugyanazzal a Slack fiókkal?
na ezt nem tudtam hogy kell egy app a telefonra. megpróbálok összehozni egy url-t aztán letesztelem. sose használtam ilyet. a tekegrammot próbáltad a követelményeknél is megadni vagy csak a webes felületen?
mindenhogy próbáltam a Telegramot. már nem tudom pontosan, mi volt a baja, de cserébe a Slack azonnal működött.
Na sikerült megoldani a Slack-et az működik tényleg. köszi az infót, az hogy kell egy app hozzá az sokat segített:-)
na akkor beleírom egy fél mondattal a cikkbe a biztonság kedvéért, ha más is belefutna.
Megoldottam a telegram értesítést. a chat ID volt a gond és ezen leírás alapján megtaláltam a megfelelő chat ID-t és így már megy. Nyilván kell egy bot de így már jó.
Vagy itt is megkereshető ha érdekel valakit: Get Telegram Chat ID. How to get a Chat ID of a Telegram… | by Sean Bradley | Medium
A synology telepítéshez ezt a Guide-ot kell követni: How to Install Speedtest Tracker on Your Synology NAS – Marius Hosting
Ezután fel kell tölteni a docker / internetspeed / www / app / bin
alá a speedtestet, amit innen tudtok letölteni.
Majd el kell indítani a docker img-et és indítani egy terminált a /bin/sh parancsal. Ezután pedig az alábbi sorral elfogadni licenset:
php /config/www/artisan speedtest:eula
Végül megy.
Continue the discussion at Hozzászólok