Cynhelir y gynhadledd HighLoad ++ nesaf ar Ebrill 6 a 7, 2020 yn St Petersburg Manylion a thocynnau
* Monitro - ar-lein a dadansoddeg.
* Cyfyngiadau sylfaenol platfform ZABBIX.
* Ateb ar gyfer graddio storfa ddadansoddeg.
* Optimeiddio'r gweinydd ZABBIX.
* Optimeiddio UI.
* Profiad o weithredu'r system o dan lwythi o fwy na 40k NVPS.
* Casgliadau byr.
Mikhail Makurov (o hyn ymlaen - MM): - Helo bawb!
Maxim Chernetsov (o hyn ymlaen - MCH): - Prynhawn Da!
MM: - Gadewch imi gyflwyno Maxim. Mae Max yn beiriannydd dawnus, y rhwydwaithwr gorau rwy'n ei adnabod. Mae Maxim yn ymwneud â rhwydweithiau a gwasanaethau, eu datblygiad a'u gweithrediad.
MCH: - A hoffwn ddweud wrthych am Mikhail. Mae Mikhail yn ddatblygwr C. Ysgrifennodd sawl datrysiad prosesu traffig llwyth uchel ar gyfer ein cwmni. Rydyn ni'n byw ac yn gweithio yn yr Urals, yn ninas dynion caled Chelyabinsk, yng nghwmni Intersvyaz. Mae ein cwmni yn ddarparwr gwasanaethau Rhyngrwyd a theledu cebl ar gyfer miliwn o bobl mewn 16 o ddinasoedd.
MM: - Ac mae'n werth dweud bod Intersvyaz yn llawer mwy na darparwr yn unig, mae'n gwmni TG. Gwneir y rhan fwyaf o'n datrysiadau gan ein hadran TG.
A: o weinyddion sy'n prosesu traffig i ganolfan alwadau a chymhwysiad symudol. Bellach mae gan yr adran TG tua 80 o bobl gyda chymwyseddau amrywiol iawn, iawn.
Am Zabbix a'i bensaernïaeth
MCH: - Ac yn awr byddaf yn ceisio gosod cofnod personol a dweud mewn un munud beth yw Zabbix (y cyfeirir ati yma wedi hyn fel “Zabbix”).
Mae Zabbix yn gosod ei hun fel system fonitro y tu allan i'r bocs ar lefel menter. Mae ganddo lawer o nodweddion sy'n gwneud bywyd yn haws: rheolau uwchgyfeirio uwch, API ar gyfer integreiddio, grwpio a chanfod yn awtomatig gwesteiwyr a metrigau. Mae gan Zabbix yr hyn a elwir yn offer graddio - dirprwyon. Mae Zabbix yn system ffynhonnell agored.
Yn fyr am bensaernïaeth. Gallwn ddweud ei fod yn cynnwys tair cydran:
- Gweinydd. Ysgrifennwyd yn C. Gyda phrosesu eithaf cymhleth a throsglwyddo gwybodaeth rhwng edafedd. Mae'r holl brosesu yn digwydd ynddo: o dderbyn i arbed i'r gronfa ddata.
- Mae'r holl ddata yn cael ei storio yn y gronfa ddata. Mae Zabbix yn cefnogi MySQL, PostreSQL ac Oracle.
- Mae'r rhyngwyneb gwe wedi'i ysgrifennu yn PHP. Ar y rhan fwyaf o systemau mae'n dod gyda gweinydd Apache, ond mae'n gweithio'n fwy effeithlon ar y cyd â nginx + php.
Heddiw hoffem adrodd un stori o fywyd ein cwmni sy'n gysylltiedig â Zabbix...
Stori o fywyd y cwmni Intersvyaz. Beth sydd gennym ni a beth sydd ei angen arnom?
5 neu 6 mis yn ôl. Un diwrnod ar ôl gwaith...
MCH: - Misha, helo! Rwy'n falch fy mod wedi llwyddo i ddal chi - mae sgwrs. Unwaith eto cawsom broblemau gyda monitro. Yn ystod damwain fawr, roedd popeth yn araf ac nid oedd unrhyw wybodaeth am gyflwr y rhwydwaith. Yn anffodus, nid dyma'r tro cyntaf i hyn ddigwydd. Dwi angen eich help. Gadewch i ni wneud i'n monitro weithio dan unrhyw amgylchiadau!
MM: - Ond gadewch i ni synchronize yn gyntaf. Dydw i ddim wedi edrych yno ers cwpl o flynyddoedd. Hyd y cofiaf, fe wnaethon ni gefnu ar Nagios a newid i Zabbix tua 8 mlynedd yn ôl. Ac yn awr mae'n ymddangos bod gennym ni 6 gweinydd pwerus a thua dwsin o ddirprwyon. Ydw i'n drysu unrhyw beth?
MCH: - Bron. 15 gweinydd, rhai ohonynt yn beiriannau rhithwir. Y peth pwysicaf yw nad yw'n ein hachub ar hyn o bryd pan fydd ei angen arnom fwyaf. Fel damwain - mae'r gweinyddwyr yn arafu ac ni allwch weld unrhyw beth. Fe wnaethom geisio optimeiddio'r cyfluniad, ond ni roddodd hyn y cynnydd perfformiad gorau posibl.
MM: - Mae'n amlwg. Wnaethoch chi edrych ar rywbeth, a oeddech chi eisoes wedi cloddio rhywbeth o'r diagnosteg?
MCH: - Y peth cyntaf y mae'n rhaid i chi ddelio ag ef yw'r gronfa ddata. Mae MySQL yn cael ei lwytho'n gyson, gan storio metrigau newydd, a phan fydd Zabbix yn dechrau cynhyrchu criw o ddigwyddiadau, mae'r gronfa ddata yn mynd i oryrru am ychydig oriau yn llythrennol. Dywedais wrthych eisoes am optimeiddio'r cyfluniad, ond yn llythrennol eleni fe wnaethant ddiweddaru'r caledwedd: mae gan y gweinyddwyr fwy na chant gigabeit o araeau cof a disg ar SSD RAIDs - nid oes unrhyw bwynt ei dyfu'n llinol yn y tymor hir. Beth ydyn ni'n ei wneud?
MM: - Mae'n amlwg. Yn gyffredinol, cronfa ddata CTLl yw MySQL. Yn ôl pob tebyg, nid yw bellach yn addas ar gyfer storio archif o fetrigau o'n maint. Gadewch i ni chyfrif i maes.
MCH: - Gadewch i ni!
Integreiddio Zabbix a Clickhouse o ganlyniad i'r hacathon
Ar ôl peth amser cawsom ddata diddorol:
Roedd y rhan fwyaf o'r gofod yn ein cronfa ddata wedi'i feddiannu gan yr archif metrigau a defnyddiwyd llai nag 1% ar gyfer cyfluniad, templedi a gosodiadau. Erbyn hynny, roeddem wedi bod yn gweithredu'r datrysiad data Mawr yn seiliedig ar Clickhouse am fwy na blwyddyn. Roedd cyfeiriad y symudiad yn amlwg i ni. Yn ein Hackathon gwanwyn, ysgrifennais integreiddiad Zabbix gyda Clickhouse ar gyfer y gweinydd a'r frontend. Bryd hynny, roedd gan Zabbix gefnogaeth i ElasticSearch eisoes, a phenderfynon ni eu cymharu.
Cymhariaeth o Clickhouse ac Elasticsearch
MM: - Er mwyn cymharu, gwnaethom gynhyrchu'r un llwyth ag y mae gweinydd Zabbix yn ei ddarparu ac edrych ar sut y byddai'r systemau'n ymddwyn. Fe wnaethon ni ysgrifennu data mewn sypiau o 1000 o linellau, gan ddefnyddio CURL. Fe wnaethom ragdybio ymlaen llaw y byddai Clickhouse yn fwy effeithlon ar gyfer y proffil llwyth y mae Zabbix yn ei wneud. Roedd y canlyniadau hyd yn oed yn rhagori ar ein disgwyliadau:
O dan yr un amodau prawf, ysgrifennodd Clickhouse dair gwaith yn fwy o ddata. Ar yr un pryd, roedd y ddwy system yn defnyddio'n effeithlon iawn (ychydig bach o adnoddau) wrth ddarllen data. Ond roedd angen llawer iawn o brosesydd ar Elastics wrth recordio:
Yn gyfan gwbl, roedd Clickhouse yn sylweddol well nag Elastix o ran defnydd prosesydd a chyflymder. Ar yr un pryd, oherwydd cywasgu data, mae Clickhouse yn defnyddio 11 gwaith yn llai ar y gyriant caled ac yn perfformio tua 30 gwaith yn llai o weithrediadau disg:
MCH: - Ydy, mae gwaith Clickhouse gyda'r is-system ddisg yn cael ei weithredu'n effeithlon iawn. Gallwch ddefnyddio disgiau SATA enfawr ar gyfer cronfeydd data a chael cyflymder ysgrifennu o gannoedd o filoedd o linellau yr eiliad. Mae'r system allan-o-y-blwch yn cefnogi rhwygo, dyblygu, ac mae'n hawdd iawn ei ffurfweddu. Rydym yn fwy na bodlon ar ei ddefnydd trwy gydol y flwyddyn.
I wneud y gorau o adnoddau, gallwch osod Clickhouse wrth ymyl eich prif gronfa ddata bresennol a thrwy hynny arbed llawer o amser CPU a gweithrediadau disg. Rydym wedi symud yr archif o fetrigau i glystyrau presennol Clickhouse:
Fe wnaethom ryddhau prif gronfa ddata MySQL gymaint fel y gallem ei gyfuno ar un peiriant gyda'r gweinydd Zabbix a rhoi'r gorau i'r gweinydd pwrpasol ar gyfer MySQL.
Sut mae pleidleisio yn gweithio yn Zabbix?
4 fisoedd yn ôl
MM: - Wel, a allwn ni anghofio am y problemau gyda'r sylfaen?
MCH: - Mae hynny'n sicr! Problem arall y mae angen i ni ei datrys yw casglu data yn araf. Nawr mae ein holl 15 gweinydd dirprwyol wedi'u gorlwytho â SNMP a phrosesau pleidleisio. Ac nid oes unrhyw ffordd heblaw gosod gweinyddwyr newydd a newydd.
MM: - Gwych. Ond yn gyntaf, dywedwch wrthym sut mae pleidleisio yn gweithio yn Zabbix?
MCH: - Yn fyr, mae yna 20 math o fetrigau a dwsin o ffyrdd i'w cael. Gall Zabbix gasglu data naill ai yn y modd “cais-ymateb”, neu aros am ddata newydd trwy'r “Trapper Interface”.
Mae'n werth nodi mai'r dull hwn (Trapper) yw'r cyflymaf yn y Zabbix gwreiddiol.
Mae yna weinyddion dirprwyol ar gyfer dosbarthu llwythi:
Gall dirprwyon gyflawni'r un swyddogaethau casglu â gweinydd Zabbix, gan dderbyn tasgau ohono ac anfon y metrigau a gasglwyd trwy'r rhyngwyneb Trapper. Dyma'r ffordd a argymhellir yn swyddogol i ddosbarthu'r llwyth. Mae dirprwyon hefyd yn ddefnyddiol ar gyfer monitro seilwaith anghysbell sy'n gweithredu trwy NAT neu sianel araf:
MM: - Mae popeth yn glir gyda phensaernïaeth. Mae angen inni edrych ar y ffynonellau...
Ychydig ddyddiau yn ddiweddarach
Hanes sut enillodd nmap fping
MM: “Rwy’n meddwl imi gloddio rhywbeth.”
MCH: - Dywedwch wrthyf!
MM: – Darganfûm, wrth wirio argaeledd, bod Zabbix yn gwirio uchafswm o 128 o westeion ar y tro. Ceisiais gynyddu'r nifer hwn i 500 a chael gwared ar yr egwyl rhyng-baced yn eu ping (ping) - dyblodd hyn y perfformiad. Ond hoffwn niferoedd mwy.
MCH: - Yn fy practis, weithiau mae'n rhaid i mi wirio argaeledd miloedd o westeion, ac nid wyf erioed wedi gweld unrhyw beth yn gyflymach na nmap ar gyfer hyn. Rwy'n siŵr mai dyma'r ffordd gyflymaf. Gadewch i ni roi cynnig arni! Mae angen inni gynyddu'n sylweddol nifer y gwesteiwyr fesul iteriad.
MM: - Gwirio mwy na phum cant? 600?
MCH: - O leiaf cwpl o filoedd.
MM: - IAWN. Y peth pwysicaf yr oeddwn am ei ddweud yw fy mod wedi canfod bod y rhan fwyaf o bleidleisio yn Zabbix yn cael ei wneud yn gydamserol. Yn bendant mae angen i ni ei newid i fodd asyncronig. Yna gallwn gynyddu'n sylweddol nifer y metrigau a gesglir gan bolwyr, yn enwedig os byddwn yn cynyddu nifer y metrigau fesul iteriad.
MCH: - Gwych! A phryd?
MM: - Fel arfer, ddoe.
MCH: – Cymharwyd y ddwy fersiwn o fping a nmap:
Ar nifer fawr o westeion, roedd disgwyl i nmap fod hyd at bum gwaith yn fwy effeithiol. Gan mai dim ond gwirio argaeledd ac amser ymateb y mae nmap, fe wnaethom symud y cyfrifiad colledion i sbardunau a lleihau'r cyfnodau gwirio argaeledd yn sylweddol. Gwelsom mai'r nifer optimaidd o westeion ar gyfer nmap oedd tua 4 mil fesul iteriad. Caniataodd Nmap i ni leihau cost gwiriadau argaeledd CPU deirgwaith a lleihau'r egwyl o 120 eiliad i 10.
Optimeiddio pleidleisio
MM: “Yna fe ddechreuon ni wneud polwyr. Roedd gennym ddiddordeb yn bennaf mewn canfod SNMP ac asiantau. Yn Zabbix, cynhelir y pleidleisio ar yr un pryd a chymerwyd mesurau arbennig i gynyddu effeithlonrwydd y system. Mewn modd cydamserol, mae diffyg argaeledd gwesteiwr yn achosi diraddiad pleidleisio sylweddol. Mae yna system gyfan o daleithiau, mae yna brosesau arbennig - yr hyn a elwir yn pollers na ellir eu cyrraedd, sy'n gweithio gyda gwesteiwyr anghyraeddadwy yn unig:
Mae hwn yn sylwebaeth sy'n dangos y matrics cyflwr, yr holl gymhlethdod y system o drawsnewid sy'n ofynnol er mwyn i'r system barhau i fod yn effeithiol. Yn ogystal, mae pleidleisio cydamserol ei hun yn eithaf araf:
Dyna pam na allai miloedd o ffrydiau poller ar ddwsinau o ddirprwyon gasglu'r swm gofynnol o ddata i ni. Roedd y gweithrediad asyncronig yn datrys nid yn unig y problemau gyda nifer yr edafedd, ond hefyd yn symleiddio'n sylweddol y system cyflwr gwesteiwyr nad oedd ar gael, oherwydd ar gyfer unrhyw nifer a wiriwyd mewn un iteriad pleidleisio, yr amser aros uchaf oedd 1 terfyn amser:
Yn ogystal, gwnaethom addasu a gwella'r system bleidleisio ar gyfer ceisiadau SNMP. Y ffaith yw na all y rhan fwyaf o bobl ymateb i geisiadau SNMP lluosog ar yr un pryd. Felly, gwnaethom ddull hybrid, pan fydd pleidleisio SNMP o'r un gwesteiwr yn cael ei wneud yn anghydamserol:
Gwneir hyn ar gyfer y pecyn cyfan o westeion. Yn y pen draw, nid yw'r modd hwn yn arafach nag un hollol asyncronig, gan fod pleidleisio cant a hanner o werthoedd SNMP yn dal i fod yn llawer cyflymach nag 1 terfyn amser.
Mae ein harbrofion wedi dangos mai'r nifer optimaidd o geisiadau mewn un iteriad yw tua 8 mil gyda phôl SNMP. Yn gyfan gwbl, roedd y newid i'r modd asyncronig yn ein galluogi i gyflymu perfformiad pleidleisio 200 gwaith, gannoedd o weithiau.
MCH: - Dangosodd yr optimeiddiadau pleidleisio a ddeilliodd o hynny y gallwn nid yn unig gael gwared ar yr holl ddirprwyon, ond hefyd lleihau'r cyfnodau ar gyfer llawer o wiriadau, ac ni fydd angen dirprwyon mwyach fel ffordd o rannu'r llwyth.
Tua thri mis yn ol
Newid y bensaernïaeth - cynyddu'r llwyth!
MM: - Wel, Max, a yw'n bryd bod yn gynhyrchiol? Dwi angen gweinydd pwerus a pheiriannydd da.
MCH: - Iawn, gadewch i ni ei gynllunio. Mae'n hen bryd symud o'r pwynt marw o 5 mil metrig yr eiliad.
Bore ar ôl yr uwchraddio
MCH: - Misha, fe wnaethon ni ddiweddaru ein hunain, ond erbyn y bore fe wnaethon ni rolio'n ôl... Dyfalwch pa gyflymder y llwyddwyd i'w gyflawni?
MM: - uchafswm o 20 mil.
MCH: - Ie, 25! Yn anffodus, rydym yn iawn lle y gwnaethom ddechrau.
MM: - Pam? A wnaethoch chi redeg unrhyw ddiagnosteg?
MCH: - Iawn siwr! Dyma, er enghraifft, top diddorol:
MM: - Gadewch i ni wylio. Gwelaf ein bod wedi rhoi cynnig ar nifer enfawr o edafedd pleidleisio:
Ond ar yr un pryd ni allent ailgylchu'r system hyd yn oed gan hanner:
Ac mae'r perfformiad cyffredinol yn eithaf bach, tua 4 mil metrig yr eiliad:
Oes yna rhywbeth arall?
MCH: - Oes, rhediad un o'r polwyr:
MM: – Yma gallwch weld yn glir bod y broses bleidleisio yn aros am “semaffores”. Dyma'r cloeon:
MCH: - Ansicr.
MM: – Edrychwch, mae hyn yn debyg i sefyllfa lle mae criw o edafedd yn ceisio gweithio gydag adnoddau y gall un yn unig weithio gyda nhw ar y tro. Yna y cyfan y gallant ei wneud yw rhannu'r adnodd hwn dros amser:
Ac mae cyfanswm perfformiad gweithio gydag adnodd o'r fath wedi'i gyfyngu gan gyflymder un craidd:
Mae dwy ffordd i ddatrys y broblem hon.
Uwchraddio caledwedd y peiriant, newid i greiddiau cyflymach:
Neu newid y bensaernïaeth ac ar yr un pryd newid y llwyth:
MCH: - Gyda llaw, ar y peiriant prawf byddwn yn defnyddio llai o greiddiau nag ar yr un ymladd, ond maent 1,5 gwaith yn gyflymach o ran amlder fesul craidd!
MM: - Clir? Mae angen ichi edrych ar god y gweinydd.
Llwybr data yn y gweinydd Zabbix
MCH: - Er mwyn darganfod, dechreuon ni ddadansoddi sut mae data'n cael ei drosglwyddo y tu mewn i'r gweinydd Zabbix:
Llun cŵl, iawn? Gadewch i ni fynd drwyddo gam wrth gam i'w wneud yn fwy neu lai yn glir. Mae yna edafedd a gwasanaethau sy'n gyfrifol am gasglu data:
Maent yn trosglwyddo'r metrigau a gasglwyd trwy soced i'r rheolwr Rhagbrosesydd, lle cânt eu cadw mewn ciw:
Mae'r “rheolwr rhagbrosesydd” yn trosglwyddo data i'w weithwyr, sy'n gweithredu cyfarwyddiadau rhagbrosesu ac yn eu dychwelyd yn ôl trwy'r un soced:
Ar ôl hyn, mae'r rheolwr rhagbrosesydd yn eu storio yn y storfa hanes:
Oddi yno maent yn cael eu cymryd gan sinkers hanes, sy'n cyflawni cryn dipyn o swyddogaethau: er enghraifft, cyfrifo sbardunau, llenwi'r storfa gwerth ac, yn bwysicaf oll, arbed metrigau yn y storfa hanes. Yn gyffredinol, mae'r broses yn gymhleth ac yn ddryslyd iawn.
MM: - Y peth cyntaf a welsom oedd bod y mwyafrif o edafedd yn cystadlu am yr hyn a elwir yn “storfa ffurfweddu” (yr ardal cof lle mae holl gyfluniadau gweinydd yn cael eu storio). Mae edafedd sy'n gyfrifol am gasglu data yn gwneud llawer o rwystro:
...gan fod y cyfluniad yn storio nid yn unig metrigau gyda'u paramedrau, ond hefyd ciwiau y mae polwyr yn cymryd gwybodaeth ohonynt am beth i'w wneud nesaf. Pan fydd yna lawer o bolwyr ac mae un yn blocio'r ffurfweddiad, mae'r lleill yn aros am geisiadau:
Ni ddylai polwyr wrthdaro
Felly, y peth cyntaf a wnaethom oedd rhannu'r ciw yn 4 rhan a chaniatáu i pollwyr rwystro'r ciwiau hyn, y rhannau hyn ar yr un pryd, o dan amodau diogel:
Roedd hyn yn dileu cystadleuaeth am y storfa ffurfweddu, a chynyddodd cyflymder polwyr yn sylweddol. Ond yna daethom ar draws y ffaith bod y rheolwr rhagbrosesydd wedi dechrau cronni ciw o swyddi:
Rhaid i'r rheolwr rhagbrosesydd allu blaenoriaethu
Digwyddodd hyn mewn achosion lle nad oedd ganddo berfformiad. Yna'r cyfan y gallai ei wneud oedd cronni ceisiadau o brosesau casglu data ac adio eu byffer nes iddo ddefnyddio'r cof i gyd a chwalu:
I ddatrys y broblem hon, fe wnaethom ychwanegu ail soced a oedd yn benodol ar gyfer gweithwyr:
Felly, cafodd y rheolwr rhagbrosesydd gyfle i flaenoriaethu ei waith ac, os bydd y byffer yn tyfu, y dasg yw arafu'r symud, gan roi cyfle i weithwyr gymryd y byffer hwn:
Yna fe wnaethom ddarganfod mai un o'r rhesymau am yr arafu oedd y gweithwyr eu hunain, gan eu bod yn cystadlu am adnodd a oedd yn gwbl ddibwys i'w gwaith. Gwnaethom ddogfennu'r broblem hon fel atgyweiriad nam, ac mae eisoes wedi'i datrys mewn fersiynau newydd o Zabbix:
Rydyn ni'n cynyddu nifer y socedi - rydyn ni'n cael y canlyniad
Ymhellach, daeth y rheolwr rhagbrosesydd ei hun yn dagfa, gan ei fod yn un edefyn. Roedd yn dibynnu ar y cyflymder craidd, gan roi cyflymder uchaf o tua 70 mil metrig yr eiliad:
Felly, gwnaethom bedwar, gyda phedair set o socedi, o weithwyr:
Ac fe wnaeth hyn ein galluogi i gynyddu'r cyflymder i oddeutu 130 mil metrig:
Eglurir aflinoledd twf gan y ffaith bod cystadleuaeth am y storfa hanes wedi ymddangos. Bu 4 o reolwyr rhagbroseswyr a sinwyr hanes yn cystadlu amdano. Ar y pwynt hwn, roeddem yn derbyn tua 130 mil metrig yr eiliad ar y peiriant prawf, gan ei ddefnyddio gan tua 95% o'r prosesydd:
Tua 2,5 mis yn ôl
Roedd gwrthodiad o snmp-cymuned yn cynyddu NVPs unwaith a hanner
MM: - Max, dwi angen car prawf newydd! Nid ydym bellach yn ffitio i mewn i'r un presennol.
MCH: — Beth sydd genych yn awr ?
MM: – Nawr – 130k NVPs a phrosesydd parod.
MCH: - Waw! Cwl! Arhoswch, mae gennyf ddau gwestiwn. Yn ôl fy nghyfrifiadau, mae ein hangen tua 15-20 mil metrig yr eiliad. Pam mae angen mwy arnom?
MM: “Rydw i eisiau gorffen y swydd.” Hoffwn weld faint y gallwn ei wasgu allan o’r system hon.
MCH: - Ond…
MM: “Ond mae’n ddiwerth i fusnes.”
MCH: - Mae'n amlwg. A'r ail gwestiwn: a allwn gefnogi'r hyn sydd gennym yn awr ar ein pennau ein hunain, heb gymorth datblygwr?
MM: - Dydw i ddim yn meddwl. Mae newid sut mae storfa'r cyfluniad yn gweithio yn broblem. Mae'n effeithio ar newidiadau yn y rhan fwyaf o edafedd ac mae'n eithaf anodd ei gynnal. Yn fwyaf tebygol, bydd yn anodd iawn ei gynnal.
MCH: “Yna mae angen rhyw fath o ddewis arall arnon ni.”
MM: - Mae yna opsiwn o'r fath. Gallwn newid i greiddiau cyflym, tra'n rhoi'r gorau i'r system gloi newydd. Byddwn yn dal i gael perfformiad o 60-80 mil metrig. Ar yr un pryd, gallwn adael gweddill y cod i gyd. Bydd Clickhouse a phleidleisio asyncronaidd yn gweithio. A bydd yn hawdd ei gynnal.
MCH: - Anhygoel! Rwy'n awgrymu ein bod yn stopio yma.
Ar ôl optimeiddio ochr y gweinydd, o'r diwedd roeddem yn gallu lansio'r cod newydd i gynhyrchu. Rhoesom y gorau i rai o'r newidiadau o blaid newid i beiriant gyda creiddiau cyflym a lleihau nifer y newidiadau cod. Rydym hefyd wedi symleiddio'r ffurfweddiad ac wedi dileu macros mewn eitemau data lle bo modd, gan eu bod yn cyflwyno cloi ychwanegol.
Er enghraifft, roedd rhoi'r gorau i'r macro snmp-cymuned, a geir yn aml mewn dogfennaeth ac enghreifftiau, yn ein hachos ni wedi ei gwneud hi'n bosibl cyflymu NVPs ymhellach tua 1,5 gwaith.
Ar ôl dau ddiwrnod yn cynhyrchu
Dileu ffenestri naid hanes digwyddiadau
MCH: - Misha, rydyn ni wedi bod yn defnyddio'r system ers dau ddiwrnod, ac mae popeth yn gweithio. Ond dim ond pan fydd popeth yn gweithio! Roeddem wedi cynllunio gwaith gyda throsglwyddo rhan eithaf mawr o'r rhwydwaith, ac fe wnaethom wirio eto â'n dwylo beth aeth i fyny a beth na wnaeth.
MM: - Methu bod! Fe wnaethon ni wirio popeth 10 gwaith. Mae'r gweinydd yn trin hyd yn oed diffyg rhwydwaith cyflawn ar unwaith.
MCH: - Ydw, dwi'n deall popeth: gweinydd, cronfa ddata, top, austat, logiau - mae popeth yn gyflym... Ond rydyn ni'n edrych ar y rhyngwyneb gwe, ac mae prosesydd “yn y silff” ar y gweinydd a dyma:
MM: - Mae'n amlwg. Gadewch i ni wylio'r we. Canfuom mewn sefyllfa lle roedd nifer fawr o ddigwyddiadau gweithredol, bod y rhan fwyaf o widgets byw yn dechrau gweithio’n araf iawn:
Y rheswm am hyn oedd y genhedlaeth o naidlenni hanes digwyddiadau a gynhyrchir ar gyfer pob eitem yn y rhestr. Felly, fe wnaethon ni roi'r gorau i gynhyrchu'r ffenestri hyn (rhoddwyd sylw ar 5 llinell yn y cod), a datrysodd hyn ein problemau.
Mae'r amser llwytho ar gyfer teclynnau, hyd yn oed pan nad ydynt ar gael yn gyfan gwbl, wedi'i leihau o sawl munud i'r 10-15 eiliad sy'n dderbyniol i ni, a gellir dal i weld yr hanes trwy glicio ar yr amser:
Ar ôl gwaith. 2 fis yn ôl
MCH: - Misha, a ydych yn gadael? Mae'n rhaid i ni siarad.
MM: - Doeddwn i ddim yn bwriadu. Rhywbeth gyda Zabbix eto?
MCH: - Na, ymlaciwch! Roeddwn i eisiau dweud: mae popeth yn gweithio, diolch! Mae gen i gwrw.
Mae Zabbix yn effeithlon
Mae Zabbix yn system a swyddogaeth eithaf cyffredinol a chyfoethog. Gellir ei ddefnyddio ar gyfer gosodiadau bach allan o'r bocs, ond wrth i anghenion dyfu, mae'n rhaid ei optimeiddio. I storio archif fawr o fetrigau, defnyddiwch storfa addas:
- gallwch ddefnyddio offer adeiledig ar ffurf integreiddio ag Elasticsearch neu uwchlwytho hanes i ffeiliau testun (ar gael o fersiwn 4);
- Gallwch chi fanteisio ar ein profiad ac integreiddio â Clickhouse.
Er mwyn cynyddu cyflymder casglu metrigau yn ddramatig, casglwch nhw gan ddefnyddio dulliau asyncronig a'u trosglwyddo trwy'r rhyngwyneb trapiwr i'r gweinydd Zabbix; neu gallwch ddefnyddio clwt i wneud polwyr Zabbix yn asyncronig.
Mae Zabbix wedi'i ysgrifennu yn C ac mae'n eithaf effeithlon. Mae datrys nifer o dagfeydd pensaernïol yn caniatáu ichi gynyddu ei berfformiad ymhellach ac, yn ein profiad ni, gael mwy na 100 mil o fetrigau ar beiriant un prosesydd.
Yr un clwt Zabbix
MM: – Rwyf am ychwanegu cwpl o bwyntiau. Rhoddir yr adroddiad cyfredol cyfan, pob prawf, rhif ar gyfer y ffurfweddiad a ddefnyddiwn. Rydym bellach yn cymryd tua 20 mil metrig yr eiliad ohono. Os ydych yn ceisio deall a fydd hyn yn gweithio i chi, gallwch gymharu. Mae'r hyn a drafodwyd heddiw yn cael ei bostio ar GitHub ar ffurf clwt:
Mae'r clwt yn cynnwys:
- integreiddio llawn gyda Clickhouse (y gweinydd Zabbix a'r blaen);
- datrys problemau gyda'r rheolwr rhagbrosesydd;
- pleidleisio asyncronaidd.
Mae'r clwt yn gydnaws â phob fersiwn 4, gan gynnwys lts. Yn fwyaf tebygol, gydag ychydig iawn o newidiadau, bydd yn gweithio ar fersiwn 3.4.
Diolch i chi am eich sylw.
cwestiynau
Cwestiwn gan y gynulleidfa (o hyn ymlaen – A): – Prynhawn da! Dywedwch wrthyf os gwelwch yn dda, a oes gennych gynlluniau ar gyfer rhyngweithio dwys â thîm Zabbix neu gyda nhw gyda chi, fel nad yw hwn yn ddarn, ond yn ymddygiad arferol Zabbix?
MM: – Byddwn, byddwn yn bendant yn ymrwymo rhai o'r newidiadau. Bydd rhywbeth yn digwydd, bydd rhywbeth yn aros yn y clwt.
A: - Diolch yn fawr iawn am yr adroddiad gwych! Dywedwch wrthyf, ar ôl cymhwyso'r darn, bydd cefnogaeth gan Zabbix yn parhau a sut i barhau i ddiweddaru i fersiynau uwch? A fydd hi'n bosibl diweddaru Zabbix ar ôl eich clwt i 4.2, 5.0?
MM: – Ni allaf ddweud dim am gefnogaeth. Pe bawn i'n gymorth technegol Zabbix, mae'n debyg y byddwn yn dweud na, oherwydd cod rhywun arall yw hwn. O ran y sylfaen cod 4.2, ein safbwynt yw: “Byddwn yn symud gydag amser, a byddwn yn diweddaru ein hunain ar y fersiwn nesaf.” Felly, am beth amser byddwn yn postio darn ar gyfer fersiynau wedi'u diweddaru. Dywedais eisoes yn yr adroddiad: mae nifer y newidiadau gyda fersiynau yn dal yn eithaf bach. Rwy'n meddwl bod y newid o 3.4 i 4 wedi cymryd tua 15 munud i ni.Newidiodd rhywbeth yno, ond nid oedd yn bwysig iawn.
A: – Felly rydych chi'n bwriadu cefnogi'ch ardal a gallwch chi ei osod yn ddiogel wrth gynhyrchu a derbyn diweddariadau mewn rhyw ffordd yn y dyfodol?
MM: - Rydym yn ei argymell yn gryf. Mae hyn yn datrys llawer o broblemau i ni.
MCH: – Unwaith eto, hoffwn dynnu sylw at y ffaith bod y newidiadau nad ydynt yn ymwneud â'r bensaernïaeth ac nad ydynt yn ymwneud â blocio neu giwiau yn rhai modiwlaidd, maent mewn modiwlau ar wahân. Hyd yn oed gyda mân newidiadau gallwch eu cynnal yn eithaf hawdd.
MM: – Os oes gennych ddiddordeb yn y manylion, yna mae “Clickhouse” yn defnyddio'r llyfrgell hanes fel y'i gelwir. Mae'n ddigyswllt - mae'n gopi o'r gefnogaeth Elastics, hynny yw, mae'n ffurfweddadwy. Mae pleidleisio yn newid polwyr yn unig. Credwn y bydd hyn yn gweithio am amser hir.
A: - Diolch yn fawr. Dywedwch wrthyf, a oes unrhyw ddogfennaeth o'r newidiadau a wnaed?
MM: - Mae dogfennaeth yn ddarn. Yn amlwg, gyda chyflwyniad Clickhouse, gyda chyflwyniad mathau newydd o pollers, mae opsiynau cyfluniad newydd yn codi. Mae gan y ddolen o'r sleid olaf ddisgrifiad byr o sut i'w ddefnyddio.
Ynglŷn â disodli fping â nmap
A: – Sut wnaethoch chi roi hyn ar waith yn y diwedd? A allwch chi roi enghreifftiau penodol: a oes gennych chi strapwyr a sgript allanol? Beth sy'n dod i ben yn gwirio nifer mor enfawr o westeion mor gyflym? Sut ydych chi'n mwyngloddio'r gwesteiwyr hyn? Oes angen i ni eu bwydo i nmap rhywsut, eu cael o rywle, eu rhoi i mewn, rhedeg rhywbeth?..
MM: - Cwl. Cwestiwn cywir iawn! Y pwynt yw hyn. Fe wnaethom addasu'r llyfrgell (ICMP ping, rhan o Zabbix) ar gyfer gwiriadau ICMP, sy'n nodi nifer y pecynnau - un (1), ac mae'r cod yn ceisio defnyddio nmap. Hynny yw, dyma waith mewnol Zabbix, sydd wedi dod yn waith mewnol y pinger. Yn unol â hynny, nid oes angen cydamseru na defnyddio trapiwr. Gwnaethpwyd hyn yn fwriadol er mwyn gadael y system yn gyfan a pheidio â gorfod delio â chydamseru dwy system cronfa ddata: beth i'w wirio, ei uwchlwytho trwy'r poller, ac a yw ein llwytho i fyny wedi torri?.. Mae hyn yn llawer symlach.
A: – A yw'n gweithio i ddirprwyon hefyd?
MM: - Do, ond wnaethon ni ddim gwirio. Mae'r cod pleidleisio yr un peth yn Zabbix a'r gweinydd. Dylai weithio. Gadewch imi bwysleisio unwaith eto: mae perfformiad y system yn golygu nad oes angen dirprwy arnom.
MCH: – Yr ateb cywir i’r cwestiwn yw: “Pam mae angen dirprwy gyda system o’r fath arnoch chi?” Dim ond oherwydd NAT neu fonitro trwy ryw fath o sianel araf...
A: - Ac rydych chi'n defnyddio Zabbix fel alertor, os deallaf yn iawn. Neu a yw eich graffeg (lle mae'r haen archif) wedi symud i system arall, fel Grafana? Neu a ydych chi ddim yn defnyddio'r swyddogaeth hon?
MM: – Pwysleisiaf unwaith eto: rydym wedi cyflawni integreiddio llwyr. Rydym yn arllwys hanes i mewn i Clickhouse, ond ar yr un pryd rydym wedi newid y frontend php. Mae blaen Php yn mynd i Clickhouse ac yn gwneud yr holl graffeg oddi yno. Ar yr un pryd, i fod yn onest, mae gennym ran sy'n adeiladu data mewn systemau arddangos graffig eraill o'r un Clickhouse, o'r un data Zabbix.
MCH: – Yn “Grafan” hefyd.
Sut y gwnaed penderfyniadau ynghylch dyrannu adnoddau?
A: - Rhannwch ychydig o'ch cegin fewnol. Sut y gwnaed y penderfyniad bod angen dyrannu adnoddau ar gyfer prosesu'r cynnyrch o ddifrif? Yn gyffredinol, mae'r rhain yn risgiau penodol. A dywedwch wrthyf, os gwelwch yn dda, yng nghyd-destun y ffaith eich bod yn mynd i gefnogi fersiynau newydd: sut mae'r penderfyniad hwn yn cyfiawnhau o safbwynt rheoli?
MM: - Yn ôl pob tebyg, ni wnaethom adrodd y ddrama hanes yn dda iawn. Cawsom ein hunain mewn sefyllfa lle roedd yn rhaid gwneud rhywbeth, ac yn y bôn aethom gyda dau dîm cyfochrog:
- Un oedd lansio system fonitro gan ddefnyddio dulliau newydd: monitro fel gwasanaeth, set safonol o atebion ffynhonnell agored yr ydym yn eu cyfuno ac yna ceisio newid y broses fusnes er mwyn gweithio gyda'r system fonitro newydd.
- Ar yr un pryd, roedd gennym raglennydd brwdfrydig a oedd yn gwneud hyn (amdano'i hun). Dyna ddigwyddodd iddo ennill.
A: - A beth yw maint y tîm?
MCH: - Mae hi o'ch blaen chi.
A: - Felly, fel bob amser, mae angen rhywun angerddol arnoch chi?
MM: - Nid wyf yn gwybod beth yw angerddol.
A: - Yn yr achos hwn, mae'n debyg, chi. Diolch yn fawr iawn, rydych chi'n anhygoel.
MM: - Diolch.
Ynglŷn â chlytiau ar gyfer Zabbix
A: – Ar gyfer system sy'n defnyddio dirprwyon (er enghraifft, mewn rhai systemau gwasgaredig), a yw'n bosibl addasu a chlytio, dyweder, polwyr, dirprwyon ac yn rhannol ragbrosesydd Zabbix ei hun; a'u rhyngweithio? A yw'n bosibl gwneud y gorau o ddatblygiadau presennol ar gyfer system gyda dirprwyon lluosog?
MM: - Rwy'n gwybod bod gweinydd Zabbix yn cael ei ymgynnull gan ddefnyddio dirprwy (mae'r cod yn cael ei lunio a'i gael). Nid ydym wedi profi hyn wrth gynhyrchu. Nid wyf yn siŵr am hyn, ond credaf nad yw'r rheolwr rhagbrosesydd yn cael ei ddefnyddio yn y dirprwy. Tasg y dirprwy yw cymryd set o fetrigau o Zabbix, eu huno (mae hefyd yn cofnodi'r ffurfweddiad, y gronfa ddata leol) a'i roi yn ôl i'r gweinydd Zabbix. Bydd y gweinydd ei hun wedyn yn gwneud y rhagbrosesu pan fydd yn ei dderbyn.
Mae'r diddordeb mewn dirprwyon yn ddealladwy. Byddwn yn edrych arno. Mae hwn yn bwnc diddorol.
A: – Y syniad oedd hyn: os gallwch chi glytio polwyr, gallwch chi eu clytio ar y dirprwy a chlytio'r rhyngweithio â'r gweinydd, ac addasu'r rhagbrosesydd at y dibenion hyn yn unig ar y gweinydd.
MM: - Rwy'n meddwl ei fod hyd yn oed yn symlach. Rydych chi'n cymryd y cod, yn cymhwyso clwt, yna'n ei ffurfweddu yn y ffordd sydd ei angen arnoch chi - casglwch weinyddion dirprwyol (er enghraifft, gydag ODBC) a dosbarthwch y cod glytiog ar draws systemau. Lle bo angen - casglwch ddirprwy, lle bo angen - gweinydd.
A: - Yn fwyaf tebygol, ni fydd yn rhaid i chi glytio'r trosglwyddiad dirprwy i'r gweinydd hefyd?
MCH: - Na, mae'n safonol.
MM: – Yn wir, nid oedd un o'r syniadau yn swnio. Rydym bob amser wedi cynnal cydbwysedd rhwng y ffrwydrad o syniadau a maint y newidiadau a rhwyddineb cefnogaeth.
Rhai hysbysebion 🙂
Diolch am aros gyda ni. Ydych chi'n hoffi ein herthyglau? Eisiau gweld cynnwys mwy diddorol? Cefnogwch ni trwy osod archeb neu argymell i ffrindiau,
Dell R730xd 2 gwaith yn rhatach yng nghanolfan ddata Equinix Haen IV yn Amsterdam? Dim ond yma
Ffynhonnell: hab.com