{"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\/sq\/blog\/administrirovanie\/highload-mihail-makurov-maksim-chernetsov-intersvyaz-zabbix-100knvps-na-odnom-servere","title":{"rendered":"HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS n\u00eb nj\u00eb server","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Konferenca e ardhshme HighLoad++ do t\u00eb zhvillohet m\u00eb 6 dhe 7 prill 2020 n\u00eb Sh\u00ebn Petersburg. Detajet dhe biletat. <noindex><a rel=\"nofollow\" href=\"http:\/\/bit.ly\/2sSxgBx\">n\u00eb lidhje<\/a><\/noindex>. HighLoad++ Mosk\u00eb 2018. Salla \u00abMoska\u00bb. 9 n\u00ebntor, 15:00. Abstraktet dhe <noindex><a rel=\"nofollow\" href=\"http:\/\/www.highload.ru\/moscow\/2018\/abstracts\/4141\">prezantimi<\/a><\/noindex>.<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS n\u00eb nj\u00eb server\" src=\"\/wp-content\/uploads\/2020\/02\/5c3e11c8449de7375d30b2cd75b5927e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n* Monitorimi \u2014 online dhe analiza.<br \/>\n* Kufizimet kryesore t\u00eb platform\u00ebs ZABBIX.<br \/>\n* Zgjidhje p\u00ebr zgjerimin e magazin\u00ebs s\u00eb analiz\u00ebs.<br \/>\n* Optimizimi i serverit ZABBIX.<br \/>\n* Optimizimi i UI.<br \/>\n* Eksperienca n\u00eb p\u00ebrdorimin e sistemit n\u00eb ngarkesa mbi 40k NVPS.<br \/>\n* P\u00ebrmbledhje t\u00eb shkurtra.<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p><b>Mikhail Makurov (m\u00eb tej \u2013 MM):<\/b> \u2013 P\u00ebrsh\u00ebndetje t\u00eb gjith\u00ebve!<\/p>\n<p><b>Maxim Chernetsov (m\u00eb tej \u2013 M\u00c7):<\/b> \u2013 Mir\u00ebdita!<\/p>\n<p><b>MM:<\/b> \u2013 M\u00eb lejoni t\u00eb prezantoj Maxim. Max \u00ebsht\u00eb nj\u00eb inxhinier i talentuar, miku m\u00eb i mir\u00eb i rrjeteve q\u00eb njoh. Maxim merret me rrjetet dhe sh\u00ebrbimet, zhvillimin dhe mir\u00ebmbajtjen e tyre.<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS n\u00eb nj\u00eb server\" src=\"\/wp-content\/uploads\/2020\/02\/a7fc62a03c0aede46f4a4695845daa22.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>M\u00c7:<\/b> \u2013 Dhe do t\u00eb doja t\u00eb flisja p\u00ebr Mikhailin. Mikhail \u00ebsht\u00eb programues n\u00eb C. Ai ka shkruar disa zgjidhje me ngarkes\u00eb t\u00eb lart\u00eb p\u00ebr p\u00ebrpunimin e trafik, p\u00ebr kompanin\u00eb ton\u00eb. Ne jetojm\u00eb dhe punojm\u00eb n\u00eb Ural, n\u00eb qytetin e burra t\u00eb fort\u00eb Chelyabinsk, n\u00eb kompanin\u00eb \u00abIntersvyaz\u00bb. Kompania yn\u00eb \u00ebsht\u00eb nj\u00eb ofrues sh\u00ebrbimesh interneti dhe televizionit kabllor p\u00ebr nj\u00eb milion njer\u00ebz n\u00eb 16 qytete.<\/p>\n<p><b>MM:<\/b> \u2013 Dhe duhet t\u00eb them se \u00abIntersvyaz\u00bb \u00ebsht\u00eb shum\u00eb m\u00eb tep\u00ebr se thjesht nj\u00eb ofrues sh\u00ebrbimesh, \u00ebsht\u00eb nj\u00eb kompani IT. Shumica e zgjidhjeve tona jan\u00eb b\u00ebr\u00eb nga departamenti yn\u00eb IT.<\/p>\n<p><b>P:<\/b> nga server\u00ebt q\u00eb p\u00ebrpunojn\u00eb trafik, deri te qendra e thirrjeve dhe aplikacioni mobil. N\u00eb departamentin IT tani jan\u00eb rreth 80 persona me kompetenca shum\u00eb t\u00eb ndryshme.<\/p>\n<h3>P\u00ebr Zabbix dhe arkitektur\u00ebn e tij<\/h3>\n<p>\n<b>M\u00c7:<\/b> \u2013 Tani do t\u00eb p\u00ebrpiqem t\u00eb vendos nj\u00eb rekord personal dhe n\u00eb nj\u00eb minut\u00eb t\u00eb them se \u00e7far\u00eb \u00ebsht\u00eb Zabbix (m\u00eb tej \u2013 \u00abZabbix\u00ab).<\/p>\n<p>\u00abZabbix\u00bb pozicionohet si nj\u00eb sistem monitorimi \u00abnga kutia\u00bb p\u00ebr nivelin e nd\u00ebrmarrjeve. Ai ka shum\u00eb funksione t\u00eb thjeshta p\u00ebr jet\u00ebn: rregulla t\u00eb avancuara p\u00ebr eskalimin, API p\u00ebr integrim, grupimin dhe zbulimin automatik t\u00eb hosteve dhe metrikave. N\u00eb \u00abZabbix\u00bb ka ato q\u00eb quhen mjete p\u00ebr zgjerim \u2013 proxy. \u00abZabbix\u00bb \u00ebsht\u00eb nj\u00eb sistem me kod t\u00eb hapur.<\/p>\n<p>P\u00ebrmbledhje mbi arkitektur\u00ebn. Mund t\u00eb themi se ajo p\u00ebrb\u00ebhet nga tre komponente:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS n\u00eb nj\u00eb server\" src=\"\/wp-content\/uploads\/2020\/02\/0d2ae3ee04d00885d65e17b8cf44182b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<ul>\n<li>Serveri. Shkruar n\u00eb C. Me p\u00ebrpunimin dhe transferimin e informacionit midis proceseve t\u00eb nd\u00ebrlikuar. T\u00eb gjitha p\u00ebrpunimet ndodhin aty: nga marrja deri te ruajtja n\u00eb baz\u00eb.<\/li>\n<li>T\u00eb dh\u00ebnat e gjitha ruhen n\u00eb baz\u00eb. \u00abZabbix\u00bb mb\u00ebshtet MySQL, PostgreSQL dhe Oracle.<\/li>\n<li>Nd\u00ebrfaqja e uebit \u00ebsht\u00eb shkruar n\u00eb PHP. N\u00eb shumic\u00ebn e sistemeve vjen me serverin Apache, por funksionon m\u00eb efektivisht me nginx + php.<\/li>\n<\/ul>\n<p>\nSot do t\u00eb d\u00ebshirojm\u00eb t\u00eb ndajm\u00eb nj\u00eb histori nga jeta e kompanis\u00eb son\u00eb, lidhur me \"Zabbix\"...<\/p>\n<h3>Historia nga jeta e kompanis\u00eb \"Intersvyaz\". \u00c7far\u00eb kemi dhe \u00e7far\u00eb na nevojitet?<\/h3>\n<p>\n<img decoding=\"async\" alt=\"HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS n\u00eb nj\u00eb server\" src=\"\/wp-content\/uploads\/2020\/02\/407c35b81995ddca6444fa418941063f.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>5 ose 6 muaj m\u00eb par\u00eb. Nj\u00eb dit\u00eb pas pun\u00ebs...<\/i><\/p>\n<p><b>M\u00c7:<\/b> \u2013 Misha, p\u00ebrsh\u00ebndetje! Jam i lumtur q\u00eb t\u00eb kapa \u2013 kam nj\u00eb bised\u00eb. P\u00ebrs\u00ebri kemi pasur probleme me monitorimin. Gjat\u00eb nj\u00eb avarie t\u00eb madhe, gjith\u00e7ka ishte ngadal\u00ebsuar, dhe nuk kishim asnj\u00eb informacion p\u00ebr gjendjen e rrjetit. Fatkeq\u00ebsisht, kjo po ndodh p\u00ebrs\u00ebri. Kam nevoj\u00eb p\u00ebr ndihm\u00ebn t\u00ebnde. Le t\u00eb b\u00ebjm\u00eb q\u00eb monitorimi yn\u00eb t\u00eb funksionoj\u00eb n\u00eb \u00e7do rast!<\/p>\n<p><b>MM:<\/b> \u2013 Por le t\u00eb fillojm\u00eb s\u00eb pari me sinkronizimin. Nuk kam par\u00eb atje p\u00ebr disa vite. Sa m\u00eb kujtohet, ne hodh\u00ebm posht\u00eb Nagios dhe kaluam n\u00eb \"Zabbix\" rreth 8 vjet m\u00eb par\u00eb. Dhe tani duket se kemi 6 server\u00eb t\u00eb fuqish\u00ebm dhe rreth nj\u00eb duzin\u00eb proxy. A po e ngat\u00ebrron ndonj\u00eb gj\u00eb?<\/p>\n<p><b>M\u00c7:<\/b> \u2013 Pothuajse. 15 server\u00eb, disa prej t\u00eb cil\u00ebve jan\u00eb makina virtuale. E r\u00ebnd\u00ebsishmja \u00ebsht\u00eb se kjo nuk na shp\u00ebton n\u00eb momentin m\u00eb t\u00eb nevojsh\u00ebm. Kur ndodh nj\u00eb avari \u2013 server\u00ebt ngadal\u00ebsohen dhe nuk shikohet asgj\u00eb. Kemi provuar t\u00eb optimizojm\u00eb konfigurimin, por optimizimi nuk sjell nj\u00eb rritje optimale t\u00eb performanc\u00ebs.<\/p>\n<p><b>MM:<\/b> \u2013 E kuptoj. Keni par\u00eb di\u00e7ka, a keni nxjerr\u00eb ndonj\u00eb informacion nga diagnostika?<\/p>\n<p><b>M\u00c7:<\/b> \u2013 E para q\u00eb duhet t\u00eb merremi me t\u00eb \u00ebsht\u00eb bazat e t\u00eb dh\u00ebnave. MySQL \u00ebsht\u00eb gjithashtu vazhdimisht n\u00ebn ngarkes\u00eb, duke ruajtur metrikat e reja, nd\u00ebrsa kur \"Zabbix\" fillon t\u00eb gjeneroj\u00eb nj\u00eb mori ngjarjesh \u2013 baza shp\u00ebrngulet brenda p\u00ebr disa or\u00eb. T\u00eb optimizoja konfigurimin t\u00ebnd\u00eb t\u00eb kam th\u00ebn\u00eb tashm\u00eb, nd\u00ebrsa k\u00ebt\u00eb vit kemi p\u00ebrmir\u00ebsuar harduerin: n\u00eb server\u00eb kemi m\u00eb shum\u00eb se nj\u00ebqind GB memoria dhe grumbuj t\u00eb disk\u00ebve n\u00eb RAID SSD \u2013 nuk ka kuptim ta rritim at\u00eb m\u00eb tej. \u00c7far\u00eb do t\u00eb b\u00ebjm\u00eb?<\/p>\n<p><b>MM:<\/b> \u2013 E kuptoj. N\u00eb t\u00eb v\u00ebrtet\u00eb, MySQL \u00ebsht\u00eb nj\u00eb baz\u00eb t\u00eb dh\u00ebnash LTP. Duket se nuk \u00ebsht\u00eb m\u00eb e p\u00ebrshtatshme p\u00ebr ruajtjen e arkivave t\u00eb metrikeve t\u00eb k\u00ebtij madh\u00ebsie. Le t\u00eb merremi me t\u00eb.<\/p>\n<p><b>M\u00c7:<\/b> \u2013 Le t\u00eb b\u00ebjm\u00eb!<\/p>\n<h3>Integrimi i Zabbix dhe Clickhouse si rezultat i hackathon-it<\/h3>\n<p>\nPas nj\u00eb kohe, mor\u00ebm t\u00eb dh\u00ebna interesante:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS n\u00eb nj\u00eb server\" src=\"\/wp-content\/uploads\/2020\/02\/46899e843b1e89524c6d762c1c167a6c.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nShumica e hap\u00ebsir\u00ebs n\u00eb baz\u00ebn ton\u00eb u z\u00ebvend\u00ebsua nga arkiva e metrikave dhe m\u00eb pak se 1% u p\u00ebrdor p\u00ebr konfigurim, shabllone dhe cil\u00ebsime. N\u00eb at\u00eb koh\u00eb, ne kishim operuar nj\u00eb zgjidhje Big Data bazuar n\u00eb Clickhouse p\u00ebr m\u00eb shum\u00eb se nj\u00eb vit. Drejtimi i veprimit ishte i qart\u00eb p\u00ebr ne. N\u00eb \u00abHackathon\u00bb-in ton\u00eb t\u00eb pranver\u00ebs, shkrova integrimin e \u00abZabbix\u00bb-it me \u00abClickhouse\u00bb p\u00ebr serverin dhe frontend-in. N\u00eb at\u00eb koh\u00eb, \u00abZabbix\u00bb tashm\u00eb kishte mb\u00ebshtetje p\u00ebr ElasticSearch, dhe ne vendos\u00ebm t\u00eb b\u00ebjm\u00eb nj\u00eb krahasim mes tyre.<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS n\u00eb nj\u00eb server\" src=\"\/wp-content\/uploads\/2020\/02\/92fa3da527de48102cbdcf6959d46814.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Krahasimi Clickhouse dhe Elasticsearch<\/h3>\n<p>\n<b>MM:<\/b> \u2013 P\u00ebr krahasim, ne gjeneronim ngarkes\u00eb t\u00eb nj\u00ebjt\u00ebn si ajo q\u00eb ofron \u00abserveri Zabbix\u00bb dhe shikonim se si do t\u00eb funksionojn\u00eb sistemet. Ne shkruam t\u00eb dh\u00ebna n\u00eb grupe nga 1000 rreshta, p\u00ebrdor\u00ebm CURL. Ne parashikuam se \u00abClickhouse\u00bb do t\u00eb ishte m\u00eb efektiv p\u00ebr profilin e ngarkes\u00ebs q\u00eb b\u00ebn \u00abZabbix\u00bb. Rezultatet madje e tejkaluan pritshm\u00ebrit\u00eb tona:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS n\u00eb nj\u00eb server\" src=\"\/wp-content\/uploads\/2020\/02\/354be7147b23a0bcb9ada3af93f59fac.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nN\u00eb kushte t\u00eb nj\u00ebjta n\u00eb testet, \u00abClickhouse\u00bb shkruante tri her\u00eb m\u00eb shum\u00eb t\u00eb dh\u00ebna. Megjithat\u00eb, t\u00eb dy sistemet konsumonin shum\u00eb efikasitet (nj\u00eb sasi t\u00eb vog\u00ebl burimesh) kur lexonin t\u00eb dh\u00ebnat. Por \u00abElasticsearch\u00bb k\u00ebrkonte nj\u00eb sasi t\u00eb madhe procesori gjat\u00eb shkruajtes:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS n\u00eb nj\u00eb server\" src=\"\/wp-content\/uploads\/2020\/02\/fea7f7f7801024cee0f9367c49d81d5b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nP\u00ebrmbledhtas, \u00abClickhouse\u00bb e tejkaloi duksh\u00ebm \u00abElasticsearch\u00bb n\u00eb konsumimin e procesorit dhe shpejt\u00ebsin\u00eb. Duke marr\u00eb parasysh kompresimin e t\u00eb dh\u00ebnave, \u00abClickhouse\u00bb p\u00ebrdor 11 her\u00eb m\u00eb pak hap\u00ebsir\u00eb n\u00eb disk dhe b\u00ebn rreth 30 her\u00eb m\u00eb pak operacione n\u00eb disk:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS n\u00eb nj\u00eb server\" src=\"\/wp-content\/uploads\/2020\/02\/50c24c4615ed350d7d78ec8655423409.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>M\u00c7:<\/b> \u2013 Po, puna me sistemin diskor n\u00eb \u00abClickhouse\u00bb \u00ebsht\u00eb realizuar shum\u00eb efektivisht. P\u00ebr bazat mund t\u00eb p\u00ebrdoren disqe t\u00eb m\u00ebdha SATA dhe t\u00eb arrihet nj\u00eb shpejt\u00ebsi shkruese n\u00eb qindra mij\u00ebra rreshta n\u00eb sekond\u00eb. Sistemi mb\u00ebshtet natyrsh\u00ebm sharding, replikimin dhe \u00ebsht\u00eb shum\u00eb e leht\u00eb p\u00ebr t'u konfiguruar. Ne jemi m\u00eb shum\u00eb se t\u00eb k\u00ebnaqur me p\u00ebrdorimin e saj p\u00ebr nj\u00eb vit.<\/p>\n<p>P\u00ebr optimizimin e burimeve, mund t\u00eb instaloni \u00abClickhouse\u00bb af\u00ebr baz\u00ebs ekzistuese kryesore dhe k\u00ebshtu t\u00eb ruani shum\u00eb koh\u00eb procesori dhe operacione diskore. Ne e transferuam arkiv\u00ebn e metrikave n\u00eb klasteret ekzistuese t\u00eb \u00abClickhouse\u00bb:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS n\u00eb nj\u00eb server\" src=\"\/wp-content\/uploads\/2020\/02\/4cf44eae47a13f2fc50377fec884ecc8.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNe e ngarkuam kaq shum\u00eb baz\u00ebn kryesore MySQL, saq\u00eb mund\u00ebm ta bashkojm\u00eb at\u00eb n\u00eb nj\u00eb makin\u00eb me \u00abserverin Zabbix\u00bb dhe t\u00eb heqim dor\u00eb nga nj\u00eb server i dedikuar p\u00ebr MySQL.<\/p>\n<h3>Si funksionon polling n\u00eb Zabbix?<\/h3>\n<p>\n<i>4 muaj m\u00eb par\u00eb<\/i><\/p>\n<p><b>MM:<\/b> \u2013 Tani mund t'i harrojm\u00eb problemet me baz\u00ebn?<\/p>\n<p><b>M\u00c7:<\/b> \u2013 Kjo \u00ebsht\u00eb e v\u00ebrtet\u00eb! Nj\u00eb tjet\u00ebr detyr\u00eb q\u00eb na duhet t\u00eb zgjidhim \u00ebsht\u00eb mbledhja e ngadalshme e t\u00eb dh\u00ebnave. Tani t\u00eb gjith\u00eb 15 server\u00ebt tan\u00eb t\u00eb proxy jan\u00eb t\u00eb ngarkuar me procese SNMP dhe polling. Dhe nuk ka asgj\u00eb tjet\u00ebr p\u00ebrve\u00e7se t\u00eb vendosim server\u00eb t\u00eb rinj e t\u00eb rinj.<\/p>\n<p><b>MM:<\/b> \u2013 Shum\u00eb mir\u00eb. Por m\u00eb thuaj s\u00eb pari, si funksionon polling n\u00eb 'Zabbix'?<\/p>\n<p><b>M\u00c7:<\/b> \u2013 N\u00ebse b\u00ebjm\u00eb t\u00eb shkurt\u00ebr, ekzistojn\u00eb 20 lloje metrikash dhe dhjet\u00eb m\u00ebnyra p\u00ebr t'i marr\u00eb ato. 'Zabbix' mund t\u00eb mbledh\u00eb t\u00eb dh\u00ebna ose n\u00eb modalitetin 'k\u00ebrkes\u00eb \u2013 p\u00ebrgjigje', ose t\u00eb pres\u00eb t\u00eb dh\u00ebna t\u00eb reja p\u00ebrmes 'Trap Interface'.<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS n\u00eb nj\u00eb server\" src=\"\/wp-content\/uploads\/2020\/02\/cb2d974ee113b4147a4a588c1f35c730.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDuhet t\u00eb p\u00ebrmendim se n\u00eb 'Zabbix' origjinal, kjo m\u00ebnyr\u00eb (Trapper) \u00ebsht\u00eb m\u00eb e shpejt\u00eb. <\/p>\n<p>Ekzistojn\u00eb proxy p\u00ebr shp\u00ebrndarjen e ngarkes\u00ebs:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS n\u00eb nj\u00eb server\" src=\"\/wp-content\/uploads\/2020\/02\/7b5c94a82b7e06aff6df6ea5549babdf.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nProxy mund t\u00eb kryejn\u00eb t\u00eb nj\u00ebjtat funksione mbledhjeje si serveri 'Zabbix', duke marr\u00eb detyra prej tij dhe duke d\u00ebrguar metrikat e mbledhura pik\u00ebrisht p\u00ebrmes interfes\u00ebs Trapper. Kjo \u00ebsht\u00eb m\u00ebnyra e rekomanduar zyrtarisht p\u00ebr shp\u00ebrndarjen e ngarkes\u00ebs. Gjithashtu, proxy jan\u00eb t\u00eb dobishme p\u00ebr monitorimin e infrastruktur\u00ebs s\u00eb larg\u00ebt q\u00eb punon p\u00ebrmes NAT ose nj\u00eb kanali t\u00eb ngadalsh\u00ebm:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS n\u00eb nj\u00eb server\" src=\"\/wp-content\/uploads\/2020\/02\/dbfb2777f9dd9b4adb81f1fa89f3bdd5.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>MM:<\/b> \u2013 Arkitektura \u00ebsht\u00eb e qart\u00eb. Duhet t\u00eb shohim burimet...<\/p>\n<p><i>Disa dit\u00eb m\u00eb von\u00eb<\/i><\/p>\n<h3>Nj\u00eb tregim p\u00ebr at\u00eb se si nmap fping fitoi<\/h3>\n<p>\n<b>MM:<\/b> \u2013 Duket se kam gjetur di\u00e7ka.<\/p>\n<p><b>M\u00c7:<\/b> \u2013 Trego!<\/p>\n<p><b>MM:<\/b> \u2013 Kam zbuluar se gjat\u00eb kontrollimeve t\u00eb disponueshm\u00ebris\u00eb, 'Zabbix' b\u00ebn verifikimin maksimal deri n\u00eb 128 hoste nj\u00ebher\u00ebsh. Kam provuar ta rris k\u00ebt\u00eb num\u00ebr deri n\u00eb 500 dhe kam hequr intervalin mes paketave n\u00eb ping-un e tyre \u2013 kjo rriti performanc\u00ebn dyfish. Por do t\u00eb doja numra m\u00eb t\u00eb m\u00ebdha.<\/p>\n<p><b>M\u00c7:<\/b> \u2013 N\u00eb praktik\u00ebn time, ndonj\u00ebher\u00eb m\u00eb duhet t\u00eb kontrolloj disponueshm\u00ebrin\u00eb e mij\u00ebra hosteve, dhe asgj\u00eb m\u00eb shpjet se nmap nuk e kam hasur p\u00ebr k\u00ebt\u00eb. Jam i sigurt se kjo \u00ebsht\u00eb m\u00ebnyra m\u00eb e shpejt\u00eb. Le ta provojm\u00eb! Duhet t\u00eb rrisim ndjesh\u00ebm numrin e hosteve p\u00ebr nj\u00eb iteracion.<\/p>\n<p><b>MM:<\/b> \u2013 T\u00eb kontrollojm\u00eb m\u00eb shum\u00eb se pes\u00ebqind? 600?<\/p>\n<p><b>M\u00c7:<\/b> \u2013 T\u00eb pakt\u00ebn disa mij\u00ebra.<\/p>\n<p><b>MM:<\/b> \u2013 Ok. E r\u00ebnd\u00ebsishmja, q\u00eb doja t\u00eb thosha: zbulova se shumica e pollingut n\u00eb 'Zabbix' b\u00ebhet n\u00eb m\u00ebnyr\u00eb sinkrone. Ne patjet\u00ebr duhet ta rikonfigurojm\u00eb n\u00eb m\u00ebnyr\u00ebn asinkrone. Pastaj do t\u00eb jemi n\u00eb gjendje t\u00eb rrisim ndjesh\u00ebm numrin e metrikave t\u00eb mbledhura nga poller\u00ebt, sidomos n\u00ebse rrisim numrin e metrikave p\u00ebr nj\u00eb iteracion.<\/p>\n<p><b>M\u00c7:<\/b> \u2013 Shk\u00eblqyer! Dhe kur?<\/p>\n<p><b>MM:<\/b> \u2013 Si zakonisht, dje.<\/p>\n<p><b>M\u00c7:<\/b> \u2013 Ne krahasuam t\u00eb dy versionet e fping dhe nmap:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS n\u00eb nj\u00eb server\" src=\"\/wp-content\/uploads\/2020\/02\/4be4cfe019b6b318ae2fbdbf82577111.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nN\u00eb nj\u00eb num\u00ebr t\u00eb madh hostesh, nmap ishte p\u00ebr t\u00eb pritur deri n\u00eb pes\u00eb her\u00eb m\u00eb efikas. Duke qen\u00eb se nmap verifikon vet\u00ebm faktin e disponueshm\u00ebris\u00eb dhe koh\u00ebn e p\u00ebrgjigjes, ne e kemi zhvendosur num\u00ebrimin e humbjeve n\u00eb triggera dhe kemi reduktuar ndjesh\u00ebm intervalet e verifikimit t\u00eb disponueshm\u00ebris\u00eb. Numri optimal i hosteve p\u00ebr nmap e gjet\u00ebm rreth 4 mij\u00eb p\u00ebr nj\u00eb iteracion. Nmap na lejoi t\u00eb ulni tri her\u00eb shpenzimet e CPU-s\u00eb p\u00ebr verifikimet e disponueshm\u00ebris\u00eb dhe t\u00eb shkurtosh intervalin nga 120 sekonda n\u00eb 10.<\/p>\n<h3>Optimizimi i pollingut<\/h3>\n<p>\n<b>MM:<\/b> \u2013 M\u00eb pas u merremi me poller\u00ebt. Kryesisht, na interesonte marrja e SNMP dhe agjent\u00ebt. N\u00eb 'Zabbix', polling-u \u00ebsht\u00eb b\u00ebr\u00eb n\u00eb m\u00ebnyr\u00eb sinkrone dhe jan\u00eb marr\u00eb masa t\u00eb ve\u00e7anta p\u00ebr t\u00eb rritur efikasitetin e sistemit. N\u00eb modin sinkron, mosdisponueshm\u00ebria e hosteve shkakton nj\u00eb degradim t\u00eb konsideruesh\u00ebm t\u00eb pollingut. Ekziston nj\u00eb sistem i t\u00ebr\u00eb gjendjesh, jan\u00eb procese speciale \u2013 t\u00eb ashtuquajturit unreachable-pollers, q\u00eb punojn\u00eb vet\u00ebm me hostet e papranuesh\u00ebm:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS n\u00eb nj\u00eb server\" src=\"\/wp-content\/uploads\/2020\/02\/6a001eff121f2392fffda69d719ebad6.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKjo \u00ebsht\u00eb nj\u00eb komment q\u00eb tregon matric\u00ebn e gjendjeve, gjith\u00eb kompleksitetin e sistemeve t\u00eb kalimeve, t\u00eb cilat jan\u00eb t\u00eb nevojshme p\u00ebr t\u00eb mbajtur sistemin efikas. P\u00ebr m\u00eb tep\u00ebr, vet\u00eb polling-u sinkron \u00ebsht\u00eb mjaft i ngadalsh\u00ebm:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS n\u00eb nj\u00eb server\" src=\"\/wp-content\/uploads\/2020\/02\/3579a4a3de85c37f812ba2ca71cf4b3d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPik\u00ebrisht p\u00ebr k\u00ebt\u00eb arsye, mij\u00ebra rrjedha poller\u00ebsh n\u00eb dhjet\u00eb proxy nuk mund\u00ebn t\u00eb mbledhin p\u00ebr ne numrin e duhur t\u00eb t\u00eb dh\u00ebnave. Zbatimi asinkron zgjidhi jo vet\u00ebm problemet me numrin e rrjedhave, por gjithashtu e thjeshtoi ndjesh\u00ebm sistemin e gjendjeve t\u00eb hosteve t\u00eb papranuesh\u00ebm, sepse p\u00ebr \u00e7do num\u00ebr q\u00eb kontrollohet n\u00eb nj\u00eb iteracion polling-u, koha maksimale e pritjes ishte 1 timeout:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS n\u00eb nj\u00eb server\" src=\"\/wp-content\/uploads\/2020\/02\/c5f2d9bb3e558f8bba6bd8a96d8ed6a6.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nP\u00ebrve\u00e7 k\u00ebsaj, ne modifikuam dhe p\u00ebrmir\u00ebsuam sistemin e pollingut p\u00ebr k\u00ebrkesat SNMP. Problemi \u00ebsht\u00eb se shumica e tyre nuk mund t\u00eb p\u00ebrgjigjen n\u00eb disa k\u00ebrkesa SNMP n\u00eb t\u00eb nj\u00ebjt\u00ebn koh\u00eb. Prandaj, ne krijuam nj\u00eb mod t\u00eb hibridizuar, kur polling-u SNMP p\u00ebr t\u00eb nj\u00ebjtin host b\u00ebhet asinkron:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS n\u00eb nj\u00eb server\" src=\"\/wp-content\/uploads\/2020\/02\/eb61766e8afce9bf72d6e9757492559e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKjo b\u00ebhet p\u00ebr nj\u00eb grup t\u00eb t\u00ebr\u00eb hostesh. Ky mod, n\u00eb p\u00ebrfundim, nuk \u00ebsht\u00eb m\u00eb i ngadalsh\u00ebm se i plot\u00eb asinkroni, pasi pyetja e nj\u00ebqind e pes\u00ebdhjet\u00eb vlerave SNMP \u00ebsht\u00eb ende shum\u00eb m\u00eb e shpejt\u00eb se nj\u00eb timeout.<\/p>\n<p>Eksperimentet tona treguan se numri optimal i k\u00ebrkesave n\u00eb nj\u00eb iteracion \u00ebsht\u00eb rreth 8 mij\u00eb gjat\u00eb polling-ut SNMP. N\u00eb total, kalimi n\u00eb modin asinkron leht\u00ebsoi performanc\u00ebn e polling-ut 200 her\u00eb, disa qindra her\u00eb.<\/p>\n<p><b>M\u00c7:<\/b> Optimizimet e marra nga polling-u treguan se jo vet\u00ebm q\u00eb mund t\u00eb heqim t\u00eb gjitha proxy-t, por gjithashtu t\u00eb zvog\u00eblojm\u00eb intervalet p\u00ebr shum\u00eb verifikime, dhe proxy-t nuk do t\u00eb nevojiten si nj\u00eb m\u00ebnyr\u00eb p\u00ebr t\u00eb ndar\u00eb ngarkes\u00ebn.<\/p>\n<p><i>Rreth tre muaj m\u00eb par\u00eb<\/i><\/p>\n<h3>Ndrysho arkitektur\u00ebn \u2013 rrit ngarkes\u00ebn!<\/h3>\n<p>\n<b>MM:<\/b> \u2013 \u00c7far\u00eb, Max, \u00ebsht\u00eb koha p\u00ebr prodhim? M\u00eb nevojitet nj\u00eb server i fuqish\u00ebm dhe nj\u00eb inxhinier i mir\u00eb.<\/p>\n<p><b>M\u00c7:<\/b> \u2013 Mir\u00eb, do ta planifikojm\u00eb. Ka koh\u00eb q\u00eb \u00ebsht\u00eb koha t\u00eb l\u00ebvizim nga pika e vdekur t\u00eb 5 mij\u00eb metrikave n\u00eb sekond\u00eb.<\/p>\n<p><i>Mengjesi pas p\u00ebrmir\u00ebsimit<\/i><\/p>\n<p><b>M\u00c7:<\/b> \u2013 Misha, ne u p\u00ebrmir\u00ebsuam, por deri n\u00eb mengjes u rikthyem mbrapa\u2026 Gjeje se cila shpejt\u00ebsi arrit\u00ebm?<\/p>\n<p><b>MM:<\/b> \u2013 Maksimumi kat\u00ebr mij\u00eb.<\/p>\n<p><b>M\u00c7:<\/b> \u2013 Po, 25! Fatkeq\u00ebsisht, jemi aty ku filluam.<\/p>\n<p><b>MM:<\/b> \u2013 Pse ndodhi kjo? Nd\u00ebrruam ndonj\u00eb diagnostik\u00eb?<\/p>\n<p><b>M\u00c7:<\/b> \u2013 Po, sigurisht! Ja, p\u00ebr shembull, nj\u00eb top interesant:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS n\u00eb nj\u00eb server\" src=\"\/wp-content\/uploads\/2020\/02\/09ac3336a820977b643ee5328ad2a851.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>MM:<\/b> \u2013 Le t\u00eb shohim. Po shoh se kemi provuar nj\u00eb num\u00ebr t\u00eb madh rrjedhash t\u00eb polling-ut:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS n\u00eb nj\u00eb server\" src=\"\/wp-content\/uploads\/2020\/02\/346e8047f1f6f2bb1b1dd91a728e437b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPor, n\u00eb k\u00ebt\u00eb rast, nuk arrit\u00ebm t\u00eb utilizojm\u00eb sistemin as gjysm\u00eb:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS n\u00eb nj\u00eb server\" src=\"\/wp-content\/uploads\/2020\/02\/be1843dbec0fb10d8da59e8c570adc5b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDhe produktiviteti total \u00ebsht\u00eb mjaft i vog\u00ebl, rreth 4 mij\u00eb metrika n\u00eb sekond\u00eb:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS n\u00eb nj\u00eb server\" src=\"\/wp-content\/uploads\/2020\/02\/02eaf0b56629ebc6d3d5c132374a91b8.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nA ka di\u00e7ka tjet\u00ebr?<\/p>\n<p><b>M\u00c7:<\/b> \u2013 Po, strace nj\u00eb nga poller\u00ebt:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS n\u00eb nj\u00eb server\" src=\"\/wp-content\/uploads\/2020\/02\/73fc58bd2925859f6fbbcd118a0483c0.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>MM:<\/b> \u2013 K\u00ebtu \u00ebsht\u00eb qart\u00eb se procesi i polling-ut pret 'semafor\u00eb'. K\u00ebto jan\u00eb bllokime:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS n\u00eb nj\u00eb server\" src=\"\/wp-content\/uploads\/2020\/02\/d0bec44a9677ec111066dccc1dd8c5dc.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>M\u00c7:<\/b> \u2013 Nuk \u00ebsht\u00eb e qart\u00eb.<\/p>\n<p><b>MM:<\/b> \u2013 Shiko, duket si situata kur nj\u00eb num\u00ebr i madh rrjedhash p\u00ebrpiqen t\u00eb punojn\u00eb me nj\u00eb burim, me t\u00eb cilin mund t\u00eb punohet vet\u00ebm nga nj\u00ebri n\u00eb t\u00eb nj\u00ebjt\u00ebn koh\u00eb. At\u00ebher\u00eb, gjith\u00e7ka q\u00eb mund t\u00eb b\u00ebjn\u00eb \u2013 \u00ebsht\u00eb t\u00eb ndajn\u00eb at\u00eb burim sipas koh\u00ebs:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS n\u00eb nj\u00eb server\" src=\"\/wp-content\/uploads\/2020\/02\/7dbb9e8941b01b666dd48f6301151ec9.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDhe produktiviteti total i pun\u00ebs me nj\u00eb burim t\u00eb till\u00eb kufizohet nga shpejt\u00ebsia e nj\u00eb b\u00ebrtham\u00eb:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS n\u00eb nj\u00eb server\" src=\"\/wp-content\/uploads\/2020\/02\/e00b197577f4ea7350fe56665dbae299.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nK\u00ebt\u00eb problem mund ta zgjidhim n\u00eb dy m\u00ebnyra.<\/p>\n<p>P\u00ebrmir\u00ebso harduerin e makineris\u00eb, kaloni n\u00eb b\u00ebrthama m\u00eb t\u00eb shpejta:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS n\u00eb nj\u00eb server\" src=\"\/wp-content\/uploads\/2020\/02\/296d84b434ed7277fb558a8a4dd5ac47.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nOse ndryshoni arkitektur\u00ebn dhe ngarkes\u00ebn n\u00eb t\u00eb nj\u00ebjt\u00ebn koh\u00eb:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS n\u00eb nj\u00eb server\" src=\"\/wp-content\/uploads\/2020\/02\/efea73106440db4e5eda5aa475dd088b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>M\u00c7:<\/b> \u2013 P\u00ebr m\u00eb tep\u00ebr, n\u00eb makinerin\u00eb testuese do t\u00eb p\u00ebrdorim m\u00eb pak b\u00ebrthama sesa n\u00eb makinerin\u00eb prodhuese, por ato jan\u00eb rreth 1.5 her\u00eb m\u00eb t\u00eb shpejta n\u00eb frekuenc\u00eb p\u00ebr b\u00ebrtham\u00eb!<\/p>\n<p><b>MM:<\/b> \u2013 E qart\u00eb? Duhet t\u00eb shohim kodin e serverit.<\/p>\n<h3>Rruga e t\u00eb dh\u00ebnave n\u00eb serverin Zabbix<\/h3>\n<p>\n<b>M\u00c7:<\/b> \u2013 P\u00ebr t\u00eb kuptuar, filluam t\u00eb analizojm\u00eb se si kalojn\u00eb t\u00eb dh\u00ebnat brenda serverit 'Zabbix':<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS n\u00eb nj\u00eb server\" src=\"\/wp-content\/uploads\/2020\/02\/b3d84e3fcb12e7afe3c974bdeacc357a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKjo \u00ebsht\u00eb nj\u00eb pamje interesante, apo jo? Le t\u00eb kalojm\u00eb n\u00ebp\u00ebr t\u00eb hapa pas hapi p\u00ebr t\u00eb sqaruar di\u00e7ka. Ka rrjedha dhe sh\u00ebrbime, t\u00eb cilat jan\u00eb p\u00ebrgjegj\u00ebse p\u00ebr mbledhjen e t\u00eb dh\u00ebnave:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS n\u00eb nj\u00eb server\" src=\"\/wp-content\/uploads\/2020\/02\/966db6fa84723d4d3bde8a23736294d6.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nMetrikat e mbledhura i d\u00ebrgojn\u00eb n\u00ebp\u00ebr socket n\u00eb menaxherin e p\u00ebrpunuesit, ku ruhen n\u00eb radh\u00eb:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS n\u00eb nj\u00eb server\" src=\"\/wp-content\/uploads\/2020\/02\/1e34fe2c4194f7bd71ec409d6169fb94.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nMenaxheri i p\u00ebrpunuesit i kalon t\u00eb dh\u00ebnat pun\u00ebtor\u00ebve t\u00eb tij, t\u00eb cil\u00ebt ekzekutojn\u00eb udh\u00ebzimet e p\u00ebrpunimit dhe i kthejn\u00eb ata prap\u00eb p\u00ebrmes t\u00eb nj\u00ebjtit socket:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS n\u00eb nj\u00eb server\" src=\"\/wp-content\/uploads\/2020\/02\/d647caf3886f0c9378a32314e812edc1.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPas k\u00ebsaj, menaxheri i prepro\u00e7esorit i ruan ato n\u00eb memorie historike:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS n\u00eb nj\u00eb server\" src=\"\/wp-content\/uploads\/2020\/02\/ff0e29b0d974d76bd3a3b71d36a1cc68.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPrej aty, i marrin sinkronizuesit e historis\u00eb q\u00eb kryejn\u00eb shum\u00eb funksione: p\u00ebr shembull, llogaritjen e trigger\u00ebve, mbushjen e caches e vlerave dhe, m\u00eb e r\u00ebnd\u00ebsishmja, ruajtjen e metricave n\u00eb depo historike. N\u00eb p\u00ebrgjith\u00ebsi, procesi \u00ebsht\u00eb kompleks dhe mjaft i ngat\u00ebrruar.<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS n\u00eb nj\u00eb server\" src=\"\/wp-content\/uploads\/2020\/02\/c418a17edeb9153a03dff233aa8f715e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>MM:<\/b> \u2013 E para q\u00eb pam\u00eb \u2013 ishte se shumica e rrjedhave konkurrojn\u00eb p\u00ebr nj\u00eb \"cache konfigurimi\" (nj\u00eb zon\u00eb memorie ku ruhen t\u00eb gjitha konfigurimet e serverit). Sidomos shum\u00eb bllokime shkaktojn\u00eb rrjedhat q\u00eb jan\u00eb p\u00ebrgjegj\u00ebse p\u00ebr marrjen e t\u00eb dh\u00ebnave:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS n\u00eb nj\u00eb server\" src=\"\/wp-content\/uploads\/2020\/02\/589d8f564ece6e63457450e9c5081b80.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n...sidomos sepse n\u00eb konfigurim ruhen jo vet\u00ebm metricat me parametrat e tyre, por edhe radh\u00ebt nga t\u00eb cilat pollet marrin informacion p\u00ebr at\u00eb q\u00eb duhet t\u00eb b\u00ebjn\u00eb m\u00eb pas. Kur ka shum\u00eb pole, dhe nj\u00eb bllokon konfigurimin, t\u00eb tjer\u00ebt presin k\u00ebrkesat:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS n\u00eb nj\u00eb server\" src=\"\/wp-content\/uploads\/2020\/02\/8026cdfcd7def84cb3708b7255b08c66.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Pollet nuk duhet t\u00eb konkurrojn\u00eb<\/h3>\n<p>\n<img decoding=\"async\" alt=\"HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS n\u00eb nj\u00eb server\" src=\"\/wp-content\/uploads\/2020\/02\/d436cd3415a6f58e1db5a609689c12b6.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPrandaj, e para q\u00eb b\u00ebm\u00eb \u2013 e ndam\u00eb radh\u00ebn n\u00eb 4 pjes\u00eb dhe lejuam pollet n\u00eb kushte t\u00eb sigurta t\u00eb bllokojn\u00eb k\u00ebto radh\u00eb, k\u00ebto pjes\u00eb nj\u00ebkoh\u00ebsisht:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS n\u00eb nj\u00eb server\" src=\"\/wp-content\/uploads\/2020\/02\/9466e5f0053dff583e76713f10e30a89.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKjo e hoqi konkurrenc\u00ebn p\u00ebr cache-in e konfigurimeve, dhe shpejt\u00ebsia e pun\u00ebs s\u00eb poleve u rrit ndjesh\u00ebm. Por m\u00eb pas u p\u00ebrball\u00ebm me faktin se menaxheri i prepro\u00e7esorit filloi t\u00eb mbledh\u00eb radh\u00ebn e detyrave:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS n\u00eb nj\u00eb server\" src=\"\/wp-content\/uploads\/2020\/02\/dd58e625823310fb0a818ed81abdceac.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Menaxheri i prepro\u00e7esorit duhet t\u00eb dij\u00eb t\u00eb vendos\u00eb prioritete<\/h3>\n<p>\nKjo ndodhte n\u00eb raste kur i mungonte performanca. At\u00ebher\u00eb, gjith\u00e7ka q\u00eb mund t\u00eb b\u00ebnte \u2013 t\u00eb mbante k\u00ebrkesat nga proceset e mbledhjes s\u00eb t\u00eb dh\u00ebnave dhe t'i grumbullonte ato n\u00eb nj\u00eb bufer deri sa t\u00eb merrte t\u00eb gjith\u00eb memorien dhe t\u00eb d\u00ebshtonte:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS n\u00eb nj\u00eb server\" src=\"\/wp-content\/uploads\/2020\/02\/b215d880863d470ea6ca960c6338b8ae.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nP\u00ebr t\u00eb zgjidhur k\u00ebt\u00eb problem, ne shtuam nj\u00eb socket t\u00eb dyt\u00eb, i cili ishte rezervuar ve\u00e7an\u00ebrisht p\u00ebr pun\u00ebtor\u00ebt:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS n\u00eb nj\u00eb server\" src=\"\/wp-content\/uploads\/2020\/02\/09d1bb92a009f9d29ba68d966de54210.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nN\u00eb k\u00ebt\u00eb m\u00ebnyr\u00eb, menaxheri i prepro\u00e7esorit mori mund\u00ebsin\u00eb t\u00eb prioritizoj\u00eb pun\u00ebn e tij dhe n\u00eb rast t\u00eb zgjerimit t\u00eb buferit, detyra p\u00ebr t\u00eb ngadal\u00ebsuar marrjen, duke i dh\u00ebn\u00eb mund\u00ebsin\u00eb pun\u00ebtor\u00ebve t\u00eb marrin at\u00eb bufer:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS n\u00eb nj\u00eb server\" src=\"\/wp-content\/uploads\/2020\/02\/8f4db3661c428e6e6dcfe4cc0c44c016.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPastaj zbulom\u00eb q\u00eb nj\u00eb nga arsyet e ngadal\u00ebsimit ishin vet\u00eb pun\u00ebtor\u00ebt, pasi ata konkuronin p\u00ebr nj\u00eb burim q\u00eb s\u2019kishte r\u00ebnd\u00ebsi p\u00ebr pun\u00ebn e tyre. Ky problem ne e zgjidh\u00ebm me nj\u00eb bug-fix, dhe n\u00eb versionet e reja t\u00eb \"Zabbix-it\" ai tashm\u00eb \u00ebsht\u00eb zgjidhur:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS n\u00eb nj\u00eb server\" src=\"\/wp-content\/uploads\/2020\/02\/eedb359823dd23d369339e3735e341fb.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Shtojm\u00eb numrin e soket\u00ebve \u2013 marrim rezultat<\/h3>\n<p>\nM\u00eb pas, vet\u00eb menaxheri i prepro\u00e7esorit u b\u00eb pika e ngadal\u00ebsimit, p\u00ebr shkak se ky \u00ebsht\u00eb nj\u00eb rrjedh\u00eb. Ai kishte probleme me shpejt\u00ebsin\u00eb e b\u00ebrtham\u00ebs, duke dh\u00ebn\u00eb nj\u00eb shpejt\u00ebsi maksimale prej rreth 70,000 metricave n\u00eb sekond\u00eb:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS n\u00eb nj\u00eb server\" src=\"\/wp-content\/uploads\/2020\/02\/f93ccbc656c0f9e103873d99a9397495.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPrandaj, ne e zhvilluam kat\u00ebr me kat\u00ebr grupe socket-esh dhe pun\u00ebtor\u00ebsh:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS n\u00eb nj\u00eb server\" src=\"\/wp-content\/uploads\/2020\/02\/81a3dea3aa0f8807add8d045cf64a609.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDhe kjo na leht\u00ebsoi rritjen e shpejt\u00ebsis\u00eb rreth 130 mij\u00eb metrikave:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS n\u00eb nj\u00eb server\" src=\"\/wp-content\/uploads\/2020\/02\/016ff07cd021a7221caef19e6ce36a9b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNelinjeariteti i rritjes shpjegohet me faktin se ndodhi konkurrenca p\u00ebr cache-in e historis\u00eb. P\u00ebr t\u00eb konkuronin 4 menaxher\u00eb t\u00eb parap\u00ebrpunimit dhe sinkronizuesit e historis\u00eb. Deri n\u00eb k\u00ebt\u00eb moment, ne po marrim rreth 130 mij\u00eb metrika n\u00eb sekund\u00eb n\u00eb makin\u00ebn testuese, duke e shfryt\u00ebzuar at\u00eb rreth 95% n\u00eb CPU:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS n\u00eb nj\u00eb server\" src=\"\/wp-content\/uploads\/2020\/02\/62162254cd8bc66c1cef697158691588.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<i>Rreth 2.5 muaj m\u00eb par\u00eb<\/i><\/p>\n<h3>Braktisja e snmp-community e rriti NVP-t\u00eb nj\u00eb her\u00eb e gjysm\u00eb<\/h3>\n<p>\n<b>MM:<\/b> \u2013 Max, m\u00eb nevojitet nj\u00eb makin\u00eb testuese e re! Nuk po i p\u00ebrshtatemi m\u00eb n\u00eb k\u00ebt\u00eb t\u00eb tanishme.<\/p>\n<p><b>M\u00c7:<\/b> \u2013 \u00c7far\u00eb kemi tani?<\/p>\n<p><b>MM:<\/b> \u2013 Tani ka 130 mij\u00eb NVP dhe CPU \"n\u00eb raft\".<\/p>\n<p><b>M\u00c7:<\/b> \u2013 Wow! Super! Po prisni, kam dy pyetje. Nga llogaritjet e mia, ne kemi nevoj\u00eb p\u00ebr rreth 15-20 mij\u00eb metrika n\u00eb sekund\u00eb. Pse na duhen m\u00eb shum\u00eb?<\/p>\n<p><b>MM:<\/b> \u2013 Dua ta p\u00ebrfundoj k\u00ebt\u00eb pun\u00eb. Dua t\u00eb shohim sa mund t\u00eb nxjerrim nga ky sistem.<\/p>\n<p><b>M\u00c7:<\/b> \u2013 Por\u2026<\/p>\n<p><b>MM:<\/b> \u2013 Por p\u00ebr biznesin \u00ebsht\u00eb e padobishme.<\/p>\n<p><b>M\u00c7:<\/b> \u2013 E kuptoj. Dhe pyetja e dyt\u00eb: a mund ta mb\u00ebshtesim at\u00eb q\u00eb kemi tani vet\u00eb, pa ndihm\u00ebn e zhvilluesit?<\/p>\n<p><b>MM:<\/b> \u2013 Nuk e mendoj. Ndryshimi i funksionimit me cache-in e konfiguracionit \u00ebsht\u00eb nj\u00eb problem. Ka t\u00eb b\u00ebj\u00eb me ndryshimet n\u00eb shumic\u00ebn e rrjedhave dhe \u00ebsht\u00eb mjaft komplekse p\u00ebr mb\u00ebshtetje. M\u00eb mir\u00eb s'do t\u00eb jet\u00eb e leht\u00eb p\u00ebr ta mbajtur.<\/p>\n<p><b>M\u00c7:<\/b> \u2013 At\u00ebher\u00eb na duhet nj\u00eb alternativ\u00eb.<\/p>\n<p><b>MM:<\/b> \u2013 Ka nj\u00eb opsion t\u00eb till\u00eb. Ne mund t\u00eb kalojm\u00eb n\u00eb b\u00ebrtham\u00eb t\u00eb shpejt\u00eb, duke braktisur sistemin e ri t\u00eb bllokimit. Ne ende do t\u00eb arrijm\u00eb nj\u00eb performanc\u00eb prej 60-80 mij\u00eb metrikash. N\u00eb k\u00ebt\u00eb rast, ne do t\u00eb mund t\u00eb mbajm\u00eb t\u00eb gjith\u00eb kodin tjet\u00ebr. \"Clickhouse\", polling-asinkron do t\u00eb funksionojn\u00eb. Dhe kjo do t\u00eb jet\u00eb e leht\u00eb p\u00ebr t'u mbajtur.<\/p>\n<p><b>M\u00c7:<\/b> \u2013 Shk\u00eblqyesh\u00ebm! Propozoj t\u00eb ndalojm\u00eb k\u00ebtu.<\/p>\n<p>Pas optimizimit t\u00eb pjes\u00ebs serverike, ne p\u00ebrfundimisht arrit\u00ebm t\u00eb lan\u00e7ojm\u00eb kodin e ri n\u00eb prodhim. Ne braktis\u00ebm disa ndryshime n\u00eb favor t\u00eb kalimit n\u00eb nj\u00eb makin\u00eb me b\u00ebrthama t\u00eb shpejta dhe minimizimit t\u00eb ndryshimeve n\u00eb kod. Ne gjithashtu e thjeshtuam konfigurimin dhe, sa m\u00eb shum\u00eb t\u00eb ishte e mundur, heq\u00ebm dor\u00eb nga makros n\u00eb elementet e t\u00eb dh\u00ebnave, pasi ato jan\u00eb burim i bllokimeve shtes\u00eb.<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS n\u00eb nj\u00eb server\" src=\"\/wp-content\/uploads\/2020\/02\/2b1ed396b09bd815fba973ebb5f73d76.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nP\u00ebr shembull, braktisja e makros snmp-community, e cila \u00ebsht\u00eb e zakonshme n\u00eb dokumentacion dhe shembuj, n\u00eb rastin ton\u00eb lejoj q\u00eb t\u00eb p\u00ebrshpejtojm\u00eb NVP-t\u00eb rreth 1.5 her\u00eb m\u00eb shum\u00eb.<\/p>\n<p><i>Pas dy dit\u00ebsh n\u00eb prodhim<\/i><\/p>\n<h3>Heqim dritaret e historeve t\u00eb incidenteve<\/h3>\n<p>\n<b>M\u00c7:<\/b> \u2013 Misha, ne po dy dy p\u00ebrdorim sistemin, dhe gjith\u00e7ka funksionon. Por vet\u00ebm kur gjith\u00e7ka funksionon! Kishim pun\u00eb t\u00eb planifikuara me transferimin e nj\u00eb segmenti t\u00eb madh t\u00eb rrjetit, dhe s\u00ebrish kontrolluam me duar se \u00e7far\u00eb u ngrit, \u00e7far\u00eb \u2013 jo.<\/p>\n<p><b>MM:<\/b> \u2013 Nuk mund t\u00eb jet\u00eb! Ne e kontrolluam gjith\u00e7ka 10 her\u00eb. Serveri p\u00ebrpunon madje edhe pap\u00ebrgjegjshm\u00ebrin\u00eb e plot\u00eb t\u00eb rrjetit menj\u00ebher\u00eb.<\/p>\n<p><b>M\u00c7:<\/b> \u2013 E kuptoj gjith\u00e7ka: server, baza, top, austat, logjet \u2013 gjith\u00e7ka shpejt\u2026 Por ne po shohim nd\u00ebrfaqen e uebit, dhe atje \u2013 procesori \"n\u00eb raft\" n\u00eb server dhe kjo:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS n\u00eb nj\u00eb server\" src=\"\/wp-content\/uploads\/2020\/02\/828a44d71f67ac585055bffcc01ab46e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>MM:<\/b> \u2013 E kuptoj. Le t\u00eb shohim n\u00eb web. Ne zbulonim se n\u00eb situat\u00ebn kur kishte nj\u00eb num\u00ebr t\u00eb madh t\u00eb incidenteve aktive, shumica e widgeteve operuese filluan t\u00eb funksiononin shum\u00eb ngadal\u00eb:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS n\u00eb nj\u00eb server\" src=\"\/wp-content\/uploads\/2020\/02\/22fdb735aa6136cd9967b40341d2a5cf.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nArsyeja p\u00ebr k\u00ebt\u00eb ishte gjenerimi i dritareve t\u00eb hapura me historikun e incidenteve, t\u00eb cilat gjenerohen p\u00ebr \u00e7do element n\u00eb list\u00eb. Prandaj ne u larguam nga gjenerimi i k\u00ebtyre dritareve (komentuar 5 rreshta n\u00eb kod), dhe kjo e zgjidhi problemin ton\u00eb.<\/p>\n<p>Koha e ngarkes\u00ebs s\u00eb widgeteve, madje edhe n\u00eb munges\u00eb t\u00eb plot\u00eb, u shkurtua nga disa minuta n\u00eb 10-15 sekonda q\u00eb jan\u00eb t\u00eb pranueshme p\u00ebr ne, dhe historia p\u00ebr m\u00eb tep\u00ebr mund t\u00eb shikohet me nj\u00eb klikim n\u00eb koh\u00eb:<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS n\u00eb nj\u00eb server\" src=\"\/wp-content\/uploads\/2020\/02\/d15341ce76578880a23651a7a68dd802.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<i>Pas pun\u00ebs. 2 muaj m\u00eb par\u00eb.<\/i><\/p>\n<p><b>M\u00c7:<\/b> \u2013 Misha, po ik? Kam nj\u00eb bised\u00eb.<\/p>\n<p><b>MM:<\/b> \u2013 Nuk isha duke planifikuar. P\u00ebrs\u00ebri di\u00e7ka me \"Zabbix\"?<\/p>\n<p><b>M\u00c7:<\/b> \u2013 Jo, qet\u00ebsohu! Thjesht doja t\u00eb thoja: gjith\u00e7ka funksionon, faleminderit! Un\u00eb do t\u00eb paguaj birr\u00eb.<\/p>\n<h3>Zabbix \u00ebsht\u00eb efikas<\/h3>\n<p>\n\u00abZabbix\u00bb \u00ebsht\u00eb nj\u00eb sistem dhe funksion mjaft universale dhe e pasur. Ai mund t\u00eb p\u00ebrdoret leht\u00ebsisht p\u00ebr instalime t\u00eb vogla \"nga kutia\", por me rritjen e nevojave, duhet optimizuar. P\u00ebr ruajtjen e nj\u00eb arkivi t\u00eb madh t\u00eb metrikave, p\u00ebrdorni nj\u00eb depo t\u00eb p\u00ebrshtatshme:<\/p>\n<ul>\n<li>mund t\u00eb p\u00ebrdorni mjete t\u00eb integruara n\u00eb form\u00ebn e integrimit me \"Elastikser\u00e7\" ose eksportimin e historis\u00eb n\u00eb skedar\u00eb tekstual\u00eb (i disponuesh\u00ebm q\u00eb nga versioni i kat\u00ebrt);<\/li>\n<li>mund t\u00eb shfryt\u00ebzoni p\u00ebrvoj\u00ebn ton\u00eb dhe integrimin me \"ClickHouse\".<\/li>\n<\/ul>\n<p>\nP\u00ebr t\u00eb rritur ndjesh\u00ebm shpejt\u00ebsin\u00eb e mbledhjes s\u00eb metrikave, mbledhni ato me metoda asinkrone dhe transferoni n\u00ebp\u00ebrmjet nd\u00ebrfaqes t\u00eb trukk\u00ebr-interfaces n\u00eb serverin \"Zabbix\"; ose mund t\u00eb p\u00ebrdorni nj\u00eb patch p\u00ebr asinkronin\u00eb e pollev\u00ebve t\u00eb vet\u00eb \"Zabbix\".<\/p>\n<p>\u00abZabbix\u00bb \u00ebsht\u00eb shkruar n\u00eb C dhe \u00ebsht\u00eb mjaft efikase. Disa vendosje t\u00eb ngushta arkitekturore lejojn\u00eb q\u00eb ta rrisim performanc\u00ebn e tij dhe, nga p\u00ebrvoja jon\u00eb, t\u00eb marrim m\u00eb shum\u00eb se 100 mij\u00eb metrika n\u00eb nj\u00eb makin\u00eb me nj\u00eb procesor.<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS n\u00eb nj\u00eb server\" src=\"\/wp-content\/uploads\/2020\/02\/46559b481b5e53dc3cc3d2562a94531d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>At\u00eb patch Zabbix<\/h3>\n<p>\n<b>MM:<\/b> \u2013 Dua t\u00eb shtoj disa pika. T\u00eb gjitha t\u00eb dh\u00ebnat e tanishme, t\u00eb gjitha testet, shifrat jan\u00eb dh\u00ebn\u00eb p\u00ebr konfigurimin q\u00eb po p\u00ebrdorim. Nga ajo, aktualisht po marrim rreth 20 mij\u00eb metrika n\u00eb sekond\u00eb. N\u00ebse p\u00ebrpiqeni t\u00eb kuptoni n\u00ebse kjo do t\u00eb funksionoj\u00eb p\u00ebr ju \u2013 mund t\u00eb b\u00ebni nj\u00eb krahasim. Ajo q\u00eb u tha sot \u00ebsht\u00eb e publikuar n\u00eb GitHub n\u00eb form\u00ebn e nj\u00eb 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++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS n\u00eb nj\u00eb server\" src=\"\/wp-content\/uploads\/2020\/02\/e5880b2f01cb03809057db08306b23c7.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPatchi p\u00ebrfshin:<\/p>\n<ul>\n<li>integrim t\u00eb plot\u00eb me \u00abClickHouse\u00bb (si p\u00ebr serverin \u00abZabbix\u00bb ashtu edhe p\u00ebr frontendin);<\/li>\n<li>zgjidhjen e problemeve me menaxherin e p\u00ebrpunuesve;<\/li>\n<li>polling asinkron.<\/li>\n<\/ul>\n<p>\nPatchi \u00ebsht\u00eb n\u00eb p\u00ebrputhje me t\u00eb gjitha versionet 4, p\u00ebrfshir\u00eb lts. Me shum\u00eb mund\u00ebsi, me disa ndryshime minimale do t\u00eb funksionoj\u00eb n\u00eb versionin 3.4.<\/p>\n<p>Faleminderit p\u00ebr v\u00ebmendjen.<\/p>\n<h3>Pyetje<\/h3>\n<p>\nPyetje nga audienca (n\u00eb vijim \u2013 A): \u2013 Mir\u00ebdita! Ju lutem, a keni plane p\u00ebr nj\u00eb bashk\u00ebpunim intensiv me ekipin Zabbix apo ata me ju, q\u00eb t\u00eb mos jet\u00eb vet\u00ebm nj\u00eb patch, por nj\u00eb sjellje normale e \u00abZabbix\u00bb?<\/p>\n<p><b>MM:<\/b> \u2013 Po, disa nga ndryshimet ne do t'i angazhojm\u00eb n\u00eb sistemin. Disa do t\u00eb mbeten n\u00eb patch.<\/p>\n<p><b>P:<\/b> \u2013 Faleminderit shum\u00eb p\u00ebr raportin e shk\u00eblqyer! Ju lutem, a do t\u00eb ket\u00eb mb\u00ebshtetje nga \u00abZabbix\u00bb pas aplikimit t\u00eb patch-it dhe si mund t\u00eb p\u00ebrdit\u00ebsohemi n\u00eb versione m\u00eb t\u00eb larta? A do t\u00eb jet\u00eb e mundur t\u00eb p\u00ebrdit\u00ebsojm\u00eb \u00abZabbix\u00bb pas patch-it tuaj n\u00eb 4.2, 5.0?<\/p>\n<p><b>MM:<\/b> \u2013 P\u00ebr mb\u00ebshtetjen nuk mund t\u00eb them. Sikur t\u00eb isha mb\u00ebshtetje teknike p\u00ebr \u00abZabbix\u00bb, ndoshta do t\u00eb thosha jo, sepse \u00ebsht\u00eb kod i huaj. Sa i p\u00ebrket baz\u00ebs kode 4.2, pozita jon\u00eb \u00ebsht\u00eb kjo: \u00abNe do t\u00eb ecim me koh\u00ebn dhe vet\u00eb do t\u00eb p\u00ebrdit\u00ebsohemi n\u00eb versionin tjet\u00ebr\u00bb. Prandaj p\u00ebr nj\u00eb koh\u00eb do t\u00eb publikojm\u00eb patchin p\u00ebr versionet e p\u00ebrdit\u00ebsuara. Kam th\u00ebn\u00eb tashm\u00eb n\u00eb raport: numri i ndryshimeve mes versioneve \u00ebsht\u00eb ende mjaft i vog\u00ebl. Mendoj se kalimi nga 3.4 n\u00eb 4 na mori, duket, rreth 15 minuta. Disa gj\u00ebra u nd\u00ebrruan, por jo shum\u00eb t\u00eb r\u00ebnd\u00ebsishme.<\/p>\n<p><b>P:<\/b> \u2013 Pra, ju planifikoni t\u00eb mbani patch-in tuaj dhe mund ta vendosni at\u00eb n\u00eb prodhim, duke marr\u00eb m\u00eb von\u00eb p\u00ebrdit\u00ebsime n\u00eb nj\u00eb form\u00eb t\u00eb caktuar?<\/p>\n<p><b>MM:<\/b> \u2013 Ne e rekomandojm\u00eb kategorikisht. Kjo zgjidh shum\u00eb probleme p\u00ebr ne.<\/p>\n<p><b>M\u00c7:<\/b> \u2013 Desejoi t\u00eb theksoj se ndryshimet q\u00eb nuk prekin arkitektur\u00ebn dhe q\u00eb nuk lidhen me bllokimet, radh\u00ebt \u2013 ato jan\u00eb modulare, ndodhin n\u00eb module t\u00eb ve\u00e7anta. Edhe n\u00eb m\u00ebnyr\u00eb t\u00eb pavarur, p\u00ebr ndryshime t\u00eb vogla, ato mund t\u00eb mbahen mjaft leht\u00eb.<\/p>\n<p><b>MM:<\/b> \u2013 N\u00ebse jeni t\u00eb interesuar p\u00ebr detaje, \"Clickhouse\" p\u00ebrdor nj\u00eb bibliotek\u00eb t\u00eb njohur si historia. Ajo \u00ebsht\u00eb e shk\u00ebputur \u2013 \u00ebsht\u00eb nj\u00eb kopje q\u00eb mb\u00ebshtet \"Elastic\" dhe \u00ebsht\u00eb e ndryshueshme konfiguruese. Polling ndryshon vet\u00ebm poller\u00ebt. Ne mendojm\u00eb se kjo do t\u00eb funksionoj\u00eb p\u00ebr nj\u00eb koh\u00eb t\u00eb gjat\u00eb.<\/p>\n<p><b>P:<\/b> \u2013 Faleminderit shum\u00eb. M\u00eb tregoni, a ka ndonj\u00eb dokumentacion p\u00ebr ndryshimet e b\u00ebra?<\/p>\n<p><img decoding=\"async\" alt=\"HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS n\u00eb nj\u00eb server\" src=\"\/wp-content\/uploads\/2020\/02\/f3842ba578f736721c96794941b8f071.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>MM:<\/b> \u2013 Dokumentacioni \u00ebsht\u00eb patch. \u00cbsht\u00eb e qart\u00eb se me introduktimin e \"Clickhouse\", me introduktimin e llojeve t\u00eb reja t\u00eb poller\u00ebve, lindin opsione t\u00eb reja konfiguruese. N\u00eb lidhjen e diapozitivit t\u00eb fundit ka nj\u00eb p\u00ebrshkrim t\u00eb shkurt\u00ebr se si ta p\u00ebrdorni k\u00ebt\u00eb.<\/p>\n<h3>P\u00ebr z\u00ebvend\u00ebsimin e fping me nmap<\/h3>\n<p>\n<b>P:<\/b> \u2013 Si e realizuat k\u00ebt\u00eb n\u00eb fund? Mund t\u00eb ndani shembuj konkret\u00eb: a p\u00ebrdorni strapper dhe skenarin e jasht\u00ebm? \u00c7far\u00eb kontrollon aq shpejt nj\u00eb num\u00ebr kaq t\u00eb madh hostesh? Si i nxirrni k\u00ebta hoste? Duhet t'i futni ndonj\u00ebher\u00eb nmap-it, ta merrni nga diku, ta vendosni, ta aktivizoni?<\/p>\n<p><b>MM:<\/b> \u2013 Shum\u00eb mir\u00eb. Nj\u00eb pyetje shum\u00eb e drejt\u00eb! Kjo \u00ebsht\u00eb \u00e7\u00ebshtja. Ne modifikuam bibliotek\u00ebn (ICMP ping, komponent i \"Zabbix\") p\u00ebr kontrolle ICMP, ku \u00ebsht\u00eb e caktuar numri i pakove \u2013 nj\u00eb (1), dhe kodi p\u00ebrpiqet t\u00eb p\u00ebrdor\u00eb nmap. Pra, kjo \u00ebsht\u00eb puna e brendshme e \"Zabbix\", q\u00eb \u00ebsht\u00eb b\u00ebr\u00eb pjes\u00eb e pun\u00ebs s\u00eb pingers. N\u00eb p\u00ebrputhje me k\u00ebt\u00eb, nuk ka nevoj\u00eb p\u00ebr asnj\u00eb sinkronizim ose p\u00ebrdorim t\u00eb trapper-it. Kjo u b\u00eb me q\u00ebllim p\u00ebr t\u00eb ruajtur sistemin t\u00eb pandar\u00eb dhe p\u00ebr t\u00eb mos u angazhuar me sinkronizimin e dy sistemeve t\u00eb baz\u00ebs: \u00e7far\u00eb duhet t\u00eb kontrollohet, t\u00eb ngarkohet p\u00ebrmes poller-it, a nuk \u00ebsht\u00eb prishur ngarkesa jon\u00eb?... Kjo \u00ebsht\u00eb shum\u00eb m\u00eb e leht\u00eb.<\/p>\n<p><b>P:<\/b> \u2013 A funksionon edhe p\u00ebr proxy?<\/p>\n<p><b>MM:<\/b> \u2013 Po, por ne nuk e kemi testuar. Kodi i polling-ut \u00ebsht\u00eb i nj\u00ebjt\u00eb n\u00eb \"Zabbix\" dhe n\u00eb server. Duhet t\u00eb funksionoj\u00eb. Edhe nj\u00eb her\u00eb po e theksoj: performanca e sistemit \u00ebsht\u00eb e till\u00eb sa q\u00eb nuk na duhen proxy.<\/p>\n<p><b>M\u00c7:<\/b> \u2013 Pergjigja e sakt\u00eb p\u00ebr pyetjen \u00ebsht\u00eb: \"P\u00ebrse ju nevojitet proxy me nj\u00eb sistem t\u00eb till\u00eb?\" Vet\u00ebm p\u00ebr shkak t\u00eb NAT-it ose p\u00ebr t\u00eb monitoruar p\u00ebrmes ndonj\u00eb kanali t\u00eb ngadalsh\u00ebm...<\/p>\n<p><b>P:<\/b> \u2013 A e p\u00ebrdorni \"Zabbix\" si alarmin, n\u00ebse e kuptova sakt\u00eb. Ose t\u00eb dh\u00ebnat p\u00ebrshtat\u00ebse (ku ka nj\u00eb shtres\u00eb arkivimi) tani jan\u00eb n\u00eb nj\u00eb sistem tjet\u00ebr, si Grafana? Ose nuk e p\u00ebrdorni k\u00ebt\u00eb funksionalitet?<\/p>\n<p><b>MM:<\/b> \u2013 The integration has been fully completed. We are dumping history into 'ClickHouse', but we have also modified the php frontend. The php frontend communicates with 'ClickHouse' to generate all the graphs from there. Honestly, we have a part that builds data from the same 'ClickHouse' and the same data from 'Zabbix' for graphical representation in other systems.<\/p>\n<p><b>M\u00c7:<\/b> \u2013 Including in 'Grafana'.<\/p>\n<h3>How was the decision made regarding resource allocation?<\/h3>\n<p>\n<b>P:<\/b> \u2013 Share a bit of the internal process. How was the decision made to allocate resources for a serious product overhaul? This involves certain risks. And please tell us, in the context of your plans to support new versions: how is this decision justified from a management perspective?<\/p>\n<p><b>MM:<\/b> \u2013 Apparently, we did not tell the history dramatically enough. We found ourselves in a situation where something had to be done, and we essentially moved forward with two parallel teams:<\/p>\n<ul>\n<li>One focused on launching a monitoring system using new methods: monitoring as a service, a standard set of open-source solutions that we combine and then try to modify our business process to work with the new monitoring system.<\/li>\n<li>At the same time, we had an enthusiastic programmer who was working on this (about himself). It just happened that he prevailed.<\/li>\n<\/ul>\n<p>\n<b>P:<\/b> \u2013 And what is the size of the team?<\/p>\n<p><b>M\u00c7:<\/b> \u2013 It stands before you.<\/p>\n<p><b>P:<\/b> \u2013 So, as always, a passionate person is needed?<\/p>\n<p><b>MM:<\/b> \u2013 I don\u2019t know what a passionate person is.<\/p>\n<p><b>P:<\/b> \u2013 In this case, apparently, you are. Thank you very much, you are amazing.<\/p>\n<p><b>MM:<\/b> \u2013 Thank you.<\/p>\n<h3>About patches for Zabbix<\/h3>\n<p>\n<b>P:<\/b> \u2013 For a system that uses proxies (for instance, in some distributed systems), is it possible to adapt and patch your solution for, say, pollers, proxies, and partially for the preprocessor of 'Zabbix'; and their interaction? Is it possible to optimize the existing developments for a system with multiple proxies?<\/p>\n<p><b>MM:<\/b> \u2013 I know that the 'Zabbix' server is built using proxies (it is compiled and generates code). We have not tested this in production. I am not sure about it, but it seems to me that the preprocessor manager is not used in the proxies. The task of the proxy is to collect a set of metrics from 'Zabbix', fetch them (it also records the configuration, local database) and return them back to the 'Zabbix' server. The server will then perform the preprocessing when it receives them.<\/p>\n<p>Interesi p\u00ebr proxy \u00ebsht\u00eb i kuptuesh\u00ebm. Ne do ta verifikojm\u00eb k\u00ebt\u00eb. Kjo \u00ebsht\u00eb nj\u00eb tem\u00eb interesante.<\/p>\n<p><b>P:<\/b> \u2013 Ideja ishte kjo: n\u00ebse mund t\u00eb patch-ojm\u00eb poller\u00ebt, mund t'i patch-ojm\u00eb ata p\u00ebr proxy dhe t\u00eb adaptojm\u00eb para-procesorin p\u00ebr k\u00ebto q\u00ebllime vet\u00ebm n\u00eb server.<\/p>\n<p><b>MM:<\/b> \u2013 Mendoj se gjith\u00e7ka \u00ebsht\u00eb akoma m\u00eb e thjesht\u00eb. Merrni kodin, aplikoni patch-in, pastaj konfigurojeni si\u00e7 d\u00ebshironi \u2013 krijoni servere proxy (p.sh., me ODBC) dhe shp\u00ebrndani kodin e patch-uar n\u00eb sisteme. Atje ku \u00ebsht\u00eb e nevojshme \u2013 krijoni proxy, atje ku \u00ebsht\u00eb e nevojshme \u2013 server.<\/p>\n<p><b>P:<\/b> \u2013 Shtes\u00eb p\u00ebr t\u00eb patch-uar d\u00ebrgimin e proxy n\u00eb server, do t\u00eb jet\u00eb e nevojshme, apo jo?<\/p>\n<p><b>M\u00c7:<\/b> \u2013 Jo, ajo \u00ebsht\u00eb standarde.<\/p>\n<p><b>MM:<\/b> \u2013 N\u00eb t\u00eb v\u00ebrtet\u00eb nuk u p\u00ebrmend nj\u00ebra nga idet\u00eb. Ne gjithmon\u00eb kemi mbajtur nj\u00eb balanc\u00eb midis shp\u00ebrthimit t\u00eb ideve dhe numrit t\u00eb ndryshimeve, leht\u00ebsis\u00eb s\u00eb mb\u00ebshtetjes.<\/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=\"Luaj videon\" 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>Pak reklam\u00eb \ud83d\ude42<\/h3>\n<p>\nFaleminderit q\u00eb po q\u00ebndroni me ne. Ju p\u00eblqen artikujt tan\u00eb? Doni t\u00eb shihni m\u00eb shum\u00eb materiale interesante? Na mb\u00ebshtesni duke b\u00ebr\u00eb nj\u00eb porosi ose duke rekomanduar tek miqt\u00eb tuaj, <noindex><a rel=\"nofollow\" href=\"https:\/\/ua-hosting.company\/cloudvps\/nl\">VPS cloud p\u00ebr zhvillues nga $4.99<\/a><\/noindex>, <b>nj\u00eb analog unik i server\u00ebve entry-level q\u00eb e kemi shpikur p\u00ebr Ju:<\/b> <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/ua-hosting\/blog\/347386\/\">E gjith\u00eb e v\u00ebrteta n\u00eb lidhje me VPS (KVM) E5-2697 v3 (6 B\u00ebrthama) 10GB DDR4 480GB SSD 1Gbps nga $19 ose si ta ndajm\u00eb sakt\u00ebsisht serverin?<\/a><\/noindex> (opcionet me RAID1 dhe RAID10, deri n\u00eb 24 b\u00ebrthama dhe deri n\u00eb 40GB DDR4 jan\u00eb t\u00eb disponueshme).<\/p>\n<p><b>Dell R730xd dyfish m\u00eb i lir\u00eb n\u00eb qend\u00ebr t\u00eb t\u00eb dh\u00ebnave Equinix Tier IV n\u00eb Amsterdam?<\/b> Vet\u00ebm te ne <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 nga $199<\/a><\/noindex> n\u00eb Holand\u00eb! <b>Dell R420 \u2014 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB \u2014 nga $99!<\/b><\/b> Lexoni rreth <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/ua-hosting\/blog\/329618\/\">Si t\u00eb nd\u00ebrtoni nj\u00eb infrastruktur\u00eb t\u00eb klas\u00ebs korporative me p\u00ebrdorimin e server\u00ebve Dell R730xd E5-2650 v4 me \u00e7mim 9000 euro p\u00ebr pak para?<\/a><\/noindex><br \/>\n<br \/>Burimi: <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.2 - 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\/sq\/blog\/administrirovanie\/highload-mihail-makurov-maksim-chernetsov-intersvyaz-zabbix-100knvps-na-odnom-servere\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"sq_AL\" \/>\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\/sq\/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++, Mihail Makurov, Maksim \u010cernecov (Intersvyaz): Zabbix, 100kNVPS n\u00eb nj\u00eb server | ProHoster","description":"Konferenca e ardhshme HighLoad++ do t\u00eb mbahet m\u00eb 6 dhe 7 prill 2020 n\u00eb Sh\u00ebn Pet\u00ebrsburg. Detajet dhe biletat n\u00eb lidhje.","canonical_url":"https:\/\/prohoster.info\/sq\/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":"sq_AL","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\/sq\/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\/sq\/wp-json\/wp\/v2\/posts\/56049","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/comments?post=56049"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/56049\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=56049"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=56049"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=56049"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}