{"id":33632,"date":"2019-10-31T21:53:52","date_gmt":"2019-10-31T18:53:52","guid":{"rendered":"https:\/\/prohoster.info\/blog\/eshhe-odna-sistema-monitoringa\/"},"modified":"2019-10-31T21:53:52","modified_gmt":"2019-10-31T18:53:52","slug":"eshhe-odna-sistema-monitoringa","status":"publish","type":"post","link":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/eshhe-odna-sistema-monitoringa","title":{"rendered":"Dal\u0161\u00ed monitorovac\u00ed syst\u00e9m","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Dal\u0161\u00ed monitorovac\u00ed syst\u00e9m\" src=\"\/wp-content\/uploads\/2019\/05\/88d4cf9cc7bbb9aeeddef21a14f6434b.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<em>16 modem\u016f, 4 mobiln\u00ed oper\u00e1to\u0159i = Vys\u00edlac\u00ed rychlost 933,45 Mbit\/s<\/em> <\/p>\n<p><\/p>\n<h2 id=\"vvedenie\">\u00davod<\/h2>\n<p><\/p>\n<p>Ahoj! Tento \u010dl\u00e1nek je o tom, jak jsme si napsali nov\u00fd syst\u00e9m sledov\u00e1n\u00ed. Od st\u00e1vaj\u00edc\u00edho se li\u0161\u00ed mo\u017enost\u00ed vysokofrekven\u010dn\u00edho synchronn\u00edho z\u00edsk\u00e1v\u00e1n\u00ed metrik a velmi malou spot\u0159ebou zdroj\u016f. Frekvence dotaz\u016f m\u016f\u017ee dosahovat 0,1 milisekundy s p\u0159esnost\u00ed synchronizace mezi metrikami na 10 nanosekund. V\u0161echny bin\u00e1rn\u00ed soubory zab\u00edraj\u00ed 6 megabajt\u016f. <\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2 id=\"o-proekte\">O projektu<\/h2>\n<p><\/p>\n<p>Nab\u00edz\u00edme docela specifick\u00fd produkt. Vyr\u00e1b\u00edme komplexn\u00ed \u0159e\u0161en\u00ed pro souhrn propustnosti a odolnosti datov\u00fdch p\u0159enosov\u00fdch kan\u00e1l\u016f. To znamen\u00e1, \u017ee je n\u011bkolik kan\u00e1l\u016f, nap\u0159\u00edklad Oper\u00e1tor1 (40 Mbit\/s) + Oper\u00e1tor2 (30 Mbit\/s) + N\u011bco jin\u00e9ho (5 Mbit\/s), co\u017e vytvo\u0159\u00ed jeden stabiln\u00ed a rychl\u00fd kan\u00e1l, jeho\u017e rychlost bude p\u0159ibli\u017en\u011b takov\u00e1to: (40+30+5)x0.92=75\u00d70.92=69 Mbit\/s. <\/p>\n<p><\/p>\n<p>Takov\u00e1 \u0159e\u0161en\u00ed jsou \u017e\u00e1dan\u00e1 tam, kde kapacita jak\u00e9hokoli jednoho kan\u00e1lu nesta\u010d\u00ed. Nap\u0159\u00edklad doprava, syst\u00e9my videodohledu a streamov\u00e1n\u00ed videa v re\u00e1ln\u00e9m \u010dase, p\u0159enos \u017eiv\u00fdch televizn\u00edch a rozhlasov\u00fdch vys\u00edl\u00e1n\u00ed, jak\u00e9koli venkovsk\u00e9 objekty, kde jsou mezi oper\u00e1tory jen z\u00e1stupci velk\u00e9 \u010dty\u0159ky a rychlost na jednom modemu\/kan\u00e1lu nesta\u010d\u00ed.<br \/>\nPro ka\u017edou z t\u011bchto oblast\u00ed vyd\u00e1v\u00e1me samostatnou \u0159adu za\u0159\u00edzen\u00ed, av\u0161ak jejich softwarov\u00e1 \u010d\u00e1st je t\u00e9m\u011b\u0159 stejn\u00e1 a kvalitn\u00ed syst\u00e9m sledov\u00e1n\u00ed je jeden z jej\u00edch hlavn\u00edch modul\u016f, bez spr\u00e1vn\u00e9 implementace by produkt nebyl mo\u017en\u00fd.<\/p>\n<p><\/p>\n<p>B\u011bhem n\u011bkolika let se n\u00e1m poda\u0159ilo vytvo\u0159it v\u00edce\u00farov\u0148ov\u00fd rychl\u00fd, multiplatformn\u00ed a lehk\u00fd syst\u00e9m sledov\u00e1n\u00ed. O kter\u00fd se chceme pod\u011blit s v\u00e1\u017een\u00fdm spole\u010denstv\u00edm.<\/p>\n<p><\/p>\n<h2 id=\"postanovka-zadachi\">Formulace \u00fakolu<\/h2>\n<p><\/p>\n<p>Syst\u00e9m sledov\u00e1n\u00ed zaji\u0161\u0165uje z\u00edsk\u00e1v\u00e1n\u00ed metrik dvou principi\u00e1ln\u011b odli\u0161n\u00fdch t\u0159\u00edd: metriky v re\u00e1ln\u00e9m \u010dase a v\u0161echny ostatn\u00ed. K syst\u00e9mu sledov\u00e1n\u00ed bylo ulo\u017eeno pouze n\u00e1sleduj\u00edc\u00ed po\u017eadavky:<\/p>\n<p><\/p>\n<ol>\n<li>Vysokofrekven\u010dn\u00ed synchronn\u00ed z\u00edsk\u00e1v\u00e1n\u00ed metrik v re\u00e1ln\u00e9m \u010dase a jejich bezodkladn\u00fd p\u0159enos do syst\u00e9mu \u0159\u00edzen\u00ed komunikace.<br \/>\nVysok\u00e1 frekvence a synchronizace r\u016fzn\u00fdch metrik nen\u00ed jen d\u016fle\u017eit\u00e1, je \u017eivotn\u011b nezbytn\u00e1 pro anal\u00fdzu entropie p\u0159enosov\u00fdch kan\u00e1l\u016f. Pokud m\u00e1 jeden p\u0159enosov\u00fd kan\u00e1l pr\u016fm\u011brnou latenci 30 milisekund, chyba v synchronizaci s ostatn\u00edmi metrikami pouhou jednu milisekundu povede k degradaci rychlosti v\u00fdsledn\u00e9ho kan\u00e1lu p\u0159ibli\u017en\u011b o 5 %. Pokud ud\u011bl\u00e1me chybu v synchronizaci o 1 milisekundu ve \u010dty\u0159ech kan\u00e1lech, degradace rychlosti m\u016f\u017ee snadno klesnout a\u017e na 30 %. Krom\u011b toho se entropie v kan\u00e1lech m\u011bn\u00ed velmi rychle, tak\u017ee pokud ji m\u011b\u0159\u00edme m\u00e9n\u011b \u010dasto ne\u017e jednou za 0,5 milisekundy, na rychl\u00fdch kan\u00e1lech s malou latenc\u00ed dostaneme vysokou degradaci rychlosti. Samoz\u0159ejm\u011b, takov\u00e1 p\u0159esnost nen\u00ed pot\u0159ebn\u00e1 pro v\u0161echny metriky a ne ve v\u0161ech podm\u00ednk\u00e1ch. Kdy\u017e je latence v kan\u00e1le 500 milisekund a m\u00e1me takov\u00e9, pak chyba o 1 milisekundu t\u00e9m\u011b\u0159 nebude znateln\u00e1. Tak\u00e9 pro metriky syst\u00e9m\u016f \u017eivotn\u00edho zabezpe\u010den\u00ed n\u00e1m sta\u010d\u00ed frekvence dotazov\u00e1n\u00ed a synchronizace za 2 sekundy, av\u0161ak samotn\u00fd monitorovac\u00ed syst\u00e9m by m\u011bl b\u00fdt schopen pracovat se super vysok\u00fdmi frekvencemi dotazov\u00e1n\u00ed a super p\u0159esnou synchronizac\u00ed metrik.<\/li>\n<li>Minim\u00e1ln\u00ed spot\u0159eba zdroj\u016f a jednotn\u00fd stack.<br \/>\nKone\u010dn\u00e9 za\u0159\u00edzen\u00ed m\u016f\u017ee b\u00fdt r\u016fznorod\u00e9, jak mocn\u00fd palubn\u00ed komplex, kter\u00fd analyzuje situaci na silnici, nebo prov\u00e1d\u00ed biometrick\u00e9 z\u00e1znamy lid\u00ed, tak i jednodeskov\u00fd po\u010d\u00edta\u010d velikosti dlan\u011b, kter\u00fd nos\u00ed pod nepr\u016fst\u0159elnou vestou voj\u00e1k speci\u00e1ln\u00edch sil pro p\u0159enos videa v re\u00e1ln\u00e9m \u010dase za \u0161patn\u00fdch podm\u00ednek. Bez ohledu na tuto r\u016fznorodost architektur a v\u00fdkonu bychom cht\u011bli m\u00edt jednotn\u00fd softwarov\u00fd stack.<\/li>\n<li>De\u0161tn\u00edkov\u00e1 architektura<br \/>\nMetriky mus\u00ed b\u00fdt shroma\u017e\u010fov\u00e1ny a agregov\u00e1ny na kone\u010dn\u00e9m za\u0159\u00edzen\u00ed, m\u00edt lok\u00e1ln\u00ed syst\u00e9m ukl\u00e1d\u00e1n\u00ed a vizualizaci v re\u00e1ln\u00e9m \u010dase a retrospektivn\u011b. V p\u0159\u00edpad\u011b dostupnosti spojen\u00ed by m\u011bly b\u00fdt data p\u0159en\u00e1\u0161ena do centr\u00e1ln\u00edho monitorovac\u00edho syst\u00e9mu. Kdy\u017e spojen\u00ed nen\u00ed, fronta na odesl\u00e1n\u00ed by se m\u011bla hromadit a nesm\u00ed spot\u0159ebov\u00e1vat opera\u010dn\u00ed pam\u011b\u0165. <\/li>\n<li>API pro integraci do monitorovac\u00edho syst\u00e9mu z\u00e1kazn\u00edka, proto\u017ee nikdo nepot\u0159ebuje mnoho monitorovac\u00edch syst\u00e9m\u016f. Z\u00e1kazn\u00edk by m\u011bl shroma\u017e\u010fovat data z jak\u00fdchkoli za\u0159\u00edzen\u00ed a s\u00edt\u00ed do jednotn\u00e9ho monitorov\u00e1n\u00ed.<\/li>\n<\/ol>\n<p><\/p>\n<h2 id=\"chto-poluchilos\">Co jsme z\u00edskali<\/h2>\n<p><\/p>\n<p>Aby nezat\u011b\u017eoval ji\u017e tak rozs\u00e1hl\u00fd longread, nebudu uv\u00e1d\u011bt p\u0159\u00edklady a m\u011b\u0159en\u00ed v\u0161ech monitorovac\u00edch syst\u00e9m\u016f. To by si vy\u017e\u00e1dalo dal\u0161\u00ed \u010dl\u00e1nek. \u0158eknu jen, \u017ee se n\u00e1m nepoda\u0159ilo naj\u00edt monitorovac\u00ed syst\u00e9m, kter\u00fd by byl schopen sou\u010dasn\u011b zachytit dv\u011b metriky s chybovost\u00ed men\u0161\u00ed ne\u017e 1 milisekunda a kter\u00fd by stejn\u011b efektivn\u011b fungoval na architektu\u0159e ARM s 64 MB RAM i na x86_64 architektu\u0159e s 32 GB RAM. Proto jsme se rozhodli napsat sv\u016fj vlastn\u00ed, kter\u00fd to v\u0161echno um\u00ed. Tady je, co se n\u00e1m poda\u0159ilo:<\/p>\n<p><\/p>\n<h3 id=\"summirovanie-propusknoy-sposobnosti-treh-kanalov-dlya-raznoy-topologii-seti\">S\u010d\u00edt\u00e1n\u00ed propustnosti t\u0159\u00ed kan\u00e1l\u016f pro r\u016fzn\u00e9 topologie s\u00edt\u011b<\/h3>\n<p>\n<center><div class=\"youtube-placeholder\" data-id=\"3vPFHz7jFGM\" onclick=\"loadVideo(this)\">\r\n        <img decoding=\"async\" src=\"https:\/\/img.youtube.com\/vi\/3vPFHz7jFGM\/hqdefault.jpg\" alt=\"P\u0159ehr\u00e1t video\" loading=\"lazy\" width=\"480\" height=\"360\" style=\"width:100%;height:auto;\">\r\n        <div class=\"play-button\"><\/div>\r\n    <\/div><\/center><br \/>\n<center><div class=\"youtube-placeholder\" data-id=\"uEk_kQBbdP0\" onclick=\"loadVideo(this)\">\r\n        <img decoding=\"async\" src=\"https:\/\/img.youtube.com\/vi\/uEk_kQBbdP0\/hqdefault.jpg\" alt=\"P\u0159ehr\u00e1t video\" loading=\"lazy\" width=\"480\" height=\"360\" style=\"width:100%;height:auto;\">\r\n        <div class=\"play-button\"><\/div>\r\n    <\/div><\/center><\/p>\n<h3 id=\"vizualizaciya-nekotoryh-klyuchevyh-metrik\">Vizualizace n\u011bkter\u00fdch kl\u00ed\u010dov\u00fdch metrik<\/h3>\n<p>\n<img decoding=\"async\" alt=\"Dal\u0161\u00ed monitorovac\u00ed syst\u00e9m\" src=\"\/wp-content\/uploads\/2019\/05\/2c866d3a4ac719d91b99ddaf27cf8a93.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<img decoding=\"async\" alt=\"Dal\u0161\u00ed monitorovac\u00ed syst\u00e9m\" src=\"\/wp-content\/uploads\/2019\/05\/38a67251267894b81fae9edb741d4d90.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<img decoding=\"async\" alt=\"Dal\u0161\u00ed monitorovac\u00ed syst\u00e9m\" src=\"\/wp-content\/uploads\/2019\/05\/a5f49c0eb6d6e0d975d660a688fb5aad.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<img decoding=\"async\" alt=\"Dal\u0161\u00ed monitorovac\u00ed syst\u00e9m\" src=\"\/wp-content\/uploads\/2019\/05\/91457b8e952842ac6a60d7f13cba7804.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h2 id=\"arhitektura\">Architektura<\/h2>\n<p><\/p>\n<p>Jako hlavn\u00ed programovac\u00ed jazyk, jak na za\u0159\u00edzen\u00ed, tak v datov\u00e9m centru, pou\u017e\u00edv\u00e1me Golang. V\u00fdrazn\u011b n\u00e1m zjednodu\u0161il \u017eivot d\u00edky implementaci multitaskingu a mo\u017enosti z\u00edskat jeden staticky linkovan\u00fd spustiteln\u00fd bin\u00e1rn\u00ed soubor pro ka\u017ed\u00fd slu\u017ebu. V d\u016fsledku toho v\u00fdrazn\u011b \u0161et\u0159\u00edme na zdroj\u00edch, metod\u00e1ch a provozu p\u0159i nasazen\u00ed slu\u017eeb na koncov\u00fdch za\u0159\u00edzen\u00edch, \u010dase v\u00fdvoje a lad\u011bn\u00ed k\u00f3du. <\/p>\n<p><\/p>\n<p>Syst\u00e9m je implementov\u00e1n podle klasick\u00e9ho modul\u00e1rn\u00edho principu a obsahuje n\u011bkolik subsyst\u00e9m\u016f:<\/p>\n<p><\/p>\n<ol>\n<li>Registrace metrik.<br \/>\nKa\u017ed\u00e1 metrika je obsluhov\u00e1na vlastn\u00edm vl\u00e1knem a synchronizov\u00e1na p\u0159es kan\u00e1ly. Poda\u0159ilo se n\u00e1m dos\u00e1hnout p\u0159esnosti synchronizace a\u017e 10 nanosekund.<\/li>\n<li>Ukl\u00e1d\u00e1n\u00ed metrik<br \/>\nZva\u017eovali jsme, zda napsat vlastn\u00ed \u00falo\u017ei\u0161t\u011b pro \u010dasov\u00e9 \u0159ady, nebo pou\u017e\u00edt n\u011bco, co ji\u017e existuje. Datab\u00e1ze je pot\u0159eba pro retrospektivn\u00ed data, kter\u00e1 podl\u00e9haj\u00ed n\u00e1sledn\u00e9 vizualizaci. Tedy v n\u00ed nejsou data o zpo\u017ed\u011bn\u00edch v kan\u00e1lu ka\u017ed\u00fdch 0,5 milisekundy nebo m\u011b\u0159en\u00ed chyb v p\u0159enosov\u00e9 s\u00edti, ale jsou tu rychlosti na ka\u017ed\u00e9m rozhran\u00ed ka\u017ed\u00fdch 500 milisekund. Krom\u011b vysok\u00fdch po\u017eadavk\u016f na multiplatformnost a n\u00edzkou spot\u0159ebu zdroj\u016f je pro n\u00e1s z\u00e1sadn\u00ed m\u00edt mo\u017enost zpracov\u00e1vat data tam, kde jsou ulo\u017eena. To obrovsky \u0161et\u0159\u00ed v\u00fdpo\u010detn\u00ed zdroje. Od roku 2016 pou\u017e\u00edv\u00e1me datab\u00e1zov\u00fd syst\u00e9m Tarantool v tomto projektu a zat\u00edm v horizontu nevid\u00edme alternativu. Je flexibiln\u00ed, s optim\u00e1ln\u00ed spot\u0159ebou zdroj\u016f a v\u00edce ne\u017e dostate\u010dnou technickou podporou. Tak\u00e9 v Tarantool je implementov\u00e1n GIS modul. Ten sice nen\u00ed tak siln\u00fd jako PostGIS, ale pro na\u0161e \u00fakoly uchov\u00e1v\u00e1n\u00ed n\u011bkter\u00fdch metrik v\u00e1zan\u00fdch na lokaci (aktu\u00e1ln\u00ed pro dopravu) je dostate\u010dn\u00fd. <\/li>\n<li>Vizualizace metrik<br \/>\nTady je v\u0161e relativn\u011b jednoduch\u00e9. Bereme data z \u00falo\u017ei\u0161t\u011b a zobrazuje je bu\u010f v re\u00e1ln\u00e9m \u010dase, nebo retrospektivn\u011b. <\/li>\n<li>Synchronizace dat se centr\u00e1ln\u00edm monitorovac\u00edm syst\u00e9mem.<br \/>\nCentr\u00e1ln\u00ed monitorovac\u00ed syst\u00e9m p\u0159ij\u00edm\u00e1 data ze v\u0161ech za\u0159\u00edzen\u00ed, uchov\u00e1v\u00e1 je s po\u017eadovanou retrospektivou a prost\u0159ednictv\u00edm API je poskytuje do monitorovac\u00edho syst\u00e9mu Z\u00e1kazn\u00edka. Na rozd\u00edl od klasick\u00fdch monitorovac\u00edch syst\u00e9m\u016f, ve kter\u00fdch \"hlava\" ob\u00edh\u00e1 a sb\u00edr\u00e1 data \u2014 m\u00e1me opa\u010dnou sch\u00e9ma. Za\u0159\u00edzen\u00ed data sama odes\u00edlaj\u00ed, kdy\u017e je spojen\u00ed. To je velmi d\u016fle\u017eit\u00fd bod, proto\u017ee to umo\u017e\u0148uje z\u00edskat data ze za\u0159\u00edzen\u00ed za obdob\u00ed, kdy nebylo dostupn\u00e9, a nezat\u011b\u017eovat kan\u00e1ly a zdroje v tom \u010dase, kdy je za\u0159\u00edzen\u00ed nedostupn\u00e9. Jako centr\u00e1ln\u00ed monitorovac\u00ed syst\u00e9m pou\u017e\u00edv\u00e1me server Influx monitoring. Na rozd\u00edl od analog\u016f um\u00ed importovat retrospektivn\u00ed data (tj. s \u010dasov\u00fdm ozna\u010den\u00edm odli\u0161n\u00fdm od okam\u017eiku z\u00edsk\u00e1n\u00ed metriky). Shrom\u00e1\u017ed\u011bn\u00e9 metriky vizualizuje vylep\u0161en\u00e1 verze Grafany. Tato standardn\u00ed technologie byla zvolena tak\u00e9 proto, \u017ee m\u00e1 hotov\u00e9 API pro integraci prakticky s jak\u00fdmkoliv syst\u00e9mem monitorov\u00e1n\u00ed z\u00e1kazn\u00edka.<\/li>\n<li>Synchronizace dat se centr\u00e1ln\u00edm syst\u00e9mem \u0159\u00edzen\u00ed za\u0159\u00edzen\u00ed.<br \/>\nSyst\u00e9m spr\u00e1vy za\u0159\u00edzen\u00ed realizuje Zero Touch Provisioning (aktualizace firmwaru, konfigurace atd.) a na rozd\u00edl od monitorovac\u00edho syst\u00e9mu z\u00edsk\u00e1v\u00e1 pouze probl\u00e9my s za\u0159\u00edzen\u00edmi. To jsou spou\u0161t\u011b\u010de provozu palubn\u00edch hardwarov\u00fdch str\u00e1\u017en\u00fdch slu\u017eeb a v\u0161echny metriky syst\u00e9m\u016f \u017eivotn\u00ed podpory: teplota CPU a SSD, zat\u00ed\u017een\u00ed CPU, voln\u00e9 m\u00edsto a S.M.A.R.T zdrav\u00ed disk\u016f. \u00dalo\u017ei\u0161t\u011b subsyst\u00e9mu je tak\u00e9 postaveno na Tarantoolu. To n\u00e1m poskytuje zna\u010dnou rychlost v agregaci \u010dasov\u00fdch \u0159ad nap\u0159\u00ed\u010d tis\u00edci za\u0159\u00edzen\u00edmi a tak\u00e9 zcela vy\u0159e\u0161\u00ed ot\u00e1zku synchronizace dat s t\u011bmito za\u0159\u00edzen\u00edmi. Tarantool m\u00e1 v\u00fdborn\u00fd syst\u00e9m front a zaru\u010den\u00e9 dod\u00e1vky. Tuto d\u016fle\u017eitou funkci m\u00e1me k dispozici hned, skv\u011bl\u00e9!<\/li>\n<\/ol>\n<p><\/p>\n<h3 id=\"sistema-upravleniya-setyu\">Syst\u00e9m spr\u00e1vy s\u00edt\u011b<\/h3>\n<p>\n<img decoding=\"async\" alt=\"Dal\u0161\u00ed monitorovac\u00ed syst\u00e9m\" src=\"\/wp-content\/uploads\/2019\/05\/a468aca776c28aee5987a17ae351f057.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h2 id=\"chto-dalshe\">Co d\u00e1l<\/h2>\n<p><\/p>\n<p>Prozat\u00edm je nejslab\u0161\u00edm \u010dl\u00e1nkem na\u0161e centr\u00e1ln\u00ed monitorovac\u00ed syst\u00e9m. Je implementov\u00e1n z 99,9 % na standardn\u00edm stacku a m\u00e1 \u0159adu nedostatk\u016f:<\/p>\n<p><\/p>\n<ol>\n<li>InfluxDB ztr\u00e1c\u00ed data p\u0159i v\u00fdpadku nap\u00e1jen\u00ed. Obvykle objednatel okam\u017eit\u011b odn\u00e1\u0161\u00ed v\u0161e, co p\u0159ijde od za\u0159\u00edzen\u00ed, a v samotn\u00e9 datab\u00e1zi nejsou data star\u0161\u00ed ne\u017e 5 minut, ale v budoucnu se to m\u016f\u017ee st\u00e1t probl\u00e9mem.<\/li>\n<li>Grafana m\u00e1 \u0159adu probl\u00e9m\u016f s agregac\u00ed dat a synchronizac\u00ed jejich zobrazen\u00ed. Nej\u010dast\u011bj\u0161\u00edm probl\u00e9mem je, kdy\u017e je v datab\u00e1zi \u010dasov\u00e1 \u0159ada s intervalem 2 sekundy, za\u010d\u00ednaj\u00edc\u00ed nap\u0159\u00edklad od 00:00:00, a Grafana za\u010dne zobrazovat data v agregaci s +1 sekundou. V\u00fdsledkem je, \u017ee u\u017eivatel vid\u00ed sk\u00e1kaj\u00edc\u00ed graf.<\/li>\n<li>Nadm\u011brn\u00e9 mno\u017estv\u00ed k\u00f3du pro API integraci se t\u0159et\u00edmi syst\u00e9my monitorov\u00e1n\u00ed. Lze to ud\u011blat mnohem kompaktneji a samoz\u0159ejm\u011b p\u0159epsat do Go)<\/li>\n<\/ol>\n<p><\/p>\n<p>P\u0159edpokl\u00e1d\u00e1m, \u017ee v\u0161ichni jste vid\u011bli, jak vypad\u00e1 Grafana, a bez m\u00e9ho popisu zn\u00e1te jej\u00ed probl\u00e9my, tak\u017ee nebudu p\u0159et\u011b\u017eovat p\u0159\u00edsp\u011bvek obr\u00e1zky.<\/p>\n<p><\/p>\n<h2 id=\"zaklyuchenie\">Z\u00e1v\u011br<\/h2>\n<p><\/p>\n<p>Z\u00e1m\u011brn\u011b jsem nenam\u011b\u0159il technick\u00e9 detaily, ale popsal pouze z\u00e1kladn\u00ed design tohoto syst\u00e9mu. Za prv\u00e9, k tomu, abych tyto technick\u00e9 aspekty pln\u011b popsal, by bylo pot\u0159eba dal\u0161\u00ed \u010dl\u00e1nek. Za druh\u00e9, ne v\u0161em to bude zaj\u00edmat. Napi\u0161te do koment\u00e1\u0159\u016f, jak\u00e9 technick\u00e9 detaily byste cht\u011bli zn\u00e1t. <\/p>\n<p><\/p>\n<p>Pokud m\u00e1 n\u011bkdo ot\u00e1zky mimo tento \u010dl\u00e1nek, m\u016f\u017eete mi ps\u00e1t na adresu a.rodin @ qedr.com<\/p>\n<p>Zdroj: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/451778\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>16 \u043c\u043e\u0434\u0435\u043c\u043e\u0432, 4 \u0441\u043e\u0442\u043e\u0432\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430= \u0418\u0441\u0445\u043e\u0434\u044f\u0449\u0430\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c 933.45 \u041c\u0431\u0438\u0442\/\u0441 \u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u041f\u0440\u0438\u0432\u0435\u0442! \u042d\u0442\u043e \u0441\u0442\u0430\u0442\u044c\u044f \u043f\u0440\u043e \u0442\u043e, \u043a\u0430\u043a \u043c\u044b \u043d\u0430\u043f\u0438\u0441\u0430\u043b\u0438 \u0434\u043b\u044f \u0441\u0435\u0431\u044f \u043d\u043e\u0432\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430. \u041e\u0442 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u043e\u043d\u0430 \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c\u044e \u0432\u044b\u0441\u043e\u043a\u043e\u0447\u0430\u0441\u0442\u043e\u0442\u043d\u043e\u0433\u043e \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e\u0433\u043e \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u043c\u0435\u0442\u0440\u0438\u043a \u0438 \u043e\u0447\u0435\u043d\u044c \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u043c \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u0435\u043d\u0438\u0435\u043c \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432. \u0427\u0430\u0441\u0442\u043e\u0442\u0430 \u043e\u043f\u0440\u043e\u0441\u0430 \u043c\u043e\u0436\u0435\u0442 \u0434\u043e\u0441\u0442\u0438\u0433\u0430\u0442\u044c 0.1 \u043c\u0438\u043b\u043b\u0438\u0441\u0435\u043a\u0443\u043d\u0434\u044b \u0441 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c\u044e \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u043c\u0435\u0436\u0434\u0443 \u043c\u0435\u0442\u0440\u0438\u043a\u0430\u043c\u0438 \u0432 10 \u043d\u0430\u043d\u043e\u0441\u0435\u043a\u0443\u043d\u0434. \u0412\u0441\u0435 \u0431\u0438\u043d\u0430\u0440\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0442 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":25323,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-33632","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"16 \u043c\u043e\u0434\u0435\u043c\u043e\u0432, 4 \u0441\u043e\u0442\u043e\u0432\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430= \u0418\u0441\u0445\u043e\u0434\u044f\u0449\u0430\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c 933.45.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/eshhe-odna-sistema-monitoringa\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"cs_CZ\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0415\u0449\u0435 \u043e\u0434\u043d\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"16 \u043c\u043e\u0434\u0435\u043c\u043e\u0432, 4 \u0441\u043e\u0442\u043e\u0432\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430= \u0418\u0441\u0445\u043e\u0434\u044f\u0449\u0430\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c 933.45.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/eshhe-odna-sistema-monitoringa\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:53:52+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:53:52+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Dal\u0161\u00ed monitorovac\u00ed syst\u00e9m | ProHoster","description":"16 modem\u016f, 4 mobiln\u00ed oper\u00e1to\u0159i = Odchoz\u00ed rychlost 933,45.","canonical_url":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/eshhe-odna-sistema-monitoringa","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"cs_CZ","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0415\u0449\u0435 \u043e\u0434\u043d\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430 | ProHoster","og:description":"16 \u043c\u043e\u0434\u0435\u043c\u043e\u0432, 4 \u0441\u043e\u0442\u043e\u0432\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430= \u0418\u0441\u0445\u043e\u0434\u044f\u0449\u0430\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c 933.45.","og:url":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/eshhe-odna-sistema-monitoringa","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:53:52+00:00","article:modified_time":"2019-10-31T18:53:52+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"33632","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 16:05:20","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:19:51","updated":"2026-01-21 16:05:20","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/33632","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/comments?post=33632"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/33632\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media\/25323"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media?parent=33632"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/categories?post=33632"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/tags?post=33632"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}