{"id":56049,"date":"2020-02-04T00:00:00","date_gmt":"2020-02-03T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/highload-mihail-makurov-maksim-chernetsov-intersvyaz-zabbix-100knvps-na-odnom-servere"},"modified":"2020-02-18T14:04:13","modified_gmt":"2020-02-18T11:04:13","slug":"highload-mihail-makurov-maksim-chernetsov-intersvyaz-zabbix-100knvps-na-odnom-servere","status":"publish","type":"post","link":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/highload-mihail-makurov-maksim-chernetsov-intersvyaz-zabbix-100knvps-na-odnom-servere","title":{"rendered":"HighLoad++, Michail Makurov, Maxim \u010cern\u011bcov (Intersvyaz): Zabbix, 100kNVPS na jednom serveru","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Dal\u0161\u00ed konference HighLoad++ se uskute\u010dn\u00ed 6. a 7. dubna 2020 ve svat\u00e9m Petrohrad\u011b. Podrobnosti a vstupenky <noindex><a rel=\"nofollow\" href=\"http:\/\/bit.ly\/2sSxgBx\">na odkazu<\/a><\/noindex>. HighLoad++ Moskva 2018. S\u00e1l \u201eMoskva\u201c. 9. listopadu, 15:00. Abstrakta a <noindex><a rel=\"nofollow\" href=\"http:\/\/www.highload.ru\/moscow\/2018\/abstracts\/4141\">prezentace<\/a><\/noindex>.<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Michail Makurov, Maxim \u010cern\u011bcov (Intersvyaz): Zabbix, 100kNVPS na jednom serveru\" src=\"\/wp-content\/uploads\/2020\/02\/5c3e11c8449de7375d30b2cd75b5927e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n* Monitoring \u2014 online a analytika.<br \/>\n* Hlavn\u00ed omezen\u00ed platformy ZABBIX.<br \/>\n* \u0158e\u0161en\u00ed pro \u0161k\u00e1lov\u00e1n\u00ed analytick\u00e9 \u00falo\u017ei\u0161t\u011b.<br \/>\n* Optimalizace serveru ZABBIX.<br \/>\n* Optimalizace UI.<br \/>\n* Zku\u0161enosti s provozem syst\u00e9mu p\u0159i z\u00e1t\u011b\u017e\u00edch p\u0159es 40k NVPS.<br \/>\n* Kr\u00e1tce z\u00e1v\u011bry.<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p><b>Mikhail Makurov (d\u00e1le \u2013 MM):<\/b> \u2013 Ahoj v\u0161ichni!<\/p>\n<p><b>Maxim \u010cern\u011bcov (d\u00e1le \u2013 M\u0427):<\/b> \u2013 Dobr\u00fd den!<\/p>\n<p><b>MM:<\/b> \u2013 Dovolte mi p\u0159edstavit Maxima. Max je talentovan\u00fd in\u017een\u00fdr, nejlep\u0161\u00ed s\u00ed\u0165a\u0159, kter\u00e9ho zn\u00e1m. Maxim se zab\u00fdv\u00e1 s\u00edt\u011bmi a slu\u017ebami, jejich rozvojem a provozem.<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Michail Makurov, Maxim \u010cern\u011bcov (Intersvyaz): Zabbix, 100kNVPS na jednom serveru\" src=\"\/wp-content\/uploads\/2020\/02\/a7fc62a03c0aede46f4a4695845daa22.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>M\u0427:<\/b> \u2013 A j\u00e1 bych cht\u011bl \u0159\u00edct n\u011bco o Michaelovi. Michail je v\u00fdvoj\u00e1\u0159 v C. Napsal n\u011bkolik vysoce z\u00e1t\u011b\u017eov\u00fdch \u0159e\u0161en\u00ed pro zpracov\u00e1n\u00ed provozu pro na\u0161i spole\u010dnost. \u017dijeme a pracujeme na Uralu, ve m\u011bst\u011b tvrd\u00fdch mu\u017e\u016f \u010celjabinsk, ve spole\u010dnosti \u201eInterzviaz\u201c. Na\u0161e spole\u010dnost je poskytovatel internetov\u00fdch a kabelov\u00fdch televizn\u00edch slu\u017eeb pro milion lid\u00ed v 16 m\u011bstech.<\/p>\n<p><b>MM:<\/b> \u2013 A stoj\u00ed za zm\u00ednku, \u017ee \u201eInterzviaz\u201c je mnohem v\u00edc ne\u017e jen poskytovatel, je to IT spole\u010dnost. V\u011bt\u0161ina na\u0161ich \u0159e\u0161en\u00ed byla vyvinuta na\u0161\u00edm IT odd\u011blen\u00edm.<\/p>\n<p><b>A:<\/b> od server\u016f zpracov\u00e1vaj\u00edc\u00edch provoz, po call centrum a mobiln\u00ed aplikaci. V IT odd\u011blen\u00ed je nyn\u00ed asi 80 lid\u00ed s velmi rozmanit\u00fdmi kompetencemi.<\/p>\n<h3>O Zabbix a jeho architektu\u0159e<\/h3>\n<p>\n<b>M\u0427:<\/b> \u2013 A te\u010f se pokus\u00edm stanovit osobn\u00ed rekord a za jednu minutu \u0159\u00edct, co vlastn\u011b Zabbix (d\u00e1le \u2013 \u201eZabbix\u201c) je.<\/p>\n<p>\u201eZabbix\u201c se prezentuje jako syst\u00e9m monitorov\u00e1n\u00ed \u201eout of the box\u201c na \u00farovni podniku. Obsahuje mnoho funkc\u00ed usnad\u0148uj\u00edc\u00edch \u017eivot: pokro\u010dil\u00e1 pravidla eskalace, API pro integraci, skupinov\u00e1n\u00ed a automatick\u00e9 objevov\u00e1n\u00ed hostitel\u016f a metrik. V \u201eZabbixu\u201c jsou takzvan\u00e9 n\u00e1stroje pro \u0161k\u00e1lov\u00e1n\u00ed \u2013 proxy. \u201eZabbix\u201c je syst\u00e9m s otev\u0159en\u00fdm zdrojov\u00fdm k\u00f3dem.<\/p>\n<p>Kr\u00e1tce o architektu\u0159e. M\u016f\u017eeme \u0159\u00edci, \u017ee se skl\u00e1d\u00e1 ze t\u0159\u00ed komponent\u016f:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Michail Makurov, Maxim \u010cern\u011bcov (Intersvyaz): Zabbix, 100kNVPS na jednom serveru\" src=\"\/wp-content\/uploads\/2020\/02\/0d2ae3ee04d00885d65e17b8cf44182b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<ul>\n<li>Server. Naps\u00e1n v C. S dostate\u010dn\u011b slo\u017eit\u00fdm zpracov\u00e1n\u00edm a p\u0159enosem informac\u00ed mezi vl\u00e1kny. Ve\u0161ker\u00e9 zpracov\u00e1n\u00ed prob\u00edh\u00e1 v n\u011bm: od p\u0159ij\u00edm\u00e1n\u00ed po ukl\u00e1d\u00e1n\u00ed do datab\u00e1ze.<\/li>\n<li>V\u0161echna data jsou ukl\u00e1d\u00e1na v datab\u00e1zi. \u201eZabbix\u201c podporuje MySQL, PostgreSQL a Oracle.<\/li>\n<li>Webov\u00e9 rozhran\u00ed je naps\u00e1no v PHP. V\u011bt\u0161ina syst\u00e9m\u016f b\u00fdv\u00e1 dod\u00e1v\u00e1na se serverem Apache, ale efektivn\u011bji funguje v kombinaci nginx + php.<\/li>\n<\/ul>\n<p>\nDnes bychom cht\u011bli sd\u00edlet p\u0159\u00edb\u011bh z \u017eivota na\u0161\u00ed spole\u010dnosti, kter\u00fd se t\u00fdk\u00e1 'Zabbixu'\u2026<\/p>\n<h3>P\u0159\u00edb\u011bh ze \u017eivota spole\u010dnosti 'Intersvyaz'. Co m\u00e1me a co pot\u0159ebujeme?<\/h3>\n<p>\n<img decoding=\"async\" alt=\"HighLoad++, Michail Makurov, Maxim \u010cern\u011bcov (Intersvyaz): Zabbix, 100kNVPS na jednom serveru\" src=\"\/wp-content\/uploads\/2020\/02\/407c35b81995ddca6444fa418941063f.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>P\u0159ed 5 nebo 6 m\u011bs\u00edci. Jednoho dne po pr\u00e1ci\u2026<\/i><\/p>\n<p><b>M\u0427:<\/b> \u2013 M\u00ed\u0161o, ahoj! Jsem r\u00e1d, \u017ee jsem t\u011b stihl \u2013 pot\u0159ebuju si s tebou promluvit. Znovu m\u00e1me probl\u00e9my s monitorov\u00e1n\u00edm. B\u011bhem velk\u00e9 hav\u00e1rie v\u0161echno zpomalovalo a nebyly \u017e\u00e1dn\u00e9 informace o stavu s\u00edt\u011b. Bohu\u017eel se to u\u017e opakuje. Pot\u0159ebuji tvoji pomoc. Ud\u011blejme to tak, aby na\u0161e monitorov\u00e1n\u00ed fungovalo za jak\u00fdchkoliv okolnost\u00ed!<\/p>\n<p><b>MM:<\/b> \u2013 Ale nejd\u0159\u00edv se synchronizujme. Nepod\u00edval jsem se tam u\u017e p\u00e1r let. Pokud si pamatuji, p\u0159ed 8 lety jsme p\u0159e\u0161li z Nagiosu na 'Zabbix'. A te\u010f m\u00e1me, mysl\u00edm, 6 v\u00fdkonn\u00fdch server\u016f a asi deset proxy. Nepletu se?<\/p>\n<p><b>M\u0427:<\/b> \u2013 T\u00e9m\u011b\u0159. 15 server\u016f, z toho \u010d\u00e1st jsou virtu\u00e1ln\u00ed stroje. Nejpodstatn\u011bj\u0161\u00ed je, \u017ee n\u00e1s to nezachr\u00e1n\u00ed ve chv\u00edli, kdy to nejv\u00edce pot\u0159ebujeme. Kdy\u017e dojde k hav\u00e1rii \u2013 servery zpomaluj\u00ed a nic nevid\u00edme. Zkou\u0161eli jsme optimalizovat konfiguraci, ale to nep\u0159in\u00e1\u0161\u00ed optim\u00e1ln\u00ed n\u00e1r\u016fst v\u00fdkonu.<\/p>\n<p><b>MM:<\/b> \u2013 Rozum\u00edm. Dali jsme se na n\u011bco pod\u00edvat, n\u011bco u\u017e bylo diagnostikov\u00e1no?<\/p>\n<p><b>M\u0427:<\/b> \u2013 Prvn\u00ed probl\u00e9m, se kter\u00fdm se mus\u00edme vypo\u0159\u00e1dat, je pr\u00e1v\u011b DB. MySQL je u\u017e tak neust\u00e1le zat\u00ed\u017eeno ukl\u00e1d\u00e1n\u00edm nov\u00fdch metrik, a kdy\u017e 'Zabbix' za\u010dne generovat hromadu ud\u00e1lost\u00ed \u2013 datab\u00e1ze se \u00fapln\u011b zablokuje na n\u011bkolik hodin. O optimalizaci konfigurace jsem ti u\u017e \u0159\u00edkal, ale letos jsme pr\u00e1v\u011b modernizovali hardware: na serverech je v\u00edc ne\u017e sto gigabajt\u016f pam\u011bti a diskov\u00e9 pole na SSD RAID \u2013 nem\u00e1 smysl ho d\u00e1l line\u00e1rn\u011b zvy\u0161ovat. Co budeme d\u011blat?<\/p>\n<p><b>MM:<\/b> \u2013 Rozum\u00edm. Vlastn\u011b, MySQL je LTP datab\u00e1ze. Zjevn\u011b u\u017e nen\u00ed vhodn\u00e1 pro ukl\u00e1d\u00e1n\u00ed archivu metrik na\u0161\u00ed velikosti. Poj\u010fme to vy\u0159e\u0161it.<\/p>\n<p><b>M\u0427:<\/b> \u2013 Poj\u010fme!<\/p>\n<h3>Integrace Zabbixu a Clickhouse jako v\u00fdsledek hackathonu<\/h3>\n<p>\nPo n\u011bjak\u00e9 dob\u011b jsme z\u00edskali zaj\u00edmav\u00e1 data:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Michail Makurov, Maxim \u010cern\u011bcov (Intersvyaz): Zabbix, 100kNVPS na jednom serveru\" src=\"\/wp-content\/uploads\/2020\/02\/46899e843b1e89524c6d762c1c167a6c.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nVelk\u00e1 \u010d\u00e1st m\u00edsta v na\u0161\u00ed datab\u00e1zi byla obsazena archivem metrik a m\u00e9n\u011b ne\u017e 1 % bylo vyu\u017eito pro konfiguraci, \u0161ablony a nastaven\u00ed. Do t\u00e9 doby jsme u\u017e v\u00edce ne\u017e rok provozovali \u0159e\u0161en\u00ed Big Data zalo\u017een\u00e9 na Clickhouse. Sm\u011br, kter\u00fdm se vydat, byl pro n\u00e1s jasn\u00fd. Na na\u0161\u00ed jarn\u00ed \"Hackathon\u011b\" jsem napsal integraci \"Zabbixu\" s \"Clickhousem\" pro server a frontend. V t\u00e9 dob\u011b m\u011bl \"Zabbix\" u\u017e podporu pro ElasticSearch, tak\u017ee jsme se rozhodli je porovnat.<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Michail Makurov, Maxim \u010cern\u011bcov (Intersvyaz): Zabbix, 100kNVPS na jednom serveru\" src=\"\/wp-content\/uploads\/2020\/02\/92fa3da527de48102cbdcf6959d46814.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Porovn\u00e1n\u00ed Clickhouse a Elasticsearch<\/h3>\n<p>\n<b>MM:<\/b> \u2013 Pro porovn\u00e1n\u00ed jsme generovali z\u00e1t\u011b\u017e stejnou, jakou zaji\u0161\u0165uje server \"Zabbix\", a sledovali, jak se syst\u00e9my chovaj\u00ed. Zaznamen\u00e1vali jsme data po d\u00e1vk\u00e1ch po 1000 \u0159\u00e1dc\u00edch, pou\u017eili jsme CURL. P\u0159edpokl\u00e1dali jsme, \u017ee \"Clickhouse\" bude efektivn\u011bj\u0161\u00ed pro profil z\u00e1t\u011b\u017ee, kter\u00fd vytv\u00e1\u0159\u00ed \"Zabbix\". V\u00fdsledky dokonce p\u0159ekonaly na\u0161e o\u010dek\u00e1v\u00e1n\u00ed:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Michail Makurov, Maxim \u010cern\u011bcov (Intersvyaz): Zabbix, 100kNVPS na jednom serveru\" src=\"\/wp-content\/uploads\/2020\/02\/354be7147b23a0bcb9ada3af93f59fac.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nZa stejn\u00fdch podm\u00ednek v testech \"Clickhouse\" zapsal t\u0159ikr\u00e1t v\u00edce dat. Oba syst\u00e9my v\u0161ak velmi efektivn\u011b vyu\u017e\u00edvaly (mal\u00e9 mno\u017estv\u00ed zdroj\u016f) p\u0159i \u010dten\u00ed dat. Ale \"ElasticSearch\" vy\u017eadoval p\u0159i z\u00e1pisu velk\u00e9 mno\u017estv\u00ed procesorov\u00e9ho v\u00fdkonu:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Michail Makurov, Maxim \u010cern\u011bcov (Intersvyaz): Zabbix, 100kNVPS na jednom serveru\" src=\"\/wp-content\/uploads\/2020\/02\/fea7f7f7801024cee0f9367c49d81d5b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nCelkov\u011b \"Clickhouse\" v\u00fdrazn\u011b p\u0159evy\u0161il \"ElasticSearch\" v pou\u017eit\u00ed procesoru a rychlosti. D\u00edky kompresi dat pou\u017e\u00edv\u00e1 \"Clickhouse\" 11x m\u00e9n\u011b na pevn\u00e9m disku a prov\u00e1d\u00ed p\u0159ibli\u017en\u011b 30x m\u00e9n\u011b diskov\u00fdch operac\u00ed:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Michail Makurov, Maxim \u010cern\u011bcov (Intersvyaz): Zabbix, 100kNVPS na jednom serveru\" src=\"\/wp-content\/uploads\/2020\/02\/50c24c4615ed350d7d78ec8655423409.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>M\u0427:<\/b> \u2013 Ano, pr\u00e1ce s diskov\u00fdm subsyst\u00e9mem v \"Clickhouse\" je realizov\u00e1na velmi efektivn\u011b. Pro datab\u00e1ze lze pou\u017e\u00edvat obrovsk\u00e9 SATA disky a dosahovat rychlosti z\u00e1pisu stovek tis\u00edc \u0159\u00e1dk\u016f za sekundu. Syst\u00e9m \"out of the box\" podporuje shardov\u00e1n\u00ed, replikaci a je velmi snadno konfigurovateln\u00fd. Jsme v\u00edce ne\u017e spokojeni s jeho provozem po dobu jednoho roku.<\/p>\n<p>Pro optimalizaci zdroj\u016f lze nainstalovat \"Clickhouse\" vedle existuj\u00edc\u00ed prim\u00e1rn\u00ed datab\u00e1ze a t\u00edm u\u0161et\u0159it spoustu procesorov\u00e9ho \u010dasu a diskov\u00fdch operac\u00ed. Archiv metrik jsme p\u0159esunuli na ji\u017e existuj\u00edc\u00ed \"Clickhouse\" klastry:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Michail Makurov, Maxim \u010cern\u011bcov (Intersvyaz): Zabbix, 100kNVPS na jednom serveru\" src=\"\/wp-content\/uploads\/2020\/02\/4cf44eae47a13f2fc50377fec884ecc8.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTak jsme tak v\u00fdznamn\u011b odleh\u010dili hlavn\u00ed MySQL datab\u00e1zi, \u017ee jsme ji mohli slou\u010dit na jednom stroji se serverem \"Zabbix\" a vzd\u00e1t se dedikovan\u00e9ho serveru pro MySQL.<\/p>\n<h3>Jak funguje polling v Zabbixu?<\/h3>\n<p>\n<i>p\u0159ed 4 m\u011bs\u00edci<\/i><\/p>\n<p><b>MM:<\/b> \u2013 No, m\u016f\u017eeme zapomenout na probl\u00e9my s datab\u00e1z\u00ed?<\/p>\n<p><b>M\u0427:<\/b> \u2013 To je pravda! Dal\u0161\u00ed \u00fakol, kter\u00fd mus\u00edme vy\u0159e\u0161it, je pomal\u00fd sb\u011br dat. Nyn\u00ed jsou v\u0161echny na\u0161e 15 proxy servery p\u0159epln\u011bny procesy SNMP a pollingem. A nen\u00ed \u017e\u00e1dn\u00e9 jin\u00e9 \u0159e\u0161en\u00ed, ne\u017e po\u0159izovat nov\u00e9 a nov\u00e9 servery.<\/p>\n<p><b>MM:<\/b> \u2013 Skv\u011bl\u00e9. Ale nejd\u0159\u00edve mi \u0159ekni, jak je nastaven polling v \u201eZabbixu\u201c?<\/p>\n<p><b>M\u0427:<\/b> \u2013 Pokud to shrnu, existuje 20 typ\u016f metrik a n\u011bkolik zp\u016fsob\u016f jejich z\u00edsk\u00e1n\u00ed. \u201eZabbix\u201c m\u016f\u017ee sb\u00edrat data bu\u010f v re\u017eimu \u201edotaz \u2013 odpov\u011b\u010f\u201c, nebo \u010dekat na nov\u00e9 \u00fadaje p\u0159es \u201eTrapper Interface\u201c.<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Michail Makurov, Maxim \u010cern\u011bcov (Intersvyaz): Zabbix, 100kNVPS na jednom serveru\" src=\"\/wp-content\/uploads\/2020\/02\/cb2d974ee113b4147a4a588c1f35c730.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nJe t\u0159eba poznamenat, \u017ee v origin\u00e1ln\u00edm \u201eZabbixu\u201c je tento zp\u016fsob (Trapper) nejrychlej\u0161\u00ed. <\/p>\n<p>Existuj\u00ed proxy servery pro rozlo\u017een\u00ed z\u00e1t\u011b\u017ee:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Michail Makurov, Maxim \u010cern\u011bcov (Intersvyaz): Zabbix, 100kNVPS na jednom serveru\" src=\"\/wp-content\/uploads\/2020\/02\/7b5c94a82b7e06aff6df6ea5549babdf.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nProxy mohou vykon\u00e1vat stejn\u00e9 funkce sb\u011bru jako \u201eZabbix\u201c server, p\u0159i\u010dem\u017e dost\u00e1vaj\u00ed \u00fakoly od n\u011bj a odes\u00edlaj\u00ed shrom\u00e1\u017ed\u011bn\u00e9 metriky pr\u00e1v\u011b p\u0159es Trapper rozhran\u00ed. Toto je ofici\u00e1ln\u011b doporu\u010den\u00fd zp\u016fsob rozlo\u017een\u00ed z\u00e1t\u011b\u017ee. Tak\u00e9 jsou proxy u\u017eite\u010dn\u00e9 pro monitorov\u00e1n\u00ed vzd\u00e1len\u00e9 infrastruktury, kter\u00e1 funguje p\u0159es NAT nebo pomal\u00fd kan\u00e1l:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Michail Makurov, Maxim \u010cern\u011bcov (Intersvyaz): Zabbix, 100kNVPS na jednom serveru\" src=\"\/wp-content\/uploads\/2020\/02\/dbfb2777f9dd9b4adb81f1fa89f3bdd5.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>MM:<\/b> \u2013 S architekturou je v\u0161e jasn\u00e9. Mus\u00edme se pod\u00edvat na zdrojov\u00e9 k\u00f3dy...<\/p>\n<p><i>O p\u00e1r dn\u00ed pozd\u011bji<\/i><\/p>\n<h3>Poh\u00e1dka o tom, jak nmap fping zv\u00edt\u011bzil<\/h3>\n<p>\n<b>MM:<\/b> \u2013 Vypad\u00e1 to, \u017ee jsem n\u011bco na\u0161el.<\/p>\n<p><b>M\u0427:<\/b> \u2013 Vypr\u00e1v\u011bj!<\/p>\n<p><b>MM:<\/b> \u2013 Zjistil jsem, \u017ee p\u0159i kontrol\u00e1ch dostupnosti \u201eZabbix\u201c prov\u00e1d\u00ed kontrolu maxim\u00e1ln\u011b 128 hostitel\u016f sou\u010dasn\u011b. Zkusil jsem tuto hodnotu zv\u00fd\u0161it na 500 a odstranil mezipaketovou prodlevu v jejich pingu \u2013 to zv\u00fd\u0161ilo v\u00fdkon dvakr\u00e1t. Ale cht\u011bl bych je\u0161t\u011b vy\u0161\u0161\u00ed \u010d\u00edsla.<\/p>\n<p><b>M\u0427:<\/b> \u2013 Ve sv\u00e9 praxi ob\u010das mus\u00edm kontrolovat dostupnost tis\u00edc\u016f hostitel\u016f, a nic rychlej\u0161\u00edho ne\u017e nmap jsem pro to nena\u0161el. Jsem si jist\u00fd, \u017ee toto je nejrychlej\u0161\u00ed zp\u016fsob. Zkusme to! Mus\u00edme v\u00fdrazn\u011b zv\u00fd\u0161it po\u010det hostitel\u016f v jedn\u00e9 iteraci.<\/p>\n<p><b>MM:<\/b> \u2013 Kontrolovat v\u00edce ne\u017e p\u011bt set? 600?<\/p>\n<p><b>M\u0427:<\/b> \u2013 Minim\u00e1ln\u011b p\u00e1r tis\u00edc.<\/p>\n<p><b>MM:<\/b> \u2013 OK. To nejd\u016fle\u017eit\u011bj\u0161\u00ed, co jsem cht\u011bl \u0159\u00edct: zjistil jsem, \u017ee v\u011bt\u0161ina pollingu v \u201eZabbixu\u201c je provedena synchronn\u011b. Ur\u010dit\u011b bychom m\u011bli p\u0159ej\u00edt na asynchronn\u00ed re\u017eim. Pak budeme moci radik\u00e1ln\u011b zv\u00fd\u0161it po\u010det metrik, kter\u00e9 jsou shroma\u017e\u010fov\u00e1ny pollery, zejm\u00e9na pokud zv\u00fd\u0161\u00edme po\u010det metrik v jedn\u00e9 iteraci.<\/p>\n<p><b>M\u0427:<\/b> \u2013 Skv\u011ble! A kdy?<\/p>\n<p><b>MM:<\/b> \u2013 Jak obvykle, v\u010dera.<\/p>\n<p><b>M\u0427:<\/b> \u2013 Porovnali jsme ob\u011b verze fping a nmap:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Michail Makurov, Maxim \u010cern\u011bcov (Intersvyaz): Zabbix, 100kNVPS na jednom serveru\" src=\"\/wp-content\/uploads\/2020\/02\/4be4cfe019b6b318ae2fbdbf82577111.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNa velk\u00e9m mno\u017estv\u00ed hostitel\u016f byl nmap o\u010dek\u00e1van\u011b a\u017e p\u011btkr\u00e1t efektivn\u011bj\u0161\u00ed. Proto\u017ee nmap kontroluje pouze dostupnost a dobu odezvy, jsme p\u0159enesli po\u010d\u00edt\u00e1n\u00ed ztr\u00e1t do spou\u0161t\u011b\u010d\u016f a v\u00fdrazn\u011b zkr\u00e1tili intervaly kontroly dostupnosti. Optim\u00e1ln\u00ed po\u010det hostitel\u016f pro nmap jsme na\u0161li kolem 4 tis\u00edc na jednu iteraci. Nmap n\u00e1m umo\u017enil t\u0159ikr\u00e1t sn\u00ed\u017eit n\u00e1klady na CPU p\u0159i kontrole dostupnosti a zkr\u00e1tit interval z 120 sekund na 10.<\/p>\n<h3>Optimalizace pollingu<\/h3>\n<p>\n<b>MM:<\/b> \u2013 Pot\u00e9 jsme se zab\u00fdvali pollery. Hlavn\u011b n\u00e1s zaj\u00edmal sn\u00edmek SNMP a agenty. V 'Zabbixu' je polling prov\u00e1d\u011bn synchronn\u011b a byla p\u0159ijata speci\u00e1ln\u00ed opat\u0159en\u00ed pro zvy\u0161ov\u00e1n\u00ed efektivity syst\u00e9mu. V synchronn\u00edm re\u017eimu nedostupnost hostitel\u016f zp\u016fsobuje v\u00fdraznou degradaci pollingu. Existuje cel\u00e1 \u0159ada stav\u016f, jsou zde speci\u00e1ln\u00ed procesy \u2013 takzvan\u00ed unreachable-pollery, kte\u0159\u00ed pracuj\u00ed pouze s nedostupn\u00fdmi hostiteli:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Michail Makurov, Maxim \u010cern\u011bcov (Intersvyaz): Zabbix, 100kNVPS na jednom serveru\" src=\"\/wp-content\/uploads\/2020\/02\/6a001eff121f2392fffda69d719ebad6.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTo je koment\u00e1\u0159, kter\u00fd ukazuje matici stav\u016f a celou slo\u017eitost syst\u00e9m\u016f p\u0159echod\u016f, kter\u00e9 jsou po\u017eadov\u00e1ny pro udr\u017een\u00ed efektivity syst\u00e9mu. Krom\u011b toho je samotn\u00fd synchronn\u00ed polling pom\u011brn\u011b pomal\u00fd:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Michail Makurov, Maxim \u010cern\u011bcov (Intersvyaz): Zabbix, 100kNVPS na jednom serveru\" src=\"\/wp-content\/uploads\/2020\/02\/3579a4a3de85c37f812ba2ca71cf4b3d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPr\u00e1v\u011b proto tis\u00edce vl\u00e1ken poller\u016f na des\u00edtce proxy nemohly shrom\u00e1\u017edit pot\u0159ebn\u00e9 mno\u017estv\u00ed dat. Asynchronn\u00ed implementace vy\u0159e\u0161ila nejen probl\u00e9my s po\u010dtem vl\u00e1ken, ale tak\u00e9 v\u00fdznamn\u011b zjednodu\u0161ila syst\u00e9m stav\u016f nedostupn\u00fdch hostitel\u016f, proto\u017ee p\u0159i jak\u00e9mkoliv po\u010dtu kontrolovan\u00fdch v jedn\u00e9 iteraci pollingu maxim\u00e1ln\u00ed \u010dekac\u00ed doba \u010dinila 1 timeout:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Michail Makurov, Maxim \u010cern\u011bcov (Intersvyaz): Zabbix, 100kNVPS na jednom serveru\" src=\"\/wp-content\/uploads\/2020\/02\/c5f2d9bb3e558f8bba6bd8a96d8ed6a6.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDodate\u010dn\u011b jsme upravili a vylep\u0161ili syst\u00e9m pollingu pro SNMP dotazy. V\u011bc se m\u00e1 tak, \u017ee v\u011bt\u0161ina nem\u016f\u017ee odpov\u00eddat na n\u011bkolik SNMP dotaz\u016f sou\u010dasn\u011b. Proto jsme vytvo\u0159ili hybridn\u00ed re\u017eim, kdy SNMP polling stejn\u00e9ho hostitele prob\u00edh\u00e1 asynchronn\u011b:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Michail Makurov, Maxim \u010cern\u011bcov (Intersvyaz): Zabbix, 100kNVPS na jednom serveru\" src=\"\/wp-content\/uploads\/2020\/02\/eb61766e8afce9bf72d6e9757492559e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTo se d\u011bl\u00e1 pro celou sadu hostitel\u016f. Tento re\u017eim nakonec nen\u00ed pomalej\u0161\u00ed ne\u017e zcela asynchronn\u00ed, proto\u017ee dotazov\u00e1n\u00ed na 150 SNMP hodnot je st\u00e1le mnohem rychlej\u0161\u00ed ne\u017e 1 timeout.<\/p>\n<p>Na\u0161e experimenty uk\u00e1zaly, \u017ee optim\u00e1ln\u00ed po\u010det dotaz\u016f v jedn\u00e9 iteraci je p\u0159ibli\u017en\u011b 8 tis\u00edc p\u0159i SNMP pollingu. Celkov\u011b p\u0159echod na asynchronn\u00ed re\u017eim umo\u017enil urychlit v\u00fdkon pollingu 200kr\u00e1t, v n\u011bkolika stovk\u00e1ch p\u0159\u00edpad\u016f.<\/p>\n<p><b>M\u0427:<\/b> Optimalizace polling uk\u00e1zaly, \u017ee ne pouze, \u017ee se dok\u00e1\u017eeme zbavit v\u0161ech proxy, ale tak\u00e9 zkr\u00e1tit intervaly pro mnoho kontrol, a proxy u\u017e nebudou pot\u0159ebn\u00e9 jako zp\u016fsob rozd\u011blen\u00ed z\u00e1t\u011b\u017ee.<\/p>\n<p><i>P\u0159ed asi t\u0159emi m\u011bs\u00edci<\/i><\/p>\n<h3>Zm\u011b\u0148te architekturu \u2013 zvy\u0161te z\u00e1t\u011b\u017e!<\/h3>\n<p>\n<b>MM:<\/b> \u2013 Tak co, Maxe, je \u010das na produkt? Pot\u0159ebuji v\u00fdkonn\u00fd server a dobr\u00e9ho in\u017een\u00fdra.<\/p>\n<p><b>M\u0427:<\/b> \u2013 Dob\u0159e, napl\u00e1nujeme to. U\u017e bylo na \u010dase se pohnout z mrtv\u00e9ho bodu s 5 tis\u00edci metrikami za sekundu.<\/p>\n<p><i>R\u00e1no po upgradu<\/i><\/p>\n<p><b>M\u0427:<\/b> \u2013 M\u00ed\u0161o, my jsme se aktualizovali, ale r\u00e1no jsme se vr\u00e1tili zp\u011bt\u2026 Uhodni, jak\u00e9 rychlosti se n\u00e1m poda\u0159ilo dos\u00e1hnout?<\/p>\n<p><b>MM:<\/b> \u2013 Maxim\u00e1ln\u011b 20 tis\u00edc.<\/p>\n<p><b>M\u0427:<\/b> \u2013 Aha, 25! Bohu\u017eel jsme tam, kde jsme za\u010dali.<\/p>\n<p><b>MM:<\/b> \u2013 Pro\u010d to tak je? Ud\u011blali jste n\u011bjakou diagnostiku?<\/p>\n<p><b>M\u0427:<\/b> \u2013 Ano, samoz\u0159ejm\u011b! Tady je zaj\u00edmav\u00e9 top:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Michail Makurov, Maxim \u010cern\u011bcov (Intersvyaz): Zabbix, 100kNVPS na jednom serveru\" src=\"\/wp-content\/uploads\/2020\/02\/09ac3336a820977b643ee5328ad2a851.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>MM:<\/b> \u2013 Pod\u00edvejme se. Vid\u00edm, \u017ee jsme zkou\u0161eli obrovsk\u00e9 mno\u017estv\u00ed pollingov\u00fdch vl\u00e1ken:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Michail Makurov, Maxim \u010cern\u011bcov (Intersvyaz): Zabbix, 100kNVPS na jednom serveru\" src=\"\/wp-content\/uploads\/2020\/02\/346e8047f1f6f2bb1b1dd91a728e437b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAle p\u0159itom jsme nebyli schopni vyu\u017e\u00edt syst\u00e9m ani z poloviny:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Michail Makurov, Maxim \u010cern\u011bcov (Intersvyaz): Zabbix, 100kNVPS na jednom serveru\" src=\"\/wp-content\/uploads\/2020\/02\/be1843dbec0fb10d8da59e8c570adc5b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nA celkov\u00fd v\u00fdkon je dost mal\u00fd, asi 4 tis\u00edce metrik za sekundu:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Michail Makurov, Maxim \u010cern\u011bcov (Intersvyaz): Zabbix, 100kNVPS na jednom serveru\" src=\"\/wp-content\/uploads\/2020\/02\/02eaf0b56629ebc6d3d5c132374a91b8.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nJe tu n\u011bco je\u0161t\u011b?<\/p>\n<p><b>M\u0427:<\/b> \u2013 Ano, strace jednoho z poller\u016f:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Michail Makurov, Maxim \u010cern\u011bcov (Intersvyaz): Zabbix, 100kNVPS na jednom serveru\" src=\"\/wp-content\/uploads\/2020\/02\/73fc58bd2925859f6fbbcd118a0483c0.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>MM:<\/b> \u2013 Tady je jasn\u011b vid\u011bt, \u017ee pollingov\u00fd proces \u010dek\u00e1 na 'semafory'. To jsou blokace:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Michail Makurov, Maxim \u010cern\u011bcov (Intersvyaz): Zabbix, 100kNVPS na jednom serveru\" src=\"\/wp-content\/uploads\/2020\/02\/d0bec44a9677ec111066dccc1dd8c5dc.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>M\u0427:<\/b> \u2013 Nerozum\u00edm.<\/p>\n<p><b>MM:<\/b> \u2013 Pod\u00edvej, to vypad\u00e1 jako situace, kdy se spousta vl\u00e1ken sna\u017e\u00ed pracovat se zdrojem, se kter\u00fdm m\u016f\u017ee pracovat jen jeden najednou. Potom v\u0161e, co mohou ud\u011blat \u2013 je rozd\u011blit tento zdroj po \u010dase:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Michail Makurov, Maxim \u010cern\u011bcov (Intersvyaz): Zabbix, 100kNVPS na jednom serveru\" src=\"\/wp-content\/uploads\/2020\/02\/7dbb9e8941b01b666dd48f6301151ec9.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nA celkov\u00fd v\u00fdkon pr\u00e1ce s takov\u00fdm zdrojem je omezen rychlost\u00ed jednoho j\u00e1dra:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Michail Makurov, Maxim \u010cern\u011bcov (Intersvyaz): Zabbix, 100kNVPS na jednom serveru\" src=\"\/wp-content\/uploads\/2020\/02\/e00b197577f4ea7350fe56665dbae299.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTuto chybu lze vy\u0159e\u0161it dv\u011bma zp\u016fsoby.<\/p>\n<p>Upgrade hardwaru stroje, p\u0159ej\u00edt na rychlej\u0161\u00ed j\u00e1dra:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Michail Makurov, Maxim \u010cern\u011bcov (Intersvyaz): Zabbix, 100kNVPS na jednom serveru\" src=\"\/wp-content\/uploads\/2020\/02\/296d84b434ed7277fb558a8a4dd5ac47.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNebo zm\u011bnit architekturu a z\u00e1rove\u0148 \u2013 z\u00e1t\u011b\u017e:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Michail Makurov, Maxim \u010cern\u011bcov (Intersvyaz): Zabbix, 100kNVPS na jednom serveru\" src=\"\/wp-content\/uploads\/2020\/02\/efea73106440db4e5eda5aa475dd088b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>M\u0427:<\/b> \u2013 Mimochodem, na testovac\u00edm stroji pou\u017eijeme men\u0161\u00ed po\u010det jader ne\u017e na produk\u010dn\u00edm, ale jsou zhruba 1,5kr\u00e1t rychlej\u0161\u00ed co do frekvence na j\u00e1dro!<\/p>\n<p><b>MM:<\/b> \u2013 Rozum\u00ed\u0161? Mus\u00edme se pod\u00edvat na k\u00f3d serveru.<\/p>\n<h3>Cesta dat v serveru Zabbix<\/h3>\n<p>\n<b>M\u0427:<\/b> \u2013 Abychom se dostali k j\u00e1dru, za\u010dali jsme analyzovat, jak se data p\u0159ed\u00e1vaj\u00ed uvnit\u0159 serveru 'Zabbix':<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Michail Makurov, Maxim \u010cern\u011bcov (Intersvyaz): Zabbix, 100kNVPS na jednom serveru\" src=\"\/wp-content\/uploads\/2020\/02\/b3d84e3fcb12e7afe3c974bdeacc357a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSkv\u011bl\u00fd obr\u00e1zek, co \u0159\u00edk\u00e1te? Poj\u010fme se po n\u011bm proj\u00edt krok za krokem, abychom si to vcelku vyjasnili. Jsou tu vl\u00e1kna a slu\u017eby zodpov\u011bdn\u00e9 za sb\u011br dat:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Michail Makurov, Maxim \u010cern\u011bcov (Intersvyaz): Zabbix, 100kNVPS na jednom serveru\" src=\"\/wp-content\/uploads\/2020\/02\/966db6fa84723d4d3bde8a23736294d6.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSesb\u00edran\u00e9 metriky p\u0159ed\u00e1vaj\u00ed skrze socket do Preprocessor managera, kde se ukl\u00e1daj\u00ed do fronty:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Michail Makurov, Maxim \u010cern\u011bcov (Intersvyaz): Zabbix, 100kNVPS na jednom serveru\" src=\"\/wp-content\/uploads\/2020\/02\/1e34fe2c4194f7bd71ec409d6169fb94.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPreprocessor manager p\u0159ed\u00e1v\u00e1 data sv\u00fdm pracovn\u00edk\u016fm, kte\u0159\u00ed realizuj\u00ed instrukce p\u0159edzpracov\u00e1n\u00ed a vrac\u00ed je zp\u011bt stejn\u00fdm socketem:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Michail Makurov, Maxim \u010cern\u011bcov (Intersvyaz): Zabbix, 100kNVPS na jednom serveru\" src=\"\/wp-content\/uploads\/2020\/02\/d647caf3886f0c9378a32314e812edc1.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPo tomto p\u0159ede\u0161le zpracov\u00e1n\u00ed mana\u017eer uchov\u00e1v\u00e1 je v historii mezipam\u011bti:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Michail Makurov, Maxim \u010cern\u011bcov (Intersvyaz): Zabbix, 100kNVPS na jednom serveru\" src=\"\/wp-content\/uploads\/2020\/02\/ff0e29b0d974d76bd3a3b71d36a1cc68.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nOdtud je odeb\u00edraj\u00ed synchroniz\u00e1tory historie, kter\u00e9 vykon\u00e1vaj\u00ed pom\u011brn\u011b mnoho funkc\u00ed: nap\u0159\u00edklad v\u00fdpo\u010dty spou\u0161t\u011b\u010d\u016f, napl\u0148ov\u00e1n\u00ed mezipam\u011bti hodnot a, co je nejd\u016fle\u017eit\u011bj\u0161\u00ed, ukl\u00e1d\u00e1n\u00ed metrik do \u00falo\u017ei\u0161t\u011b historie. Celkov\u011b je proces slo\u017eit\u00fd a velmi zmaten\u00fd.<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Michail Makurov, Maxim \u010cern\u011bcov (Intersvyaz): Zabbix, 100kNVPS na jednom serveru\" src=\"\/wp-content\/uploads\/2020\/02\/c418a17edeb9153a03dff233aa8f715e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>MM:<\/b> \u2013 Prvn\u00ed, co jsme vid\u011bli, bylo, \u017ee v\u011bt\u0161ina vl\u00e1ken sout\u011b\u017e\u00ed o tzv. \u201ekonfigura\u010dn\u00ed mezipam\u011b\u0165\u201c (oblast pam\u011bti, kde jsou ulo\u017eeny v\u0161echny konfigurace serveru). Zejm\u00e9na velk\u00fd po\u010det blokac\u00ed vytv\u00e1\u0159ej\u00ed vl\u00e1kna zodpov\u011bdn\u00e1 za z\u00edsk\u00e1v\u00e1n\u00ed dat:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Michail Makurov, Maxim \u010cern\u011bcov (Intersvyaz): Zabbix, 100kNVPS na jednom serveru\" src=\"\/wp-content\/uploads\/2020\/02\/589d8f564ece6e63457450e9c5081b80.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u2026proto\u017ee v konfiguraci jsou ulo\u017eeny nejen metriky s jejich parametry, ale i fronty, z nich\u017e pollery z\u00edsk\u00e1vaj\u00ed informace o tom, co maj\u00ed d\u011blat d\u00e1l. Kdy\u017e je mnoho poller\u016f a jedno blokuje konfiguraci, ostatn\u00ed \u010dekaj\u00ed na po\u017eadavky:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Michail Makurov, Maxim \u010cern\u011bcov (Intersvyaz): Zabbix, 100kNVPS na jednom serveru\" src=\"\/wp-content\/uploads\/2020\/02\/8026cdfcd7def84cb3708b7255b08c66.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Pollery by nem\u011bly konfliktovat<\/h3>\n<p>\n<img decoding=\"async\" alt=\"HighLoad++, Michail Makurov, Maxim \u010cern\u011bcov (Intersvyaz): Zabbix, 100kNVPS na jednom serveru\" src=\"\/wp-content\/uploads\/2020\/02\/d436cd3415a6f58e1db5a609689c12b6.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nProto jsme jako prvn\u00ed rozd\u011bli frontu na 4 \u010d\u00e1sti a povolili poller\u016fm v bezpe\u010dn\u00fdch podm\u00ednk\u00e1ch blokovat tyto fronty, tyto \u010d\u00e1sti sou\u010dasn\u011b:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Michail Makurov, Maxim \u010cern\u011bcov (Intersvyaz): Zabbix, 100kNVPS na jednom serveru\" src=\"\/wp-content\/uploads\/2020\/02\/9466e5f0053dff583e76713f10e30a89.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTo odstranilo sout\u011b\u017e o konfigura\u010dn\u00ed mezipam\u011b\u0165 a rychlost pr\u00e1ce poller\u016f se v\u00fdrazn\u011b zv\u00fd\u0161ila. Ale pak jsme \u010delili tomu, \u017ee mana\u017eer p\u0159edzpracov\u00e1n\u00ed za\u010dal hromadit frontu \u00fakol\u016f:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Michail Makurov, Maxim \u010cern\u011bcov (Intersvyaz): Zabbix, 100kNVPS na jednom serveru\" src=\"\/wp-content\/uploads\/2020\/02\/dd58e625823310fb0a818ed81abdceac.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Mana\u017eer p\u0159edzpracov\u00e1n\u00ed by m\u011bl um\u011bt stanovit priority<\/h3>\n<p>\nTo se d\u011blo v p\u0159\u00edpadech, kdy mu chyb\u011bla v\u00fdkonnost. Tehdy jedin\u00e9, co mohl, bylo hromadit po\u017eadavky od proces\u016f sb\u011bru dat a ukl\u00e1dat je do vyrovn\u00e1vac\u00ed pam\u011bti, dokud mu nezaplnily ve\u0161kerou pam\u011b\u0165 a nespadl:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Michail Makurov, Maxim \u010cern\u011bcov (Intersvyaz): Zabbix, 100kNVPS na jednom serveru\" src=\"\/wp-content\/uploads\/2020\/02\/b215d880863d470ea6ca960c6338b8ae.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAbychom tento probl\u00e9m vy\u0159e\u0161ili, p\u0159idali jsme druh\u00fd socket, kter\u00fd byl vyhrazen speci\u00e1ln\u011b pro pracovn\u00edky:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Michail Makurov, Maxim \u010cern\u011bcov (Intersvyaz): Zabbix, 100kNVPS na jednom serveru\" src=\"\/wp-content\/uploads\/2020\/02\/09d1bb92a009f9d29ba68d966de54210.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nT\u00edmto zp\u016fsobem z\u00edskal mana\u017eer p\u0159edzpracov\u00e1n\u00ed mo\u017enost priorizovat svou pr\u00e1ci a v p\u0159\u00edpad\u011b zv\u011bt\u0161ov\u00e1n\u00ed vyrovn\u00e1vac\u00ed pam\u011bti zastavit z\u00edsk\u00e1v\u00e1n\u00ed, co\u017e d\u00e1v\u00e1 pracovn\u00edk\u016fm mo\u017enost tuto vyrovn\u00e1vac\u00ed pam\u011b\u0165 vyzvednout:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Michail Makurov, Maxim \u010cern\u011bcov (Intersvyaz): Zabbix, 100kNVPS na jednom serveru\" src=\"\/wp-content\/uploads\/2020\/02\/8f4db3661c428e6e6dcfe4cc0c44c016.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPot\u00e9 jsme zjistili, \u017ee jednou z p\u0159\u00ed\u010din zpomalen\u00ed byli samotn\u00ed pracovn\u00edci, proto\u017ee sout\u011b\u017eili o naprosto ned\u016fle\u017eit\u00fd zdroj pro svou pr\u00e1ci. Tento probl\u00e9m jsme vy\u0159e\u0161ili opravou chyb a v nov\u00fdch verz\u00edch \u201eZabbixu\u201c je ji\u017e vy\u0159e\u0161en:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Michail Makurov, Maxim \u010cern\u011bcov (Intersvyaz): Zabbix, 100kNVPS na jednom serveru\" src=\"\/wp-content\/uploads\/2020\/02\/eedb359823dd23d369339e3735e341fb.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Zv\u011bt\u0161ujeme po\u010det socket\u016f - m\u00e1me v\u00fdsledek<\/h3>\n<p>\nDal\u0161\u00ed s\u00e1m mana\u017eer p\u0159edzpracov\u00e1n\u00ed se stal \u00fazk\u00fdm m\u00edstem, proto\u017ee to je jedno vl\u00e1kno. Narazil na rychlost j\u00e1dra, co\u017e d\u00e1v\u00e1 maxim\u00e1ln\u00ed rychlost p\u0159ibli\u017en\u011b 70 tis\u00edc metrik za sekundu:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Michail Makurov, Maxim \u010cern\u011bcov (Intersvyaz): Zabbix, 100kNVPS na jednom serveru\" src=\"\/wp-content\/uploads\/2020\/02\/f93ccbc656c0f9e103873d99a9397495.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nProto jsme vytvo\u0159ili \u010dty\u0159i, se \u010dty\u0159mi sadami soket\u016f, pracovn\u00edk\u016f:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Michail Makurov, Maxim \u010cern\u011bcov (Intersvyaz): Zabbix, 100kNVPS na jednom serveru\" src=\"\/wp-content\/uploads\/2020\/02\/81a3dea3aa0f8807add8d045cf64a609.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nA to umo\u017enilo zv\u00fd\u0161it rychlost na p\u0159ibli\u017en\u011b 130 tis\u00edc metrik:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Michail Makurov, Maxim \u010cern\u011bcov (Intersvyaz): Zabbix, 100kNVPS na jednom serveru\" src=\"\/wp-content\/uploads\/2020\/02\/016ff07cd021a7221caef19e6ce36a9b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNeline\u00e1rn\u00ed r\u016fst je vysv\u011btlen t\u00edm, \u017ee se objevila konkurence o cache historie. O tu sout\u011b\u017eilo 4 preprocesorov\u00e9 mana\u017eery a history-synkroniz\u00e1tory. V t\u00e9 dob\u011b jsme na testovac\u00edm stroji z\u00edskali p\u0159ibli\u017en\u011b 130 tis\u00edc metrik za sekundu, vyu\u017e\u00edvaj\u00edc procesor p\u0159ibli\u017en\u011b na 95 %:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Michail Makurov, Maxim \u010cern\u011bcov (Intersvyaz): Zabbix, 100kNVPS na jednom serveru\" src=\"\/wp-content\/uploads\/2020\/02\/62162254cd8bc66c1cef697158691588.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<i>P\u0159ed asi 2,5 m\u011bs\u00edci<\/i><\/p>\n<h3>Zru\u0161en\u00ed snmp-community zv\u00fd\u0161ilo NVPs na 1,5 n\u00e1sobek<\/h3>\n<p>\n<b>MM:<\/b> \u2013 Maxe, pot\u0159ebuji nov\u00fd testovac\u00ed stroj! Do sou\u010dasn\u00e9ho se u\u017e nevejdeme.<\/p>\n<p><b>M\u0427:<\/b> \u2013 A co te\u010f m\u00e1me?<\/p>\n<p><b>MM:<\/b> \u2013 Te\u010f m\u00e1me 130k NVPs a procesor \"v klidu\".<\/p>\n<p><b>M\u0427:<\/b> \u2013 P\u00e1ni! Super! Po\u010dkej, m\u00e1m dv\u011b ot\u00e1zky. Podle m\u00e9ho v\u00fdpo\u010dtu je na\u0161e pot\u0159eba okolo 15-20 tis\u00edc metrik za sekundu. Pro\u010d pot\u0159ebujeme v\u00edc?<\/p>\n<p><b>MM:<\/b> \u2013 Chci to dot\u00e1hnout do konce. Chci zjistit, kolik toho m\u016f\u017eeme ze syst\u00e9mu vyt\u00e1hnout.<\/p>\n<p><b>M\u0427:<\/b> \u2013 Ale\u2026<\/p>\n<p><b>MM:<\/b> \u2013 Ale pro byznys je to k ni\u010demu.<\/p>\n<p><b>M\u0427:<\/b> \u2013 Rozum\u00edm. A druh\u00e1 ot\u00e1zka: to, co m\u00e1me te\u010f, budeme schopni udr\u017eovat sami, bez pomoci v\u00fdvoj\u00e1\u0159e?<\/p>\n<p><b>MM:<\/b> \u2013 Nemysl\u00edm si. Zm\u011bna pr\u00e1ce s konfigura\u010dn\u00edm cachem je probl\u00e9m. T\u00fdk\u00e1 se zm\u011bn v v\u011bt\u0161in\u011b tok\u016f a je dost slo\u017eit\u00e1 na \u00fadr\u017ebu. Pravd\u011bpodobn\u011b to bude velmi t\u011b\u017ek\u00e9 udr\u017eovat.<\/p>\n<p><b>M\u0427:<\/b> \u2013 Pak pot\u0159ebujeme n\u011bjakou alternativu.<\/p>\n<p><b>MM:<\/b> \u2013 Existuje takov\u00e1 mo\u017enost. M\u016f\u017eeme p\u0159ej\u00edt na rychl\u00e1 j\u00e1dra, p\u0159i\u010dem\u017e se vzd\u00e1me nov\u00e9 syst\u00e9mu z\u00e1mku. P\u0159esto z\u00edsk\u00e1me v\u00fdkon 60-80 tis\u00edc metrik. A z\u00e1rove\u0148 si m\u016f\u017eeme ponechat cel\u00fd ostatn\u00ed k\u00f3d. \"Clickhouse\" a asynchronn\u00ed polling budou fungovat. A to bude snadn\u00e9 udr\u017eovat.<\/p>\n<p><b>M\u0427:<\/b> \u2013 Skv\u011bl\u00e9! Navrhuji se na tom zastavit.<\/p>\n<p>Po optimalizaci serverov\u00e9 \u010d\u00e1sti jsme kone\u010dn\u011b byli schopni spustit nov\u00fd k\u00f3d v produkci. Vzdali jsme se \u010d\u00e1sti zm\u011bn ve prosp\u011bch p\u0159echodu na stroj s rychl\u00fdmi j\u00e1dry a minimalizace po\u010dtu zm\u011bn v k\u00f3du. Tak\u00e9 jsme zjednodu\u0161ili konfiguraci a pokud to bylo mo\u017en\u00e9, vzdali jsme se makr v datov\u00fdch prvc\u00edch, proto\u017ee jsou zdrojem dodate\u010dn\u00fdch z\u00e1mk\u016f.<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Michail Makurov, Maxim \u010cern\u011bcov (Intersvyaz): Zabbix, 100kNVPS na jednom serveru\" src=\"\/wp-content\/uploads\/2020\/02\/2b1ed396b09bd815fba973ebb5f73d76.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNap\u0159\u00edklad zru\u0161en\u00ed \u010dasto se vyskytuj\u00edc\u00edho v dokumentaci a p\u0159\u00edkladech makra snmp-community v na\u0161em p\u0159\u00edpad\u011b umo\u017enilo nav\u00edc urychlit NVPs p\u0159ibli\u017en\u011b 1,5 n\u00e1sobn\u011b.<\/p>\n<p><i>Po dvou dnech v produkci<\/i><\/p>\n<h3>Odstra\u0148ujeme vyskakovac\u00ed okna historie incident\u016f<\/h3>\n<p>\n<b>M\u0427:<\/b> \u2013 M\u00ed\u0161o, u\u017e dva dny pou\u017e\u00edv\u00e1me syst\u00e9m a v\u0161echno funguje. Ale jen kdy\u017e v\u0161echno funguje! M\u011bli jsme pl\u00e1novan\u00e9 pr\u00e1ce s p\u0159enosem docela velk\u00e9ho segmentu s\u00edt\u011b a znovu jsme ru\u010dn\u011b kontrolovali, co se zvedlo, co \u2013 ne.<\/p>\n<p><b>MM:<\/b> \u2013 To nen\u00ed mo\u017en\u00e9! Kontrolovali jsme to 10kr\u00e1t. Server reaguje na \u00faplnou nedostupnost s\u00edt\u011b okam\u017eit\u011b.<\/p>\n<p><b>M\u0427:<\/b> \u2013 V\u0161echno ch\u00e1pu: server, datab\u00e1ze, top, austat, logy \u2013 v\u0161echno rychle\u2026 Ale my se d\u00edv\u00e1me na webov\u00e9 rozhran\u00ed a tam \u2013 procesor \u201ev klidu\u201c na serveru a tohle:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Michail Makurov, Maxim \u010cern\u011bcov (Intersvyaz): Zabbix, 100kNVPS na jednom serveru\" src=\"\/wp-content\/uploads\/2020\/02\/828a44d71f67ac585055bffcc01ab46e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>MM:<\/b> \u2013 Jasn\u011b. Poj\u010fme se pod\u00edvat na web. Zjistili jsme, \u017ee v situaci, kdy bylo velk\u00e9 mno\u017estv\u00ed aktivn\u00edch incident\u016f, v\u011bt\u0161ina opera\u010dn\u00edch widget\u016f za\u010dala fungovat velmi pomalu:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Michail Makurov, Maxim \u010cern\u011bcov (Intersvyaz): Zabbix, 100kNVPS na jednom serveru\" src=\"\/wp-content\/uploads\/2020\/02\/22fdb735aa6136cd9967b40341d2a5cf.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nP\u0159\u00ed\u010dinou byla generace vyskakovac\u00edch oken s histori\u00ed incident\u016f, kter\u00e1 se generuj\u00ed pro ka\u017ed\u00fd prvek v seznamu. Proto jsme se vzdali generace t\u011bchto oken (zakomentovali jsme 5 \u0159\u00e1dk\u016f v k\u00f3du) a to vy\u0159e\u0161ilo na\u0161e probl\u00e9my.<\/p>\n<p>\u010cas na\u010d\u00edt\u00e1n\u00ed widget\u016f i p\u0159i \u00fapln\u00e9 nedostupnosti se zkr\u00e1til z n\u011bkolika minut na pro n\u00e1s p\u0159ijateln\u00fdch 10-15 sekund, a historii st\u00e1le lze sledovat kliknut\u00edm na \u010das:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Michail Makurov, Maxim \u010cern\u011bcov (Intersvyaz): Zabbix, 100kNVPS na jednom serveru\" src=\"\/wp-content\/uploads\/2020\/02\/d15341ce76578880a23651a7a68dd802.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<i>Po pr\u00e1ci. P\u0159ed 2 m\u011bs\u00edci<\/i><\/p>\n<p><b>M\u0427:<\/b> \u2013 M\u00ed\u0161o, odch\u00e1z\u00ed\u0161? M\u00e1m n\u011bco na srdci.<\/p>\n<p><b>MM:<\/b> \u2013 Nepl\u00e1noval jsem. Zase n\u011bco s \u201eZabbixem\u201c?<\/p>\n<p><b>M\u0427:<\/b> \u2013 Ne, klid! Jen jsem cht\u011bl \u0159\u00edct: v\u0161echno funguje, d\u00edky! D\u00e1m ti pivo.<\/p>\n<h3>Zabbix je efektivn\u00ed<\/h3>\n<p>\n\u201eZabbix\u201c je dost univerz\u00e1ln\u00ed a bohat\u00fd syst\u00e9m a funkce. M\u016f\u017ee b\u00fdt bez probl\u00e9m\u016f pou\u017e\u00edv\u00e1n pro mal\u00e9 instalace \u201ez krabice\u201c, ale s rostouc\u00edmi pot\u0159ebami je t\u0159eba ho optimalizovat. Pro uchov\u00e1v\u00e1n\u00ed velk\u00e9ho archivu metrik pou\u017eijte vhodn\u00e9 \u00falo\u017ei\u0161t\u011b:<\/p>\n<ul>\n<li>m\u016f\u017eete vyu\u017e\u00edt integrovan\u00e9 prost\u0159edky v podob\u011b integrace s \u201eElasticSearch\u201c nebo exportu historie do textov\u00fdch soubor\u016f (dostupn\u00e9 od \u010dtvrt\u00e9 verze);<\/li>\n<li>m\u016f\u017eete vyu\u017e\u00edt na\u0161e zku\u0161enosti a integraci s \u201eClickHouse\u201c.<\/li>\n<\/ul>\n<p>\nPro z\u00e1sadn\u00ed zv\u00fd\u0161en\u00ed rychlosti sb\u011bru metrik sb\u00edrejte je asynchronn\u00edmi metodami a p\u0159en\u00e1\u0161ejte je p\u0159es trapper interface na \u201eZabbix\u201c server; nebo m\u016f\u017eete vyu\u017e\u00edt patch pro asynchronn\u00ed pol\u00edry samotn\u00e9ho \u201eZabbixu\u201c.<\/p>\n<p>Zabbix je naps\u00e1n v C a je dostate\u010dn\u011b efektivn\u00ed. \u0158e\u0161en\u00ed n\u011bkolika \u00fazk\u00fdch architektonick\u00fdch m\u00edst umo\u017e\u0148uje dodate\u010dn\u011b zv\u00fd\u0161it jeho v\u00fdkon a podle na\u0161ich zku\u0161enost\u00ed z\u00edsk\u00e1vat v\u00edce ne\u017e 100 tis\u00edc metrik na jednovrstv\u00e9 ma\u0161in\u011b.<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Michail Makurov, Maxim \u010cern\u011bcov (Intersvyaz): Zabbix, 100kNVPS na jednom serveru\" src=\"\/wp-content\/uploads\/2020\/02\/46559b481b5e53dc3cc3d2562a94531d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Ten prap\u016fvodn\u00ed patch Zabbix<\/h3>\n<p>\n<b>MM:<\/b> - Chci p\u0159idat p\u00e1r bod\u016f. Cel\u00e1 sou\u010dasn\u00e1 zpr\u00e1va, v\u0161echny testy, \u010d\u00edsla jsou uvedena pro tu konfiguraci, kter\u00e1 je u n\u00e1s pou\u017e\u00edv\u00e1na. Z n\u00ed aktu\u00e1ln\u011b sb\u00edr\u00e1me p\u0159ibli\u017en\u011b 20 tis\u00edc metrik za sekundu. Pokud se sna\u017e\u00edte pochopit, zda to bude fungovat u v\u00e1s \u2013 m\u016f\u017eete srovnat. To, co bylo dnes \u0159e\u010deno, je zve\u0159ejn\u011bno na GitHubu jako patch: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/miklert\/zabbix\">github.com\/miklert\/zabbix<\/a><\/noindex><\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Michail Makurov, Maxim \u010cern\u011bcov (Intersvyaz): Zabbix, 100kNVPS na jednom serveru\" src=\"\/wp-content\/uploads\/2020\/02\/e5880b2f01cb03809057db08306b23c7.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPatch zahrnuje:<\/p>\n<ul>\n<li>\u00faplnou integraci s ClickHouse (jak serverem Zabbix, tak frontendem);<\/li>\n<li>\u0159e\u0161en\u00ed probl\u00e9m\u016f s preprocesorov\u00fdm spr\u00e1vcem;<\/li>\n<li>asynchronn\u00ed polling.<\/li>\n<\/ul>\n<p>\nPatch je kompatibiln\u00ed se v\u0161echny verze 4, v\u010detn\u011b lts. Pravd\u011bpodobn\u011b s minim\u00e1ln\u00edmi zm\u011bnami bude fungovat na verzi 3.4.<\/p>\n<p>D\u011bkuji za pozornost.<\/p>\n<h3>Ot\u00e1zky<\/h3>\n<p>\nOt\u00e1zka z publika (d\u00e1le A): - Dobr\u00fd den! M\u016f\u017eete mi pros\u00edm \u0159\u00edci, m\u00e1te pl\u00e1ny na intenzivn\u00ed spolupr\u00e1ci s t\u00fdmem Zabbix nebo oni s v\u00e1mi, aby to nebyl patch, ale norm\u00e1ln\u00ed chov\u00e1n\u00ed Zabbix?<\/p>\n<p><b>MM:<\/b> - Ano, \u010d\u00e1st zm\u011bn ur\u010dit\u011b commitneme. N\u011bco bude, ale n\u011bco z\u016fstane v patchi.<\/p>\n<p><b>A:<\/b> - D\u011bkuji moc za skv\u011blou prezentaci! M\u016f\u017eete mi pros\u00edm \u0159\u00edci, po aplikaci patchu, z\u016fstane podpora od Zabbix a jak se d\u00e1l aktualizovat na vy\u0161\u0161\u00ed verze? Bude mo\u017enost aktualizovat Zabbix po va\u0161em patchi na 4.2, 5.0?<\/p>\n<p><b>MM:<\/b> - O podpo\u0159e nemohu \u0159\u00edci. Kdybych byl technickou podporou Zabbix, asi bych \u0159ekl ne, proto\u017ee to je ciz\u00ed k\u00f3d. Co se t\u00fd\u010de k\u00f3dov\u00e9 z\u00e1kladny 4.2, na\u0161e pozice je n\u00e1sleduj\u00edc\u00ed: 'P\u016fjdeme s dobou a sami se budeme aktualizovat na dal\u0161\u00ed verzi'. Tak\u017ee n\u011bjakou dobu budeme vyd\u00e1vat patch pro aktualizovan\u00e9 verze. U\u017e jsem zm\u00ednil ve zpr\u00e1v\u011b: po\u010det zm\u011bn s verzemi je zat\u00edm pom\u011brn\u011b mal\u00fd. Mysl\u00edm, \u017ee p\u0159echod z 3.4 na 4 n\u00e1m zabral asi 15 minut. N\u011bco se zm\u011bnilo, ale nen\u00ed to tak d\u016fle\u017eit\u00e9.<\/p>\n<p><b>A:<\/b> - Tak\u017ee pl\u00e1nujete udr\u017eovat sv\u016fj patch a jeho nasazen\u00ed na produk\u010dn\u00ed prost\u0159ed\u00ed je bezpe\u010dn\u00e9, i s mo\u017enost\u00ed budouc\u00edch aktualizac\u00ed?<\/p>\n<p><b>MM:<\/b> - To rozhodn\u011b doporu\u010dujeme. \u0158e\u0161\u00ed to pro n\u00e1s spoustu probl\u00e9m\u016f.<\/p>\n<p><b>M\u0427:<\/b> \u2013 Je\u0161t\u011b jednou bych r\u00e1d zd\u016fraznil, \u017ee zm\u011bny, kter\u00e9 se net\u00fdkaj\u00ed architektury a ne\u0159e\u0161\u00ed blokace a fronty, jsou modul\u00e1rn\u00ed, nach\u00e1zej\u00ed se v odd\u011blen\u00fdch modulech. I p\u0159i drobn\u00fdch zm\u011bn\u00e1ch je lze pom\u011brn\u011b snadno udr\u017eovat.<\/p>\n<p><b>MM:<\/b> \u2013 Pokud v\u00e1s zaj\u00edmaj\u00ed podrobnosti, pak \"ClickHouse\" pou\u017e\u00edv\u00e1 tzv. knihovnu historie. Je to odd\u011blen\u00e1 \u010d\u00e1st \u2013 je to kopie podpory \"Elastix\", to znamen\u00e1, \u017ee se d\u00e1 konfigurovat. Polling m\u011bn\u00ed pouze pollery. V\u011b\u0159\u00edme, \u017ee to bude fungovat dlouho.<\/p>\n<p><b>A:<\/b> \u2013 D\u011bkuji mnohokr\u00e1t. A m\u016f\u017eete mi \u0159\u00edct, zda existuje n\u011bjak\u00e1 dokumentace ke proveden\u00fdm zm\u011bn\u00e1m?<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Michail Makurov, Maxim \u010cern\u011bcov (Intersvyaz): Zabbix, 100kNVPS na jednom serveru\" src=\"\/wp-content\/uploads\/2020\/02\/f3842ba578f736721c96794941b8f071.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>MM:<\/b> \u2013 Dokumentace je patch. O\u010dividn\u011b, s zaveden\u00edm \"ClickHouse\" a nov\u00fdch typ\u016f poller\u016f se objevuj\u00ed nov\u00e9 konfigura\u010dn\u00ed mo\u017enosti. Na odkaze z posledn\u00edho slidu je kr\u00e1tk\u00fd popis, jak to pou\u017e\u00edvat.<\/p>\n<h3>O nahrazen\u00ed fping n\u00e1strojem nmap<\/h3>\n<p>\n<b>A:<\/b> \u2013 Jak jste to nakonec realizovali? M\u016f\u017eete uv\u00e9st konkr\u00e9tn\u00ed p\u0159\u00edklady: m\u00e1te stupn\u011b a extern\u00ed skript? Co nakonec tak rychle kontroluje ohromn\u00e9 mno\u017estv\u00ed hostitel\u016f? Jak tyto hostitele z\u00edsk\u00e1v\u00e1te? Mus\u00edte nmapu n\u011bjak dostat data, z\u00edskat je odkudsi, ulo\u017eit, spustit n\u011bco?<\/p>\n<p><b>MM:<\/b> \u2013 Skv\u011bl\u00e9. Velmi spr\u00e1vn\u00e1 ot\u00e1zka! Podstata je takov\u00e1. Modifikovali jsme knihovnu (ICMP ping, sou\u010d\u00e1st \"Zabbixu\") pro ICMP kontroly, kde je stanoveno mno\u017estv\u00ed paket\u016f \u2013 jednotka (1), a k\u00f3d se sna\u017e\u00ed pou\u017e\u00edvat nmap. To znamen\u00e1, \u017ee to je intern\u00ed pr\u00e1ce \"Zabbixu\", stalo se to intern\u00ed prac\u00ed pingeru. T\u00edm p\u00e1dem nen\u00ed pot\u0159eba \u017e\u00e1dn\u00e1 synchronizace nebo vyu\u017e\u00edv\u00e1n\u00ed tr\u00e1ppera. Bylo to provedeno z\u00e1m\u011brn\u011b, aby z\u016fstala syst\u00e9m kompletn\u00ed a nebylo pot\u0159eba se v\u011bnovat synchronizaci dvou datab\u00e1z\u00ed: co kontrolovat, jak to vlo\u017eit p\u0159es poller, a jestli n\u00e1m nepadla funk\u010dnost... To je mnohem jednodu\u0161\u0161\u00ed.<\/p>\n<p><b>A:<\/b> \u2013 Funguje to i pro proxy?<\/p>\n<p><b>MM:<\/b> \u2013 Ano, ale nezkou\u0161eli jsme to. K\u00f3d pollingu je jak v \"Zabbixu\", tak na serveru jednotn\u00fd. M\u011blo by to fungovat. Je\u0161t\u011b jednou zd\u016fraz\u0148uji: v\u00fdkon syst\u00e9mu je takov\u00fd, \u017ee proxy nepot\u0159ebujeme.<\/p>\n<p><b>M\u0427:<\/b> \u2013 Spr\u00e1vn\u00e1 odpov\u011b\u010f na ot\u00e1zku je: \"Pro\u010d pot\u0159ebujete proxy p\u0159i takov\u00e9m syst\u00e9mu?\" Jen kv\u016fli NATu nebo pro sledov\u00e1n\u00ed p\u0159es n\u011bjak\u00fd pomal\u00fd kan\u00e1l...<\/p>\n<p><b>A:<\/b> \u2013 Pou\u017e\u00edv\u00e1te \"Zabbix\" jako alergator, pokud jsem to spr\u00e1vn\u011b pochopil. Nebo jste grafy (kde je archiva\u010dn\u00ed vrstva) p\u0159esunuli do jin\u00e9ho syst\u00e9mu, jako je Grafana? Nebo tento funk\u010dn\u00ed prvek nepou\u017e\u00edv\u00e1te?<\/p>\n<p><b>MM:<\/b> \u2013 Je\u0161t\u011b jednou zd\u016frazn\u00edm: provedli jsme kompletn\u00ed integraci. P\u0159en\u00e1\u0161\u00edme historii do 'Clickhouse', ale z\u00e1rove\u0148 jsme zm\u011bnili php frontend. Php frontend na\u010d\u00edt\u00e1 data z 'Clickhouse' a v\u0161echny grafy jsou generov\u00e1ny odtud. P\u0159itom, abych byl up\u0159\u00edmn\u00fd, m\u00e1me \u010d\u00e1st, kter\u00e1 vytv\u00e1\u0159\u00ed z 'Clickhouse' na z\u00e1klad\u011b stejn\u00fdch dat 'Zabbixu' data do jin\u00fdch syst\u00e9m\u016f grafick\u00e9ho zobrazen\u00ed.<\/p>\n<p><b>M\u0427:<\/b> \u2013 V 'Grafan\u011b', mimo jin\u00e9.<\/p>\n<h3>Jak bylo p\u0159ijato rozhodnut\u00ed o p\u0159id\u011blen\u00ed zdroj\u016f?<\/h3>\n<p>\n<b>A:<\/b> \u2013 Pod\u011blte se trochu o vnit\u0159n\u00ed fungov\u00e1n\u00ed. Jak bylo p\u0159ijato rozhodnut\u00ed, \u017ee je pot\u0159eba p\u0159id\u011blit zdroje na v\u00e1\u017en\u00e9 p\u0159epracov\u00e1n\u00ed produktu? To p\u0159in\u00e1\u0161\u00ed ur\u010dit\u00e9 rizika. A pros\u00edm, \u0159ekn\u011bte n\u00e1m, v kontextu toho, \u017ee pl\u00e1nujete podporovat nov\u00e9 verze: jak se toto rozhodnut\u00ed ospravedl\u0148uje z pohledu \u0159\u00edzen\u00ed?<\/p>\n<p><b>MM:<\/b> \u2013 Zd\u00e1 se, \u017ee jsme p\u0159\u00edb\u011bh nevypr\u00e1v\u011bli moc dob\u0159e. Ocitli jsme se v situaci, kdy bylo pot\u0159eba n\u011bco ud\u011blat, a \u0161li jsme vlastn\u011b po dvoj\u00ed paraleln\u00ed linii:<\/p>\n<ul>\n<li>Jedna se zab\u00fdvala spu\u0161t\u011bn\u00edm monitorovac\u00edho syst\u00e9mu s nov\u00fdmi metodami: monitorov\u00e1n\u00ed jako slu\u017eba, standardn\u00ed sada open-source \u0159e\u0161en\u00ed, kter\u00e1 kombinujeme a n\u00e1sledn\u011b se sna\u017e\u00edme zm\u011bnit obchodn\u00ed proces, abychom mohli pracovat s nov\u00fdm monitorovac\u00edm syst\u00e9mem.<\/li>\n<li>Sou\u010dasn\u011b jsme m\u011bli nad\u0161en\u00e9ho program\u00e1tora, kter\u00fd se t\u00edm zab\u00fdval (o sob\u011b). Stalo se, \u017ee zv\u00edt\u011bzil.<\/li>\n<\/ul>\n<p>\n<b>A:<\/b> \u2013 Jak\u00e1 je velikost t\u00fdmu?<\/p>\n<p><b>M\u0427:<\/b> \u2013 Ten je p\u0159ed v\u00e1mi.<\/p>\n<p><b>A:<\/b> \u2013 To znamen\u00e1, \u017ee jako v\u017edy pot\u0159ebujeme v\u00e1\u0161niv\u00e9ho \u010dlov\u011bka?<\/p>\n<p><b>MM:<\/b> \u2013 Nev\u00edm, co to znamen\u00e1, v\u00e1\u0161niv\u00fd \u010dlov\u011bk.<\/p>\n<p><b>A:<\/b> \u2013 V tomto p\u0159\u00edpad\u011b, zd\u00e1 se, vy. D\u011bkuji moc, jste skv\u011bl\u00ed.<\/p>\n<p><b>MM:<\/b> \u2013 D\u011bkuji.<\/p>\n<h3>O pac\u00edch pro Zabbix<\/h3>\n<p>\n<b>A:<\/b> \u2013 Pro syst\u00e9m, kter\u00fd pou\u017e\u00edv\u00e1 proxy (nap\u0159\u00edklad v n\u011bjak\u00fdch distribuovan\u00fdch syst\u00e9mech), je mo\u017en\u00e9 va\u0161e \u0159e\u0161en\u00ed p\u0159izp\u016fsobit a patchnout, \u0159ekn\u011bme pollery, proxy a \u010d\u00e1ste\u010dn\u011b preprocesor samotn\u00e9ho 'Zabbixu'; a jejich interakci? Je mo\u017en\u00e9 existuj\u00edc\u00ed v\u00fdstupy optimalizovat pro syst\u00e9m s n\u011bkolika proxy?<\/p>\n<p><b>MM:<\/b> \u2013 V\u00edm, \u017ee 'Zabbix' server se konstruuje pomoc\u00ed proxy (kompilac\u00ed a vznik\u00e1 k\u00f3d). To jsme neov\u011b\u0159ovali v produkci. Nejsem si t\u00edm jist\u00fd, ale mysl\u00edm, \u017ee preprocesor mana\u017eer se v proxy nepou\u017e\u00edv\u00e1. \u00dakolem proxy je vz\u00edt sadu metrik z 'Zabbixu', st\u00e1hnout je (tak\u00e9 zaznamen\u00e1v\u00e1 konfiguraci, m\u00edstn\u00ed datab\u00e1zi) a vr\u00e1tit zp\u011bt 'Zabbix' serveru. Preprocessing ji\u017e provede samotn\u00fd server, a\u017e je obdr\u017e\u00ed.<\/p>\n<p>Z\u00e1jem o proxy je jasn\u00fd. Otestujeme to. Je to zaj\u00edmav\u00e9 t\u00e9ma.<\/p>\n<p><b>A:<\/b> \u2013 My\u0161lenka byla takov\u00e1: pokud je mo\u017en\u00e9 patchovat pollery, mohou b\u00fdt patchov\u00e1ny na proxy a upravit interakci se serverem, a preprocesor pro tyto \u00fa\u010dely adaptovat pouze na serveru.<\/p>\n<p><b>MM:<\/b> \u2013 Mysl\u00edm, \u017ee je to dokonce jednodu\u0161\u0161\u00ed. Vezmete k\u00f3d, aplikujete patch, pak ho konfiguruje\u0161 tak, jak pot\u0159ebujete \u2013 sestav\u00edte proxy servery (nap\u0159\u00edklad s ODBC) a patchovan\u00fd k\u00f3d rozdistribuujete mezi syst\u00e9my. Kde je pot\u0159eba \u2013 sestav\u00edte proxy, kde je pot\u0159eba \u2013 server.<\/p>\n<p><b>A:<\/b> \u2013 Nebude t\u0159eba nav\u00edc patchovat p\u0159enos proxy k serveru, pravd\u011bpodobn\u011b?<\/p>\n<p><b>M\u0427:<\/b> \u2013 Ne, je standardn\u00ed.<\/p>\n<p><b>MM:<\/b> \u2013 Ve skute\u010dnosti jsme jednu z my\u0161lenek nezm\u00ednili. V\u017edy jsme se sna\u017eili udr\u017eet rovnov\u00e1hu mezi exploz\u00ed n\u00e1pad\u016f a mno\u017estv\u00edm zm\u011bn, snadnost\u00ed \u00fadr\u017eby.<\/p>\n<p><center><div class=\"youtube-placeholder\" data-id=\"3yRt9jSwrlg\" onclick=\"loadVideo(this)\">\r\n        <img decoding=\"async\" src=\"https:\/\/img.youtube.com\/vi\/3yRt9jSwrlg\/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>Mal\u00e1 reklama \ud83d\ude42<\/h3>\n<p>\nD\u011bkujeme, \u017ee s n\u00e1mi z\u016fst\u00e1v\u00e1te. L\u00edb\u00ed se v\u00e1m na\u0161e \u010dl\u00e1nky? Chcete vid\u011bt v\u00edce zaj\u00edmav\u00fdch materi\u00e1l\u016f? Podpo\u0159te n\u00e1s objedn\u00e1vkou nebo doporu\u010den\u00edm zn\u00e1m\u00fdm, <noindex><a rel=\"nofollow\" href=\"https:\/\/ua-hosting.company\/cloudvps\/nl\">cloudov\u00e9 VPS pro v\u00fdvoj\u00e1\u0159e od 4,99 $<\/a><\/noindex>, <b>unik\u00e1tn\u00ed alternativa entry-level server\u016f, kterou jsme pro v\u00e1s vymysleli:<\/b> <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/ua-hosting\/blog\/347386\/\">V\u0161echny pravdy o VPS (KVM) E5-2697 v3 (6 jader) 10GB DDR4 480GB SSD 1Gbps od 19 $ nebo jak spr\u00e1vn\u011b rozd\u011blit server?<\/a><\/noindex> (k dispozici varianty s RAID1 a RAID10, a\u017e 24 jader a a\u017e 40GB DDR4).<\/p>\n<p><b>Dell R730xd je dvakr\u00e1t levn\u011bj\u0161\u00ed v datov\u00e9m centru Equinix Tier IV v Amsterdamu?<\/b> Jen u n\u00e1s <b><noindex><a rel=\"nofollow\" href=\"https:\/\/ua-hosting.company\/serversnl\">2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TB od 199 $<\/a><\/noindex> v Nizozemsku! <b>Dell R420 \u2014 2x E5-2430 2.2GHz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB \u2014 od 99 $!<\/b><\/b> \u010ct\u011bte o tom <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/ua-hosting\/blog\/329618\/\">Jak postavit infrastrukturu podnikov\u00e9 t\u0159\u00eddy s pou\u017eit\u00edm server\u016f Dell R730xd E5-2650 v4 v hodnot\u011b 9000 eur za pakatel?<\/a><\/noindex><br \/>\n<br \/>Zdroj: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/486540\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u044f HighLoad++ \u043f\u0440\u043e\u0439\u0434\u0435\u0442 6 \u0438 7 \u0430\u043f\u0440\u0435\u043b\u044f 2020 \u0433\u043e\u0434\u0430 \u0432 \u0421\u0430\u043d\u043a\u0442-\u041f\u0435\u0442\u0435\u0440\u0431\u0443\u0440\u0433\u0435 \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u0438 \u0431\u0438\u043b\u0435\u0442\u044b \u043f\u043e \u0441\u0441\u044b\u043b\u043a\u0435. HighLoad++ Moscow 2018. \u0417\u0430\u043b \u00ab\u041c\u043e\u0441\u043a\u0432\u0430\u00bb. 9 \u043d\u043e\u044f\u0431\u0440\u044f, 15:00. \u0422\u0435\u0437\u0438\u0441\u044b \u0438 \u043f\u0440\u0435\u0437\u0435\u043d\u0442\u0430\u0446\u0438\u044f. * \u041c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u2014 \u043e\u043d\u043b\u0430\u0439\u043d \u0438 \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u043a\u0430. * \u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b ZABBIX. * \u0420\u0435\u0448\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u043a\u0438. * \u041e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f \u0441\u0435\u0440\u0432\u0435\u0440\u0430 ZABBIX. * \u041e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f UI. * \u041e\u043f\u044b\u0442 \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-56049","post","type-post","status-publish","format-standard","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=\"\u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u044f HighLoad++ \u043f\u0440\u043e\u0439\u0434\u0435\u0442 6 \u0438 7 \u0430\u043f\u0440\u0435\u043b\u044f 2020 \u0433\u043e\u0434\u0430 \u0432 \u0421\u0430\u043d\u043a\u0442-\u041f\u0435\u0442\u0435\u0440\u0431\u0443\u0440\u0433\u0435 \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u0438 \u0431\u0438\u043b\u0435\u0442\u044b \u043f\u043e \u0441\u0441\u044b\u043b\u043a\u0435.\" \/>\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\/highload-mihail-makurov-maksim-chernetsov-intersvyaz-zabbix-100knvps-na-odnom-servere\" \/>\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\udd47HighLoad++, \u041c\u0438\u0445\u0430\u0438\u043b \u041c\u0430\u043a\u0443\u0440\u043e\u0432, \u041c\u0430\u043a\u0441\u0438\u043c \u0427\u0435\u0440\u043d\u0435\u0446\u043e\u0432 (\u0418\u043d\u0442\u0435\u0440\u0441\u0432\u044f\u0437\u044c): Zabbix, 100kNVPS \u043d\u0430 \u043e\u0434\u043d\u043e\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0435 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u044f HighLoad++ \u043f\u0440\u043e\u0439\u0434\u0435\u0442 6 \u0438 7 \u0430\u043f\u0440\u0435\u043b\u044f 2020 \u0433\u043e\u0434\u0430 \u0432 \u0421\u0430\u043d\u043a\u0442-\u041f\u0435\u0442\u0435\u0440\u0431\u0443\u0440\u0433\u0435 \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u0438 \u0431\u0438\u043b\u0435\u0442\u044b \u043f\u043e \u0441\u0441\u044b\u043b\u043a\u0435.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/highload-mihail-makurov-maksim-chernetsov-intersvyaz-zabbix-100knvps-na-odnom-servere\" \/>\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=\"2020-02-03T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T11:04:13+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\udd47HighLoad++, Michail Makurov, Maxim \u010cernecov (Intersvjaz): Zabbix, 100kNVPS na jednom serveru | ProHoster","description":"Dal\u0161\u00ed konference HighLoad++ se uskute\u010dn\u00ed 6. a 7. dubna 2020 v Petrohrad\u011b. Podrobnosti a vstupenky naleznete na odkazu.","canonical_url":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/highload-mihail-makurov-maksim-chernetsov-intersvyaz-zabbix-100knvps-na-odnom-servere","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\udd47HighLoad++, \u041c\u0438\u0445\u0430\u0438\u043b \u041c\u0430\u043a\u0443\u0440\u043e\u0432, \u041c\u0430\u043a\u0441\u0438\u043c \u0427\u0435\u0440\u043d\u0435\u0446\u043e\u0432 (\u0418\u043d\u0442\u0435\u0440\u0441\u0432\u044f\u0437\u044c): Zabbix, 100kNVPS \u043d\u0430 \u043e\u0434\u043d\u043e\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0435 | ProHoster","og:description":"\u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u044f HighLoad++ \u043f\u0440\u043e\u0439\u0434\u0435\u0442 6 \u0438 7 \u0430\u043f\u0440\u0435\u043b\u044f 2020 \u0433\u043e\u0434\u0430 \u0432 \u0421\u0430\u043d\u043a\u0442-\u041f\u0435\u0442\u0435\u0440\u0431\u0443\u0440\u0433\u0435 \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u0438 \u0431\u0438\u043b\u0435\u0442\u044b \u043f\u043e \u0441\u0441\u044b\u043b\u043a\u0435.","og:url":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/highload-mihail-makurov-maksim-chernetsov-intersvyaz-zabbix-100knvps-na-odnom-servere","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":"2020-02-03T21:00:00+00:00","article:modified_time":"2020-02-18T11:04:13+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"56049","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":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 19:31:44","updated":"2022-09-30 17:33:39","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\/56049","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=56049"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/56049\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media?parent=56049"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/categories?post=56049"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/tags?post=56049"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}