HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ho seva se le seng

Seboka se latelang sa HighLoad++ se tla tšoaroa ka la 6 Mmesa le la 7, 2020 St. Petersburg Lintlha le litekete. link tsa. HighLoad ++ Moscow 2018. Holo "Moscow". La 9 November, 15:00. Tsena le tlhahiso.

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ho seva se le seng

* Ho beha leihlo - marang-rang le analytics.
* Meeli ea mantlha ea sethala sa ZABBIX.
* Tharollo bakeng sa polokelo ea li-analytics.
* Ntlafatso ea seva ea ZABBIX.
* Ntlafatso ea UI.
* Fumana boiphihlelo ba ho sebelisa sistimi tlasa meroalo e fetang 40k NVPS.
* Liqeto tse khutšoane.

Mikhail Makurov (kamora mona - MM): - Lumelang bohle!

Maxim Chernetsov (kamora mona - MCH): - Lumelang!

MM: – E re ke tsebise Maxim. Max ke moenjiniere ea nang le talenta, setsebi sa marang-rang se hloahloa seo ke se tsebang. Maxim o kenya letsoho marang-rang le lits'ebeletso, nts'etsopele le ts'ebetso ea bona.

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ho seva se le seng

MCH: - 'Me ke rata ho u bolella ka Mikhail. Mikhail ke moqapi oa C. O ngotse litharollo tse 'maloa tsa ts'ebetso ea sephethephethe se phahameng bakeng sa k'hamphani ea rona. Re lula le ho sebetsa Urals, motseng oa banna ba thata ba Chelyabinsk, k'hamphaning ea Intersvyaz. Khamphani ea rona e fana ka lits'ebeletso tsa thelevishene le lithelevishene tsa marang-rang bakeng sa batho ba milione metseng e 16.

MM: - 'Me ho bohlokoa ho bolela hore Intersvyaz ha e fane feela ka mofani, ke k'hamphani ea IT. Boholo ba tharollo ea rona e entsoe ke lefapha la rona la IT.

A: ho tloha ho li-server tse sebetsanang le sephethephethe ho ea setsing sa mehala le sesebelisoa sa mehala. Lefapha la IT hona joale le na le batho ba ka bang 80 ba nang le bokhoni bo fapaneng haholo.

Mabapi le Zabbix le meralo ea eona

MCH: - 'Me joale ke tla leka ho ipehela rekoto' me ke bue ka motsotso o le mong hore na Zabbix ke eng (eo ka mor'a moo e bitsoang "Zabbix").

Zabbix e iponahatsa e le sistimi ea ho beha leihlo e kantle ho lebokose la khoebo. E na le likarolo tse ngata tse nolofaletsang bophelo: melao e tsoetseng pele ea ho nyoloha, API ea ho kopanya, ho hlophisa lihlopha le ho iphumanela mabotho le metrics. Zabbix e na le seo ho thoeng ke lisebelisoa tsa ho lekanya - li-proxies. Zabbix ke sistimi e bulehileng ea mohloli.

Ka bokhuts'oane ka meaho. Re ka re e na le likarolo tse tharo:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ho seva se le seng

  • Seva. E ngotsoe ka C. Ka ts'ebetso e rarahaneng le phetiso ea tlhahisoleseling lipakeng tsa likhoele. Tshebetso eohle e etsahala ho eona: ho tloha ho amohela ho ea ho boloka ho database.
  • Lintlha tsohle li bolokiloe polokelong ea litaba. Zabbix e tšehetsa MySQL, PostreSQL le Oracle.
  • Sehokelo sa marang-rang se ngotsoe ka PHP. Litsamaisong tse ngata e tla le seva sa Apache, empa e sebetsa ka mokhoa o atlehileng haholoanyane hammoho le nginx + php.

Kajeno re rata ho pheta pale e le 'ngoe ea bophelo ba k'hamphani ea rona e amanang le Zabbix...

Pale e tsoang bophelong ba k'hamphani ea Intersvyaz. Re na le eng mme re hloka eng?

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ho seva se le seng
5 kapa 6 likhoeli tse fetileng. Ka letsatsi le leng ka mor'a mosebetsi ...

MCH: - Misha, hello! Ke thabetse hore ke khonne ho u tšoara - ho na le puisano. Re ile ra boela ra ba le mathata a ho beha leihlo. Nakong ea kotsi e kholo, ntho e 'ngoe le e' ngoe e ne e lieha 'me ho ne ho se na tlhahisoleseding mabapi le boemo ba marang-rang. Ka bomalimabe, ha se lekhetlo la pele sena se etsahala. Ke hloka thuso ea hau. Ha re etseng hore tlhahlobo ea rona e sebetse tlas'a maemo afe kapa afe!

MM: - Empa a re ke re amahanyang pele. E se e le lilemo tse 'maloa ke sa shebe moo. Ho ea kamoo ke hopolang kateng, re ile ra lahla Nagios 'me ra fetohela ho Zabbix hoo e ka bang lilemo tse 8 tse fetileng. Mme joale ho bonahala re na le li-server tse 6 tse matla le li-proxies tse ka bang leshome le metso e 'meli. Na ke ferekanya letho?

MCH: - Hoo e ka bang. Li-server tse 15, tseo tse ling tsa tsona e leng mechini ea sebele. Ntho ea bohlokoa ka ho fetisisa ke hore ha e re pholose ka nako eo re e hlokang haholo. Joalo ka kotsi - li-server li ea fokotseha 'me ha u bone letho. Re lekile ho ntlafatsa tlhophiso, empa sena ha sea fana ka keketseho e nepahetseng ea ts'ebetso.

MM: - E hlakile. A na u kile ua sheba ho hong, na u se u ntse u cheka ho hong ho tsoa ho diagnostics?

MCH: - Ntho ea pele eo u lokelang ho sebetsana le eona ke database. MySQL e lula e laetsoe, e boloka metrics e mecha, 'me ha Zabbix e qala ho hlahisa letoto la liketsahalo, database e kena ho feta lihora tse' maloa. Ke se ke u joetse ka ho ntlafatsa tlhophiso, empa ha e le hantle selemong sena ba ntlafalitse lisebelisoa: li-server li na le li-gigabytes tse fetang lekholo tsa memori le li-disk arrays ho SSD RAIDs - ha ho na lebaka la ho e holisa ka mokhoa o ts'oanang ka nako e telele. Re etsa'ng?

MM: - E hlakile. Ka kakaretso, MySQL ke database ea LTP. Kamoo ho bonahalang kateng, ha e sa lokela ho boloka polokelo ea metrics ea boholo ba rona. Ha re e utloisise.

MCH: - Ha re!

Ho kopanngoa ha Zabbix le Clickhouse ka lebaka la hackathon

Ka mor'a nako e itseng re ile ra fumana lintlha tse thahasellisang:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ho seva se le seng

Boholo ba sebaka se polokelong ea rona se ne se lula polokelong ea metrics mme e ka tlase ho 1% e ne e sebelisoa bakeng sa tlhophiso, litempele le litlhophiso. Ka nako eo, re ne re ntse re sebelisa tharollo e kholo ea data e thehiloeng ho Clickhouse nako e fetang selemo. Tsela ea ho tsamaea e ne e totobetse ho rona. Hackathon ea rona ea selemo, ke ngotse ho kopanngoa ha Zabbix le Clickhouse bakeng sa seva le frontend. Ka nako eo, Zabbix e ne e se e ntse e na le tšehetso bakeng sa ElasticSearch, 'me re ile ra etsa qeto ea ho e bapisa.

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ho seva se le seng

Papiso ea Clickhouse le Elasticsearch

MM: - Ho bapisa, re ile ra hlahisa mojaro o tšoanang le oa seva sa Zabbix mme ra sheba hore na litsamaiso li tla itšoara joang. Re ngotse lintlha ka lihlopha tsa mela e 1000, re sebelisa CURL. Re ile ra nahana esale pele hore Clickhouse e tla sebetsa hantle bakeng sa profil ea mojaro eo Zabbix e e etsang. Liphetho li bile li feta tebello ea rona:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ho seva se le seng

Tlas'a maemo a tšoanang a teko, Clickhouse o ngotse lintlha tse ling ka makhetlo a mararo. Ka nako e ts'oanang, litsamaiso ka bobeli li ne li ja ka mokhoa o atlehileng haholo (matlotlo a manyane) ha li bala data. Empa Elastics e ne e hloka processor e ngata ha e rekota:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ho seva se le seng

Ka kakaretso, Clickhouse e ne e phahame haholo ho feta Elastix mabapi le tšebeliso ea processor le lebelo. Ka nako e ts'oanang, ka lebaka la khatello ea data, Clickhouse e sebelisa makhetlo a 11 ka tlase ho hard drive mme e etsa mesebetsi e ka bang makhetlo a 30 ka tlase ho disk:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ho seva se le seng

MCH: - E, mosebetsi oa Clickhouse le "disk subsystem" o sebelisoa ka mokhoa o atlehileng haholo. U ka sebelisa li-disk tse kholo tsa SATA bakeng sa li-database mme oa fumana lebelo la ho ngola la mela e likete tse makholo motsotsoana. Sistimi e kantle ho lebokose e ts'ehetsa ho sharding, ho pheta-pheta, 'me ho bonolo haholo ho e hlophisa. Re khotsofetse ho feta ts'ebeliso ea eona ho pholletsa le selemo.

Ho ntlafatsa lisebelisoa, o ka kenya Clickhouse haufi le database ea hau ea mantlha e teng mme ka hona o boloke nako e ngata ea CPU le ts'ebetso ea disk. Re fetisitse polokelo ea metrics ho lihlopha tse teng tsa Clickhouse:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ho seva se le seng

Re ile ra imolla database ea mantlha ea MySQL hoo re ka e kopanyang mochining o le mong le seva sa Zabbix mme ra lahla seva e inehetseng bakeng sa MySQL.

Khetho ea likhetho e sebetsa joang Zabbix?

Likhoeli tse 4 tse fetileng

MM: - Hantle, na re ka lebala ka mathata a motheo?

MCH: - Ke 'nete! Bothata bo bong boo re hlokang ho bo rarolla ke ho bokelloa ha data butle. Hona joale li-server tsohle tsa rona tse 15 tsa proxy li tletse ka SNMP le mekhoa ea likhetho. 'Me ha ho na mokhoa ntle le ho kenya li-server tse ncha le tse ncha.

MM: - E kholo. Empa pele, re bolelle hore na likhetho li sebetsa joang Zabbix?

MCH: - Ka bokhutšoanyane, ho na le mefuta e 20 ea metrics le mekhoa e XNUMX ea ho li fumana. Zabbix e ka bokella lintlha ka mokhoa oa "kopo-karabelo", kapa ea emela lintlha tse ncha ka "Trapper Interface".

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ho seva se le seng

Ke habohlokoa ho hlokomela hore ho Zabbix ea pele mokhoa ona (Trapper) ke oona o potlakileng ka ho fetisisa.

Ho na le li-server tsa proxy bakeng sa kabo ea mojaro:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ho seva se le seng

Li-proxies li ka etsa mesebetsi e tšoanang ea pokello joaloka seva sa Zabbix, ho amohela mesebetsi ho tsoa ho eona le ho romela metrics e bokelitsoeng ka sebopeho sa Trapper. Ena ke mokhoa o khothaletsoang ka molao oa ho aba mojaro. Li-proxies li boetse li na le thuso bakeng sa ho lekola lits'ebetso tse hole tse sebetsang ka NAT kapa mocha o liehang:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ho seva se le seng

MM: - Ntho e 'ngoe le e' ngoe e hlakile ka meralo. Re lokela ho sheba mehloli...

Matsatsi a 'maloa hamorao

Pale ea hore na nmap fping e hlotse joang

MM: "Ke nahana hore ke epile ho hong."

MCH: - Mpolelle!

MM: - Ke fumane hore ha ho hlahloba ho fumaneha, Zabbix e hlahloba boholo ba mabotho a 128 ka nako. Ke lekile ho eketsa palo ena ho ea ho 500 le ho tlosa nako ea lipakete ho ping ea bona (ping) - sena se imenne habeli. Empa ke kopa lipalo tse kholoanyane.

MCH: - Ts'ebetsong ea ka, ka linako tse ling ke tlameha ho hlahloba boteng ba mabotho a likete, 'me ha ke e-s'o bone letho ka potlako ho feta nmap bakeng sa sena. Ke na le bonnete ba hore ena ke eona tsela e potlakileng. Ha re e leke! Re hloka ho eketsa haholo palo ea baamoheli ka nako e 'ngoe le e' ngoe.

MM: – Sheba tse fetang makholo a mahlano? 600?

MCH: - Bonyane likete tse 'maloa.

MM: - HO LOKILE. Ntho ea bohlokoa ka ho fetisisa eo ke neng ke batla ho e bua ke hore ke fumane hore likhetho tse ngata tsa Zabbix li etsoa ka mokhoa o lumellanang. Ka sebele re hloka ho e fetola hore e be mokhoa oa asynchronous. Ebe re ka eketsa palo ea metrics e bokelletsoeng ke batho ba khethang, haholo-holo haeba re eketsa palo ea metrics ka ho pheta-pheta.

MCH: - E kholo! Mme neng?

MM: - Joalo ka tloaelo, maobane.

MCH: - Re bapisitse mefuta e 'meli ea fping le nmap:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ho seva se le seng

Ka palo e kholo ea baamoheli, nmap e ne e lebelletsoe ho sebetsa ka makhetlo a mahlano ho feta. Kaha nmap e sheba feela ho ba teng le nako ea ho arabela, re tsamaisitse lipalo tsa tahlehelo ho li-triggers mme ra fokotsa haholo linako tsa tlhahlobo ea ho fumaneha. Re fumane palo e nepahetseng ea mabotho a nmap a ka bang likete tse 4 ka ho pheta-pheta. Nmap e re lumelletse ho fokotsa litšenyehelo tsa CPU tsa licheke tsa ho fumaneha ka makhetlo a mararo le ho fokotsa nako ho tloha ho metsotsoana e 120 ho isa ho 10.

Ntlafatso ea likhetho

MM: "Eaba re qala ho etsa likhetho. Re ne re thahasella haholo ho lemoha le li-agent tsa SNMP. Ho Zabbix, likhetho li etsoa ka mokhoa o lumellanang 'me mehato e khethehileng e nkiloe ho eketsa katleho ea tsamaiso. Ka mokhoa o ts'oanang, ho se fumanehe ha moamoheli ho baka phokotso e kholo ea likhetho. Ho na le tsamaiso eohle ea linaha, ho na le mekhoa e khethehileng - bao ho thoeng ke batho ba ke keng ba finyelloa, ba sebetsang feela ka mabotho a sa fihleheng:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ho seva se le seng

Ena ke tlhaloso e bontšang matrix a mmuso, ho rarahana hohle ha tsamaiso ea liphetoho tse hlokahalang e le hore tsamaiso e lule e sebetsa. Ntle le moo, khetho ea synchronous ka boeona e lieha haholo:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ho seva se le seng

Ke ka lebaka leo likete tsa li-poller melapo ho li-proxies tse ngata li sa khoneng ho bokella palo e hlokahalang ea data bakeng sa rona. Ts'ebetso ea asynchronous ha e rarolle mathata feela ka palo ea likhoele, empa hape e nolofalitse tsamaiso ea mmuso ea mabotho a sa fumaneheng, hobane bakeng sa palo efe kapa efe e hlahlobiloeng ka mokhoa o le mong oa ho khetha, nako e telele ea ho leta e ne e le 1 timeout:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ho seva se le seng

Ho feta moo, re fetotse le ho ntlafatsa sistimi ea likhetho bakeng sa likopo tsa SNMP. Taba ke hore batho ba bangata ha ba khone ho araba likopo tse ngata tsa SNMP ka nako e le 'ngoe. Ka hona, re entse mokhoa o nyalisitsoeng, ha likhetho tsa SNMP tsa moamoheli a le mong li etsoa ka mokhoa o ts'oanang:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ho seva se le seng

Sena se etsoa bakeng sa sehlopha sohle sa baeti. Mokhoa ona qetellong ha o liehe ho feta o sa lumellaneng ka botlalo, kaha likhetho tsa SNMP tse lekholo le halofo li ntse li potlakile haholo ho feta nako e le 'ngoe.

Liteko tsa rona li bonts'itse hore palo e nepahetseng ea likopo ka nako e le 'ngoe e ka ba likete tse 8 ka likhetho tsa SNMP. Ka kakaretso, phetoho ea mokhoa oa asynchronous e re lumelletse ho potlakisa ts'ebetso ea likhetho ka makhetlo a 200, ka makhetlo a makholo a 'maloa.

MCH: - Lintlafatso tsa likhetho tse hlahisitsoeng li bontšitse hore re ke ke ra tlosa li-proxies feela, empa hape re fokotsa nako ea licheke tse ngata, 'me li-proxies ha li sa tla hlokahala e le mokhoa oa ho arolelana mojaro.

Hoo e ka bang likhoeli tse tharo tse fetileng

Fetola meralo - eketsa mojaro!

MM: - Joale, Max, na ke nako ea ho hlahisa litholoana? Ke hloka seva e matla le moenjiniere ea hloahloa.

MCH: - Ho lokile, a re e rereleng. Ke nako e phahameng ea ho tloha sebakeng se shoeleng sa metrics tse likete tse 5 ka motsotsoana.

Hoseng ka mor'a ho ntlafatsa

MCH: - Misha, re ile ra inchafatsa, empa hoseng re ile ra khutlela morao ... Nahana hore na re khonne ho finyella lebelo lefe?

MM: – 20 sekete palo e kahodimodimo.

MCH: - Ee, 25! Ka bomalimabe, re hantle moo re qalileng teng.

MM: - Hobaneng? A na u entse tlhahlobo efe kapa efe?

MCH: - E, ehlile! Mona, mohlala, ho na le top e khahlisang:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ho seva se le seng

MM: - Ha re shebelle. Kea bona hore re lekile palo e kholo ea likhoele tsa likhetho:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ho seva se le seng

Empa ka nako e ts'oanang ba ne ba sa khone ho sebelisa sistimi le ka halofo:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ho seva se le seng

'Me ts'ebetso e akaretsang e nyane haholo, e ka bang likete tse 4 tsa metriki ka motsotsoana:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ho seva se le seng

Ho na le se seng hape?

MCH: - E, letoto la e mong oa bafuputsi:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ho seva se le seng

MM: - Mona u ka bona ka ho hlaka hore mokhoa oa ho khetha o emetse "semaphores". Tsena ke liloko:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ho seva se le seng

MCH: - Ha e hlake.

MM: - Sheba, sena se tšoana le boemo boo sehlopha sa likhoele se lekang ho sebetsa ka lisebelisoa tseo motho a le mong feela a ka sebetsang le tsona ka nako. Ebe sohle seo ba ka se etsang ke ho arolelana sesebelisoa sena ka nako:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ho seva se le seng

'Me ts'ebetso eohle ea ho sebetsa ka sesebelisoa se joalo e lekantsoe ke lebelo la mantlha a le mong:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ho seva se le seng

Ho na le litsela tse peli tsa ho rarolla bothata bona.

Ntlafatsa lisebelisoa tsa mochini, fetohela ho li-cores tse potlakileng:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ho seva se le seng

Kapa fetola meralo 'me ka nako e tšoanang fetola mojaro:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ho seva se le seng

MCH: - Ha e le hantle, mochining oa liteko re tla sebelisa li-cores tse fokolang ho feta tsa ntoa, empa li potlakile ka makhetlo a 1,5 ka makhetlo a mantlha!

MM: - Hlakileng? U hloka ho sheba khoutu ea seva.

Tsela ea data ho seva sa Zabbix

MCH: - Ho e tseba, re ile ra qala ho sekaseka hore na data e fetisoa joang ka har'a seva sa Zabbix:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ho seva se le seng

Senepe se setle, na? Ha re e feteng mohato ka mohato ho e hlakisa haholoanyane kapa hanyane. Ho na le likhoele le litšebeletso tse ikarabellang bakeng sa ho bokella lintlha:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ho seva se le seng

Ba fetisetsa metrics e bokelletsoeng ka sokete ho mookameli oa Preprocessor, moo ba bolokiloeng moleng:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ho seva se le seng

"Motsamaisi oa preprocessor" o fetisetsa data ho basebetsi ba eona, ba phethahatsang litaelo tsa pele le ho li khutlisa ka sokete e tšoanang:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ho seva se le seng

Kamora sena, mookameli oa preprocessor o li boloka ka har'a cache ea nalane:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ho seva se le seng

Ho tloha moo ba nkiloe ke li-sinkers tsa histori, tse etsang mesebetsi e mengata haholo: mohlala, ho bala li-triggers, ho tlatsa cache ea bohlokoa, 'me ka ho fetisisa, ho boloka metrics polokelong ea histori. Ka kakaretso, mokhoa ona o rarahane ebile o ferekanya haholo.

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ho seva se le seng

MM: - Ntho ea pele eo re e boneng ke hore likhoele tse ngata li hlōlisana le seo ho thoeng ke "cache ea tlhophiso" (sebaka sa memori moo litlhophiso tsohle tsa seva li bolokiloeng). Likhoele tse ikarabellang bakeng sa ho bokella lintlha li thibela haholo:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ho seva se le seng

...kaha tlhophiso e boloka metrics le liparamente tsa eona feela, empa hape le mela eo batho ba khethang ho eona ba nkang tlhahisoleseling mabapi le seo ba lokelang ho se etsa kamora moo. Ha ho na le likhetho tse ngata 'me e mong a thibela tlhophiso, ba bang ba emela likopo:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ho seva se le seng

Bahlahlobisisi ha baa lokela ho qabana

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ho seva se le seng

Ka hona, ntho ea pele eo re e entseng e ne e le ho arola mokoloko ka likarolo tse 4 le ho lumella batho ba khethang likhetho ho thibela mela ena, likarolo tsena ka nako e le 'ngoe, tlas'a maemo a sireletsehileng:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ho seva se le seng

Sena se tlositse tlholisano bakeng sa cache ea tlhophiso, mme lebelo la batho ba khethang likhetho le ile la eketseha haholo. Empa joale re ile ra kopana le taba ea hore mookameli oa preprocessor o ile a qala ho bokella letoto la mesebetsi:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ho seva se le seng

Motsamaisi oa Preprocessor o tlameha ho khona ho etelletsa pele

Sena se etsahetse maemong ao a neng a haelloa ke ts'ebetso. Ebe sohle seo a neng a ka se etsa e ne e le ho bokella likopo ho tsoa lits'ebetsong tsa pokello ea data le ho eketsa buffer ea bona ho fihlela e qeta memori eohle mme e soahlamana:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ho seva se le seng

Ho rarolla bothata bona, re kentse sokete ea bobeli e nehetsoeng basebetsi ka ho khetheha:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ho seva se le seng

Kahoo, mookameli oa preprocessor o bile le monyetla oa ho beha mosebetsi oa hae pele, mme, haeba buffer e hola, mosebetsi ke ho fokotsa ho tlosoa, ho fa basebetsi monyetla oa ho nka buffer ena:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ho seva se le seng

Eaba re fumana hore le leng la mabaka a entseng hore mosebetsi o fokotsehe e ne e le basebetsi ka bobona, kaha ba ne ba qothisana lehlokoa le ho fumana mohloli o neng o se oa bohlokoa ho hang mosebetsing oa bona. Re tlalehile bothata bona e le tokiso ea liphoso, 'me bo se bo rarollotsoe ka mefuta e mecha ea Zabbix:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ho seva se le seng

Re eketsa palo ea li-sockets - re fumana sephetho

Ho feta moo, mookameli oa preprocessor ka boeena o ile a fetoha botlolo, kaha ke khoele e le 'ngoe. E ne e lutse ka lebelo la mantlha, e fana ka lebelo le phahameng la li-metric tse ka bang likete tse 70 motsotsoana:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ho seva se le seng

Ka hona, re entse tse 'nè, ka lihlopha tse' nè tsa sockets, basebetsi:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ho seva se le seng

'Me sena se re lumelletse ho eketsa lebelo ho isa ho metrics e ka bang likete tse 130:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ho seva se le seng

Ho se be le mola oa kholo ho hlalosoa ke taba ea hore tlholisano ea cache ea nalane e hlahile. Batsamaisi ba 4 ba preprocessor le li-sinker tsa nalane ba ile ba qothisana lehlokoa le eona. Mothating ona, re ne re amohela metrics e ka bang likete tse 130 motsotsoana mochining oa liteko, re o sebelisa ka 95% ea processor:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ho seva se le seng

Hoo e ka bang likhoeli tse 2,5 tse fetileng

Ho hana ho tsoa ho snmp-community ho ile ha eketsa NVP ka nako e le nngwe le halofo

MM: - Max, ke hloka koloi e ncha ea liteko! Ha re sa kena ho ea hajoale.

MCH: - U na le eng hona joale?

MM: - Hona joale - 130k NVPs le processor e lokiselitsoeng lishelefong.

MCH: - Joooh! Ho pholile! Ema, ke na le lipotso tse peli. Ho ea ka lipalo tsa ka, tlhoko ea rona e haufi le 15-20 likete tsa metric ka motsotsoana. Ke hobane'ng ha re hloka ho eketsehileng?

MM: "Ke batla ho qeta mosebetsi." Ke kopa ho bona hore na re ka ts'oana hakae tsamaisong ena.

MCH: - Empa…

MM: "Empa ha e na thuso bakeng sa khoebo."

MCH: - E hlakile. 'Me potso ea bobeli: na re ka tšehetsa seo re nang le sona hona joale ka borona, ntle le thuso ea moqapi?

MM: - Ha ke nahane. Ho fetola tsela eo cache ea tlhophiso e sebetsang ka eona ke bothata. E ama liphetoho likhoeleng tse ngata 'me ho thata ho e hlokomela. Ho ka etsahala hore ebe ho tla ba thata haholo ho e boloka.

MCH: Joale re hloka mofuta o mong.

MM: - Ho na le khetho e joalo. Re ka fetohela ho li-cores tse potlakileng, ha re ntse re lahla mokhoa o mocha oa ho notlela. Re ntse re tla fumana ts'ebetso ea li-metrics tse likete tse 60-80. Ka nako e ts'oanang, re ka tlohela tse ling kaofela tsa khoutu. Clickhouse le likhetho tsa asynchronous li tla sebetsa. 'Me ho tla ba bonolo ho hlokomela.

MCH: - Hoa makatsa! Ke khothaletsa hore re emise mona.

Kamora ho ntlafatsa lehlakore la seva, qetellong re khonne ho qala khoutu e ncha ho hlahisa. Re lahlile tse ling tsa liphetoho molemong oa ho fetohela mochining o nang le li-cores tse potlakileng le ho fokotsa palo ea liphetoho tsa khoutu. Re boetse re nolofalitse tlhophiso le ho tlosa li-macros linthong tsa data moo ho ka khonehang, ha li ntse li hlahisa ho notlela ho eketsehileng.

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ho seva se le seng

Ka mohlala, ho lahla snmp-community macro, eo hangata e fumanoang litokomaneng le mehlala, molemong oa rona ho entse hore ho khonehe ho potlakisa li-NVP ka makhetlo a ka bang 1,5.

Kamora matsatsi a mabeli tlhahisong

Ho tlosa li-pop-ups tsa nalane ea liketsahalo

MCH: - Misha, esale re sebelisa sistimi ka matsatsi a mabeli, 'me tsohle lia sebetsa. Empa feela ha tsohle li sebetsa! Re ne re rerile mosebetsi ka phetisetso ea karolo e batlang e le kholo ea marang-rang, 'me re ile ra boela ra hlahloba ka matsoho a rona hore na ke eng e nyolohileng le e sa tsamaeeng.

MM: - Ha ho khonehe! Re hlahlobile ntho e 'ngoe le e' ngoe ka makhetlo a 10. Seva e sebetsana le ho se fumanehe ho felletseng ha marang-rang hang hang.

MCH: - E, ke utloisisa ntho e 'ngoe le e' ngoe: seva, database, top, austat, logs - ntho e 'ngoe le e' ngoe e potlakile ... Empa re sheba sebopeho sa websaete, 'me ho na le processor "shelf" ho seva le sena:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ho seva se le seng

MM: - E hlakile. Ha re shebeng tepo. Re fumane hore maemong ao ho neng ho e-na le liketsahalo tse ngata tse sebetsang, boholo ba li-widget tse phelang li ile tsa qala ho sebetsa butle haholo:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ho seva se le seng

Lebaka la sena e ne e le tlhahiso ea li-pop-ups tsa nalane ea liketsahalo tse hlahisoang bakeng sa ntho ka 'ngoe e lethathamong. Ka hona, re lahlile moloko oa lifensetere tsena (ho fana ka maikutlo a mela e 5 ka khoutu), mme sena se rarolle mathata a rona.

Nako ea ho kenya li-widget, leha e sa fumanehe ka botlalo, e fokotsehile ho tloha metsotsong e 'maloa ho ea ho metsotsoana e amohelehang ea 10-15 bakeng sa rona,' me nalane e ntse e ka bonoa ka ho tobetsa nako:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ho seva se le seng

Ka mor'a mosebetsi. Likhoeli tse 2 tse fetileng

MCH: - Misha, na u tsamaea? Re tlameha ho bua.

MM: - Ke ne ke sa ikemisetsa. Ho na le ho hong ka Zabbix hape?

MCH: - Che, phomola! Ke ne ke batla ho re: ntho e 'ngoe le e' ngoe e sebetsa, kea leboha! Ke na le biri.

Zabbix e sebetsa hantle

Zabbix ke sistimi e phethahetseng le e ruileng le ts'ebetso. E ka sebelisoa bakeng sa lisebelisoa tse nyane ka ntle ho lebokose, empa ha litlhoko li ntse li hola, e tlameha ho ntlafatsoa. Ho boloka polokelo e kholo ea metrics, sebelisa polokelo e loketseng:

  • o ka sebelisa lisebelisoa tse hahelletsoeng ka mokhoa oa ho kopanya le Elasticsearch kapa ho kenya nalane ho lifaele tsa mongolo (tse fumanehang ho tsoa ho mofuta oa XNUMX);
  • U ka nka monyetla ka boiphihlelo ba rona le ho ikopanya le Clickhouse.

Ho eketsa ka mokhoa o tsotehang lebelo la ho bokella metrics, li bokelle ho sebelisa mekhoa ea asynchronous 'me u li fetise ka sebopeho sa trapper ho seva sa Zabbix; kapa o ka sebelisa patch ho etsa hore likhetho tsa Zabbix li senyehe.

Zabbix e ngotsoe ka C mme e sebetsa hantle haholo. Ho rarolla mathata a 'maloa a meralo ho u lumella ho eketsa ts'ebetso ea eona le ho feta, ka boiphihlelo ba rona, fumana metrics e fetang likete tse 100 mochining o le mong oa processor.

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ho seva se le seng

Patch e tšoanang ea Zabbix

MM: - Ke batla ho eketsa lintlha tse 'maloa. Tlaleho eohle ea hajoale, liteko tsohle, linomoro li fanoe bakeng sa tlhophiso eo re e sebelisang. Hona joale re nka li-metrics tse ka bang likete tse 20 motsotsoana ho tsoa ho eona. Haeba u leka ho utloisisa hore na sena se tla u sebeletsa, u ka bapisa. Seo ho neng ho buisanoa ka sona kajeno se ngotsoe ho GitHub ka mokhoa oa patch: github.com/miklert/zabbix

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ho seva se le seng

Patch e kenyelletsa:

  • kopanyo e feletseng le Clickhouse (ka bobeli seva sa Zabbix le frontend);
  • ho rarolla mathata le mookameli oa preprocessor;
  • khetho ea asynchronous.

Patch e lumellana le mefuta eohle ea 4, ho kenyelletsa le lts. Mohlomong, ka liphetoho tse fokolang e tla sebetsa ho mofuta oa 3.4.

Kea le leboha ka tlhokomelo ea hao.

Lipotso

Potso ho tsoa ho bamameli (kamora mona - A): - Lumela! Ka kopo mpolelle, na u na le merero ea tšebelisano e matla le sehlopha sa Zabbix kapa le bona le uena, e le hore sena e se patch, empa boitšoaro bo tloaelehileng ba Zabbix?

MM: - E, ka sebele re tla etsa tse ling tsa liphetoho. Ho na le ntho e tla etsahala, ntho e 'ngoe e tla sala sepacheng.

A: – Ke leboha haholo ka tlaleho e babatsehang! Ka kopo mpolelle, ka mor'a ho sebelisa patch, tšehetso e tsoang ho Zabbix e tla sala le hore na u ka tsoela pele joang ho ntlafatsa liphetolelo tse phahameng? Na ho tla khonahala ho ntlafatsa Zabbix kamora patch ea hau ho 4.2, 5.0?

MM: - Ha ke khone ho bua letho ka tšehetso. Haeba ke ne ke le ts'ehetso ea tekheniki ea Zabbix, mohlomong nka re che, hobane ena ke khoutu ea motho e mong. Ha e le 4.2 codebase, boemo ba rona ke: "Re tla tsamaea le nako, 'me re tla inchafatsa ka mofuta o latelang." Ka hona, ka nako e itseng re tla be re romella patch bakeng sa liphetolelo tse ntlafalitsoeng. Ke se ke boletse tlalehong: palo ea liphetoho tse nang le liphetolelo e ntse e le nyenyane haholo. Ke nahana hore phetoho ea 3.4 ho ea ho 4 e ile ea re nka metsotso e ka bang 15. Ho na le ntho e ileng ea fetoha moo, empa e seng ea bohlokoa haholo.

A: - Kahoo u rera ho tšehetsa patch ea hau 'me u ka e kenya ka mokhoa o sireletsehileng tlhahisong le ho fumana lisebelisoa ka tsela e itseng nakong e tlang?

MM: - Re e khothaletsa ka matla. Sena se rarolla mathata a mangata bakeng sa rona.

MCH: - Hape, ke rata ho lebisa tlhokomelo 'neteng ea hore liphetoho tse sa amaneng le meralo ebile ha li ame ho thibela kapa li-queue ke li-modular, li ka li-modules tse arohaneng. Le ka liphetoho tse nyane u ka li boloka habonolo.

MM: - Haeba u thahasella lintlha, joale "Clickhouse" e sebelisa seo ho thoeng ke laebrari ea histori. E hahiloe - ke kopi ea tšehetso ea Elastics, ke hore, e ka lokisoa. Khetho e fetola feela batho ba khethang likhetho. Re lumela hore sena se tla sebetsa nako e telele.

A: - Ke leboha haholo. Mpolelle, na ho na le litokomane tsa liphetoho tse entsoeng?

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ho seva se le seng

MM: - Litokomane ke patch. Ho hlakile hore ka kenyelletso ea Clickhouse, ka kenyelletso ea mefuta e mecha ea likhetho, likhetho tse ncha tsa tlhophiso lia hlaha. Sehokelo se tsoang selaeteng sa ho qetela se na le tlhaloso e khutšoane ea mokhoa oa ho se sebelisa.

Mabapi le ho tlosa fping ka nmap

A: – U qetetse ho kenya tšebetsong see joang? A na u ka fana ka mehlala e tobileng: na u na le li-strappers le script e ka ntle? Ke eng e qetellang e lekola palo e kholo ea baamoheli kapele hakaale? U fumana baamoheli baa joang? Na re hloka ho li fepa ho nmap ka tsela e itseng, re li fumane kae-kae, re li kenye, re tsamaise ho hong? ..

MM: - Pholile. Potso e nepahetseng haholo! Taba ke ena. Re fetotse laeborari (ICMP ping, karolo ea Zabbix) bakeng sa licheke tsa ICMP, tse bonts'ang palo ea lipakete - e le 'ngoe (1), mme khoutu e leka ho sebelisa nmap. Ke hore, ena ke mosebetsi oa ka hare oa Zabbix, o fetohileng mosebetsi oa ka hare oa pinger. Ka hona, ha ho na khokahano kapa tšebeliso ea trapper e hlokahalang. Sena se entsoe ka boomo e le hore u tlohele tsamaiso e tiile 'me u se ke ua tlameha ho sebetsana le ho lumellana ha litsamaiso tse peli tsa database: seo u lokelang ho se hlahloba, ho kenya ka har'a poller,' me na upload ea rona e robehile? .. Sena se bonolo haholoanyane.

A: - Na e sebetsa bakeng sa li-proxies hape?

MM: - E, empa ha rea ​​ka ra hlahloba. Khoutu ea likhetho e tšoana ho Zabbix le seva. E lokela ho sebetsa. E re ke totobatse hape: ts'ebetso ea sistimi e joalo hoo re sa hlokeng moemeli.

MCH: - Karabo e nepahetseng ea potso ke: "Hobaneng u hloka moemeli ea nang le sistimi e joalo?" Ke feela ka lebaka la NAT kapa ho beha leihlo ka mofuta o itseng oa mocha o liehang ...

A: - 'Me u sebelisa Zabbix e le allertor, haeba ke utloisisa hantle. Kapa na lits'oants'o tsa hau (moo sebaka sa polokelo se leng teng) se falliselitsoe ho sistimi e 'ngoe, joalo ka Grafana? Kapa ha u sebelise ts'ebetso ee?

MM: - Ke tla hatisa hape: re fihletse kopano e feletseng. Re tšela nalane ho Clickhouse, empa ka nako e ts'oanang re fetotse php frontend. Php frontend e ea Clickhouse mme e etsa litšoantšo tsohle ho tloha moo. Ka nako e ts'oanang, ho bua 'nete, re na le karolo e hahang data lits'ebetsong tse ling tsa litšoantšo tse tsoang ho Clickhouse e tšoanang, ho tsoa ho data e tšoanang ea Zabbix.

MCH: - Ho "Grafan" hape.

Liqeto li ile tsa etsoa joang mabapi le kabo ea lisebelisoa?

A: - Arolelana hanyane ka kichineng ea hau e kahare. Qeto e ile ea etsoa joang ea hore ho ne ho hlokahala ho fana ka lisebelisoa bakeng sa ts'ebetso e tebileng ea sehlahisoa? Tsena ke, ka kakaretso, likotsi tse itseng. 'Me ka kopo mpolelle, moelelong oa taba ea hore u tla tšehetsa liphetolelo tse ncha: qeto ee e lokafatsa joang ho latela pono ea tsamaiso?

MM: - Kamoo ho bonahalang kateng, ha rea ​​ka ra bolella tšoantšiso ea histori hantle. Re ile ra iphumana re le boemong boo ho neng ho tlameha ho etsoa ho hong, 'me re ile ra tsamaea le lihlopha tse peli tse bapileng:

  • E 'ngoe e ne e qala mokhoa oa ho beha leihlo ho sebelisa mekhoa e mecha: ho beha leihlo e le tšebeletso, sete e tloaelehileng ea tharollo ea mohloli o bulehileng oo re o kopanyang ebe re leka ho fetola mokhoa oa khoebo e le hore re sebetse le tsamaiso e ncha ea ho beha leihlo.
  • Ka nako e tšoanang, re ne re e-na le moqapi ea chesehang ea neng a etsa sena (ka eena). Ho ile ha etsahala hore a hlotse.

A: - Hona boholo ba sehlopha ke bofe?

MCH: - O ka pel'a hao.

A: - Kahoo, joalo ka kamehla, u hloka motho ea chesehang?

MM: - Ha ke tsebe hore na takatso e matla ke eng.

A: - Tabeng ena, kamoo ho bonahalang kateng, uena. Ke leboha haholo, o motle.

MM: - Kea leboha.

Mabapi le likhechana tsa Zabbix

A: - Bakeng sa sistimi e sebelisang li-proxies (mohlala, lits'ebetsong tse ling tse phatlalalitsoeng), na hoa khoneha ho ikamahanya le maemo le ho lokisoa, ho re, li-pollers, li-proxies le karolo e itseng ea preprocessor ea Zabbix ka boeona; le tšebelisano ea bona? Na hoa khoneha ho ntlafatsa ntlafatso e teng bakeng sa sistimi e nang le li-proxies tse ngata?

MM: - Kea tseba hore seva sa Zabbix se bokelloa ho sebelisa moemeli (khoutu e hlophisitsoe ebile e fumanoa). Ha re so leke sena tlhahisong. Ha ke na bonnete ka sena, empa ke nahana hore preprocessor manager ha e sebelisoe proxy. Mosebetsi oa moemeli ke ho nka sete ea metrics ho Zabbix, ho e kopanya (e boetse e tlaleha tlhophiso, database ea sebakeng seo) ebe e e khutlisetsa ho seva sa Zabbix. Seva ka boeona e tla etsa preprocessing ha e e amohela.

Thahasello ea li-proxies ea utloahala. Re tla e hlahloba. Ena ke taba e khahlisang.

A: - Mohopolo e ne e le ona: ha o ka khona ho patch pollers, o ka ba pakela ho proxy le ho kopanya tšebelisano le seva, 'me u fetole preprocessor molemong oa sena feela ho seva.

MM: - Ke nahana hore ho bonolo le ho feta. U nka khoutu, u sebelise patch, ebe u e hlophisa ka tsela eo u e hlokang - bokella li-server tsa proxy (mohlala, le ODBC) 'me u aba khoutu e patiloeng ho pholletsa le litsamaiso. Ha ho hlokahala - bokella moemeli, moo ho hlokahalang - seva.

A: - Ho ka etsahala hore ebe, u ke ke ua tlameha ho kopanya phetiso ea moemeli ho seva hape?

MCH: - Che, ho tloaelehile.

MM: - Ha e le hantle, e 'ngoe ea mehopolo ha ea ka ea utloahala. Re 'nile ra boloka ho leka-lekana pakeng tsa ho phatloha ha maikutlo le palo ea liphetoho le boiketlo ba tšehetso.

Lipapatso tse ling 🙂

Kea leboha ka ho lula le rona. Na u rata lingoliloeng tsa rona? U batla ho bona litaba tse ling tse khahlisang? Re tšehetse ka ho etsa odara kapa ho khothaletsa metsoalle, cloud VPS bakeng sa batho ba ntlafatsang ho tloha ho $ 4.99, analogue e ikhethang ea li-server tsa boemo ba ho kena, e iqapetsoeng ke rona bakeng sa hau: 'Nete eohle ka VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps ho tloha $19 kapa mokhoa oa ho arolelana seva? (e fumaneha ka RAID1 le RAID10, ho fihla ho li-cores tse 24 le ho fihla ho 40GB DDR4).

Dell R730xd makhetlo a 2 a theko e tlase sebakeng sa data sa Equinix Tier IV se Amsterdam? Ke mona feela 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV ho tloha $199 naheng ea Netherlands! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - ho tloha $99! Bala ka Mokhoa oa ho haha ​​​​infrastructure Corp. sehlopha ka tšebeliso ea li-server tsa Dell R730xd E5-2650 v4 tse jang li-euro tse 9000 bakeng sa penny?

Source: www.habr.com

Eketsa ka tlhaloso