HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS akan sabar daya.

Za a gudanar da taron HighLoad ++ na gaba a ranar 6 da 7 ga Afrilu, 2020 a St. Petersburg Cikakkun bayanai da tikiti mahada. HighLoad ++ Moscow 2018. Hall "Moscow". Nuwamba 9, 15:00. Wadannan da gabatarwa.

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS akan sabar daya.

* Saka idanu - kan layi da nazari.
* Iyakoki na asali na dandalin ZABBIX.
* Magani don ma'ajin ƙididdiga masu ƙima.
* Haɓaka uwar garken ZABBIX.
* Inganta UI.
* Kwarewar aiki da tsarin a ƙarƙashin nauyin sama da 40k NVPS.
* Takaitaccen bayani.

Mikhail Makurov (nan gaba - MM): - Sannu duka!

Maxim Chernetsov (nan gaba - MCH): - Barka da rana!

MM: – Bari in gabatar da Maxim. Max ƙwararren injiniya ne, mafi kyawun hanyar sadarwar da na sani. Maxim yana shiga cikin cibiyoyin sadarwa da ayyuka, haɓakawa da aiki.

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS akan sabar daya.

MCH: – Kuma ina so in gaya muku game da Mikhail. Mikhail mawallafin C ne. Ya rubuta hanyoyin sarrafa zirga-zirga da yawa don kamfaninmu. Muna zaune kuma muna aiki a cikin Urals, a cikin birnin Chelyabinsk masu tauri, a cikin kamfanin Intersvyaz. Kamfaninmu yana ba da sabis na Intanet da sabis na talabijin na USB don mutane miliyan ɗaya a cikin birane 16.

MM: - Kuma yana da kyau a faɗi cewa Intersvyaz ya fi mai bayarwa kawai, kamfani ne na IT. Yawancin hanyoyinmu na sashen IT ne ke yin su.

A: daga sabobin sarrafa zirga-zirga zuwa cibiyar kira da aikace-aikacen hannu. Sashen IT yanzu yana da kusan mutane 80 waɗanda ke da ƙwarewa iri-iri.

Game da Zabbix da gine-ginensa

MCH: - Kuma yanzu zan yi ƙoƙarin saita rikodin sirri kuma in faɗi a cikin minti ɗaya abin da Zabbix yake (nan gaba ana kiransa "Zabbix").

Zabbix ta sanya kanta a matsayin tsarin sa ido na matakin-kasuwanci. Yana da fasali da yawa waɗanda ke sauƙaƙa rayuwa: ƙa'idodin haɓaka ci gaba, API don haɗin kai, haɗawa da ganowa ta atomatik na runduna da ma'auni. Zabbix yana da abin da ake kira kayan aikin ƙira - proxies. Zabbix shine tsarin tushen budewa.

A taƙaice game da gine-gine. Za mu iya cewa ya ƙunshi abubuwa guda uku:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS akan sabar daya.

  • Sabar. An rubuta a C. Tare da hadaddun sarrafawa da canja wurin bayanai tsakanin zaren. Duk aiki yana faruwa a cikinsa: daga karɓa zuwa adanawa zuwa bayanan bayanai.
  • Ana adana duk bayanai a cikin ma'ajin bayanai. Zabbix yana goyan bayan MySQL, PostreSQL da Oracle.
  • An rubuta haɗin yanar gizon a cikin PHP. A yawancin tsarin yana zuwa tare da uwar garken Apache, amma yana aiki da kyau a hade tare da nginx + php.

A yau za mu ba da labari daya daga rayuwar kamfaninmu mai alaka da Zabbix...

Labari daga rayuwar kamfanin Intersvyaz. Me muke da shi kuma me muke bukata?

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS akan sabar daya.
Watanni 5 ko 6 da suka gabata. Wata rana bayan aiki...

MCH: - Misha, hello! Na yi farin ciki da na sami nasarar kama ku - akwai tattaunawa. Mun sake samun matsaloli game da sa ido. A lokacin babban haɗari, komai ya kasance a hankali kuma babu wani bayani game da yanayin hanyar sadarwa. Abin takaici, wannan ba shine karo na farko da hakan ke faruwa ba. Ina bukatan taimakon ku Bari mu sa mu sa ido aiki a kowane hali!

MM: - Amma bari mu fara aiki tare. Ban duba wurin ba cikin shekaru biyu. Kamar yadda na tuna, mun watsar da Nagios kuma muka koma Zabbix kimanin shekaru 8 da suka wuce. Kuma yanzu da alama muna da sabobin masu ƙarfi guda 6 da kuma wakilai kusan dozin guda. Ina rudar wani abu?

MCH: - Kusan. Sabar 15, wasu daga cikinsu injina ne. Abu mafi mahimmanci shi ne cewa ba ya cece mu a daidai lokacin da muke buƙatar shi. Kamar haɗari - sabobin suna raguwa kuma ba za ku iya ganin komai ba. Mun yi ƙoƙarin inganta tsarin, amma wannan bai samar da mafi kyawun haɓaka aikin ba.

MM: - Yana da zahiri. Shin kun kalli wani abu, kun riga kun tono wani abu daga bincike?

MCH: – Abu na farko da ya kamata ka yi mu'amala da shi ne database. MySQL ana loda shi koyaushe, yana adana sabbin ma'auni, kuma lokacin da Zabbix ya fara haifar da tarin abubuwan da suka faru, bayanan yana shiga cikin overdrive na zahiri na 'yan sa'o'i. Na riga na gaya muku game da inganta tsarin, amma a zahiri a wannan shekara sun sabunta kayan aikin: sabobin suna da fiye da gigabytes ɗari na ƙwaƙwalwar ajiya da tsararrun faifai akan SSD RAIDs - babu wata ma'ana ta haɓaka ta layi a cikin dogon lokaci. Me muke yi?

MM: - Yana da zahiri. Gabaɗaya, MySQL shine bayanan LTP. A bayyane yake, bai dace da adana ma'auni na girman mu ba. Bari mu gane shi.

MCH: - Bari mu!

Haɗin kai na Zabbix da Clickhouse a sakamakon hackathon

Bayan wani lokaci mun sami bayanai masu ban sha'awa:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS akan sabar daya.

Yawancin sararin da ke cikin bayanan mu yana cikin ma'aunin ma'auni kuma an yi amfani da kasa da 1% don daidaitawa, samfuri da saituna. A lokacin, mun kasance muna aiki da Babban bayanan bayanan da ya danganci Clickhouse sama da shekara guda. Alkiblar motsi ta bayyana a gare mu. A Hackathon na bazara, na rubuta haɗin kai na Zabbix tare da Clickhouse don uwar garken da gaba. A lokacin, Zabbix ya riga ya sami goyon baya ga ElasticSearch, kuma mun yanke shawarar kwatanta su.

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS akan sabar daya.

Kwatanta Clickhouse da Elasticsearch

MM: - Don kwatantawa, mun samar da kaya iri ɗaya kamar yadda uwar garken Zabbix ke bayarwa kuma muka kalli yadda tsarin zai kasance. Mun rubuta bayanai cikin batches na layi 1000, ta amfani da CURL. Mun ɗauka a gaba cewa Clickhouse zai fi dacewa don bayanin martabar nauyin da Zabbix ke yi. Sakamakon har ma ya wuce tsammaninmu:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS akan sabar daya.

A ƙarƙashin yanayin gwajin iri ɗaya, Clickhouse ya rubuta ƙarin bayanai sau uku. A lokaci guda, duka tsarin suna cinyewa sosai (ƙananan adadin albarkatun) lokacin karanta bayanai. Amma Elastics yana buƙatar babban adadin processor lokacin yin rikodi:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS akan sabar daya.

Gabaɗaya, Clickhouse ya fi Elastix girma dangane da amfani da sarrafawa da sauri. A lokaci guda, saboda matsawar bayanai, Clickhouse yana amfani da ƙasa da sau 11 akan rumbun kwamfutarka kuma yana aiwatar da ƙarancin ayyukan diski sau 30:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS akan sabar daya.

MCH: - Ee, aikin Clickhouse tare da tsarin faifai ana aiwatar da shi sosai. Kuna iya amfani da manyan faifan SATA don ma'ajin bayanai kuma ku sami saurin rubutu na dubunnan layukan dakika guda. Tsarin waje-da-akwatin yana goyan bayan sharding, kwafi, kuma yana da sauƙin daidaitawa. Mun fi gamsuwa da amfani da shi a duk shekara.

Don haɓaka albarkatu, zaku iya shigar da Clickhouse kusa da babban bayanan ku na yanzu kuma ta haka ne ku adana lokaci mai yawa na CPU da ayyukan diski. Mun matsar da tarihin ma'auni zuwa gungu na Clickhouse na yanzu:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS akan sabar daya.

Mun sauƙaƙa babban bayanan MySQL ta yadda za mu iya haɗa shi akan na'ura ɗaya tare da uwar garken Zabbix kuma mu watsar da sabar da aka keɓe don MySQL.

Ta yaya zabe ke aiki a Zabbix?

Watannin 4 da suka gabata

MM: - To, za mu iya manta game da matsalolin da tushe?

MCH: - Wannan tabbas! Wata matsalar da muke buƙatar magance ita ce jinkirin tattara bayanai. Yanzu duk sabar wakili 15 ɗinmu suna cike da SNMP da tsarin zaɓe. Kuma babu wata hanya sai dai shigar da sabbin sabobin sabobin.

MM: - Mai girma. Amma da farko, gaya mana yadda zabe ke aiki a Zabbix?

MCH: - A takaice, akwai nau'ikan ma'auni guda 20 da kuma hanyoyi guda goma sha biyu don samun su. Zabbix na iya tattara bayanai ko dai a cikin yanayin "request-amsa", ko jira sabon bayanai ta hanyar "Trapper Interface".

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS akan sabar daya.

Ya kamata a lura cewa a cikin asali Zabbix wannan hanya (Trapper) ita ce mafi sauri.

Akwai sabar wakili don rarraba kaya:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS akan sabar daya.

Proxies na iya yin ayyuka iri ɗaya kamar sabar Zabbix, karɓar ayyuka daga gare ta da aika ma'aunin da aka tattara ta hanyar haɗin Trapper. Wannan ita ce hanyar da aka ba da shawarar a hukumance don rarraba kaya. Proxies kuma suna da amfani don lura da abubuwan more rayuwa mai nisa da ke aiki ta hanyar NAT ko tashoshi a hankali:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS akan sabar daya.

MM: – Komai a bayyane yake tare da gine-gine. Ya kamata mu kalli majiyoyin...

Bayan kwana biyu

Labarin yadda nmap fping yayi nasara

MM: "Ina ganin na tona wani abu."

MCH: - Fada mani!

MM: - Na gano cewa lokacin duba samuwa, Zabbix yana duba iyakar runduna 128 a lokaci guda. Na yi ƙoƙari na ƙara wannan lambar zuwa 500 da cire tazarar fakiti a cikin ping (ping) - wannan ya ninka aikin. Amma ina son manyan lambobi.

MCH: – A cikin aikina, wasu lokuta dole in duba kasancewar dubban runduna, kuma ban taɓa ganin wani abu da sauri fiye da nmap don wannan ba. Na tabbata wannan ita ce hanya mafi sauri. Bari mu gwada shi! Muna buƙatar ƙara yawan adadin runduna da yawa a kowace maimaitawa.

MM: – Duba fiye da dari biyar? 600?

MCH: - Akalla dubu biyu.

MM: - KO. Abu mafi mahimmanci da nake so in faɗi shine na gano cewa yawancin zaɓe a Zabbix ana yin su tare. Tabbas muna buƙatar canza shi zuwa yanayin asynchronous. Sannan za mu iya ƙara yawan ma'auni da masu jefa ƙuri'a ke tattarawa, musamman idan muka ƙara yawan ma'auni a kowane lokaci.

MCH: - Mai girma! Kuma yaushe?

MM: – Kamar yadda aka saba, jiya.

MCH: - Mun kwatanta duka nau'ikan fping da nmap:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS akan sabar daya.

A kan ɗimbin runduna, ana tsammanin nmap zai fi tasiri har sau biyar. Tun da nmap kawai yana bincika samuwa da lokacin amsawa, mun matsar da lissafin asara zuwa abubuwan da ke jawowa kuma mun rage yawan tazarar duba samuwa. Mun sami mafi kyawun adadin runduna don nmap ya kasance kusan dubu 4 a kowane juzu'i. Nmap ya ba mu damar rage farashin CPU na duba samuwa da sau uku kuma mu rage tazarar daga daƙiƙa 120 zuwa 10.

Inganta zaben

MM: “Daga nan ne muka fara yin zabe. Mun fi sha'awar gano SNMP da wakilai. A Zabbix, ana yin zaɓe tare da juna kuma an ɗauki matakai na musamman don ƙara ingantaccen tsarin. A cikin yanayin aiki tare, rashin kasancewar mai masaukin baki yana haifar da mummunar lalacewar jefa ƙuri'a. Akwai dukkanin tsarin jihohi, akwai matakai na musamman - abin da ake kira masu jefa kuri'a wanda ba za a iya isa ba, wanda ke aiki kawai tare da runduna maras isa:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS akan sabar daya.

Wannan sharhi ne wanda ke nuna matrix na jihohi, duk rikitarwa na tsarin sauye-sauyen da ake buƙata don tsarin ya kasance mai tasiri. Bugu da kari, zaben da aka daidaita shi kansa yana jinkiri sosai:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS akan sabar daya.

Abin da ya sa dubban rafukan zabe a kan wakilai da yawa sun kasa tattara adadin bayanan da ake bukata a gare mu. Aiwatar da asynchronous ba kawai warware matsalolin da adadin zaren ba, har ma ya sauƙaƙa tsarin tsarin da ba a samu ba, saboda kowane lamba da aka bincika a cikin juzu'in jefa ƙuri'a ɗaya, matsakaicin lokacin jira ya ƙare 1:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS akan sabar daya.

Bugu da ƙari, mun gyara kuma mun inganta tsarin zaɓe don buƙatun SNMP. Gaskiyar ita ce yawancin mutane ba za su iya amsa buƙatun SNMP da yawa a lokaci guda ba. Don haka, mun yi yanayin haɓaka, lokacin da aka yi zaɓen SNMP na runduna ɗaya ba tare da bata lokaci ba:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS akan sabar daya.

Ana yin wannan don dukan fakitin runduna. Wannan yanayin a ƙarshe ba shi da hankali fiye da gaba ɗaya asynchronous, tunda jefa kuri'a ɗari ɗaya da rabi na SNMP har yanzu yana da sauri fiye da lokacin ƙarewa 1.

Gwaje-gwajenmu sun nuna cewa mafi kyawun adadin buƙatun a cikin juzu'i ɗaya shine kusan dubu 8 tare da jefa ƙuri'a na SNMP. Gabaɗaya, canzawa zuwa yanayin asynchronous ya ba mu damar haɓaka aikin jefa ƙuri'a da sau 200, sau ɗari da yawa.

MCH: - Sakamakon ingantawa na zaɓe ya nuna cewa ba za mu iya kawar da duk wani wakili ba kawai, amma kuma rage tazarar lokaci don dubawa da yawa, kuma ba za a sake buƙatar proxies a matsayin hanyar raba kaya ba.

Kimanin watanni uku da suka gabata

Canza gine-gine - ƙara kaya!

MM: - To, Max, lokaci yayi don samun wadata? Ina bukatan uwar garken mai ƙarfi da injiniya mai kyau.

MCH: - To, bari mu tsara shi. Lokaci ya yi da za a motsa daga matattun matattun 5 dubu a sakan daya.

Safiya bayan haɓakawa

MCH: - Misha, mun sabunta kanmu, amma da safe mun koma baya ... Yi la'akari da wane saurin da muka yi nasara?

MM: – 20 dubu iyakar.

MCH: da, 25! Abin takaici, muna daidai inda muka fara.

MM: - Me yasa? Shin kun gudanar da wani bincike?

MCH: - Iya, sure! Anan, alal misali, saman ne mai ban sha'awa:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS akan sabar daya.

MM: - Mu duba. Na ga cewa mun gwada zaren zaɓe da yawa:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS akan sabar daya.

Amma a lokaci guda ba za su iya sake sarrafa tsarin ba ko da rabi:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS akan sabar daya.

Kuma gabaɗayan aikin yana ƙanƙanta, kusan ma'auni dubu 4 a cikin daƙiƙa guda:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS akan sabar daya.

Akwai wani abu kuma?

MCH: – Ee, silar daya daga cikin masu jefa kuri’a:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS akan sabar daya.

MM: - A nan za ku iya gani a fili cewa tsarin jefa kuri'a yana jiran "semaphores". Waɗannan su ne makullin:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS akan sabar daya.

MCH: - Ba a bayyana ba.

MM: - Duba, wannan yayi kama da yanayin da tarin zaren ke ƙoƙarin yin aiki tare da albarkatun da mutum ɗaya kawai zai iya aiki da su a lokaci guda. Sa'an nan duk abin da za su iya yi shi ne raba wannan albarkatun na tsawon lokaci:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS akan sabar daya.

Kuma jimlar aikin aiki tare da irin wannan albarkatu yana iyakance ta saurin cibiya ɗaya:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS akan sabar daya.

Akwai hanyoyi guda biyu don magance wannan matsalar.

Haɓaka kayan aikin na'ura, canzawa zuwa maɗaukaki masu sauri:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS akan sabar daya.

Ko canza gine-gine kuma a lokaci guda canza kaya:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS akan sabar daya.

MCH: - Af, akan na'urar gwajin za mu yi amfani da ƙananan murhu fiye da na yaƙi, amma suna da sauri sau 1,5 a mitar kowace cibiya!

MM: - A bayyane? Kuna buƙatar duba lambar uwar garken.

Hanyar bayanai a cikin uwar garken Zabbix

MCH: - Don gano shi, mun fara nazarin yadda ake canja wurin bayanai a cikin sabar Zabbix:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS akan sabar daya.

Hoto mai kyau, daidai? Bari mu bi ta mataki-mataki don bayyana shi ko kaɗan. Akwai zaren da ayyuka da ke da alhakin tattara bayanai:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS akan sabar daya.

Suna aika ma'aunin da aka tattara ta hanyar soket zuwa Manajan Preprocessor, inda aka ajiye su a cikin jerin gwano:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS akan sabar daya.

“Mai sarrafa preprocessor” yana isar da bayanai ga ma’aikatansa, waɗanda ke aiwatar da umarnin da aka fara aiwatarwa kuma suna mayar da su ta wannan soket:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS akan sabar daya.

Bayan wannan, mai sarrafa preprocessor yana adana su a cikin tarihin cache:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS akan sabar daya.

Daga can an ɗauke su ta hanyar masu sintiri na tarihi, waɗanda ke yin ayyuka da yawa: alal misali, ƙididdige abubuwan da ke haifar da ƙima, cika cache mai ƙima kuma, mafi mahimmanci, adana awo a cikin ajiyar tarihin. Gabaɗaya, tsarin yana da rikitarwa kuma yana da rudani sosai.

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS akan sabar daya.

MM: - Abu na farko da muka gani shine yawancin zaren suna gasa don abin da ake kira "cache na daidaitawa" (yankin ƙwaƙwalwar ajiya inda aka adana duk saitunan uwar garke). Zaren da ke da alhakin tattara bayanai suna yin musamman da yawa tarewa:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS akan sabar daya.

... tun da sanyi yana adana ma'auni ba kawai tare da sigogin su ba, har ma da layukan da masu jefa kuri'a ke ɗaukar bayanai game da abin da za a yi na gaba. Lokacin da masu jefa ƙuri'a da yawa kuma ɗayan ya toshe tsarin, sauran suna jiran buƙatu:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS akan sabar daya.

Kada masu jefa kuri'a su yi rikici

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS akan sabar daya.

Don haka, abu na farko da muka yi shi ne raba jerin gwano zuwa sassa 4 tare da ba da damar masu jefa kuri'a su toshe waɗannan layukan, waɗannan sassa a lokaci guda, a cikin yanayin lafiya:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS akan sabar daya.

Wannan ya cire gasar don ma'ajiyar sanyi, kuma saurin masu jefa kuri'a ya karu sosai. Amma sai muka ci karo da cewa preprocessor manajan ya fara tara jerin ayyuka:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS akan sabar daya.

Dole ne manajan preprocessor ya iya ba da fifiko

Wannan ya faru a lokuta inda ya rasa aiki. Sa'an nan duk abin da zai iya yi shi ne tattara buƙatun daga hanyoyin tattara bayanai kuma ya haɗa buffer ɗin su har sai ya cinye duk ƙwaƙwalwar ajiya kuma ya faɗi:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS akan sabar daya.

Don magance wannan matsalar, mun ƙara soket na biyu wanda aka keɓe musamman ga ma'aikata:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS akan sabar daya.

Don haka, manajan da ya rigaya ya sami damar ba da fifikon aikinsa kuma, idan buffer ya girma, aikin shine rage saurin cirewa, yana bawa ma'aikata damar ɗaukar wannan buffer:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS akan sabar daya.

Daga nan sai muka gano cewa daya daga cikin dalilan da suka jawo koma bayan aikin shi ne su kansu ma’aikata, tunda suna takara ne domin samun albarkatun da kwata-kwata ba shi da wani muhimmanci ga aikinsu. Mun rubuta wannan matsala a matsayin gyara-kwaro, kuma an riga an warware ta a cikin sababbin nau'ikan Zabbix:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS akan sabar daya.

Muna ƙara adadin kwasfa - muna samun sakamakon

Bugu da ari, da preprocessor manajan da kansa ya zama kwalban, tun da shi ne daya zare. Ya tsaya kan ainihin gudun, yana ba da matsakaicin saurin kusan ma'auni dubu 70 a cikin daƙiƙa guda:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS akan sabar daya.

Saboda haka, mun yi hudu, da hudu sets na kwasfa, ma'aikata:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS akan sabar daya.

Kuma wannan ya ba mu damar ƙara saurin gudu zuwa kusan metrics dubu 130:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS akan sabar daya.

An bayyana rashin daidaituwa na girma ta hanyar gaskiyar cewa gasar don tarihin tarihin ya bayyana. Manajoji 4 na farko da kuma masu sintiri na tarihi sun fafata da shi. A wannan gaba, muna karɓar kusan ma'auni 130 dubu a sakan daya akan injin gwajin, muna amfani da shi kusan 95% na mai sarrafawa:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS akan sabar daya.

Kimanin watanni 2,5 da suka gabata

Ƙin al'ummar snmp ya ƙaru NVPs sau ɗaya da rabi

MM: - Max, Ina buƙatar sabuwar motar gwaji! Ba mu dace da na yanzu ba.

MCH: - Me kuke da shi yanzu?

MM: - Yanzu - 130k NVPs da mai sarrafa shiryayye.

MCH: - Kai! Sanyi! Dakata, ina da tambayoyi biyu. Dangane da lissafina, buƙatarmu tana kusa da awo dubu 15-20 a sakan daya. Me yasa muke buƙatar ƙarin?

MM: "Ina so in gama aikin." Ina so in ga nawa za mu iya matsi daga wannan tsarin.

MCH: - Amma…

MM: "Amma ba shi da amfani ga kasuwanci."

MCH: - Yana da zahiri. Kuma tambaya ta biyu: shin za mu iya tallafawa abin da muke da shi yanzu da kanmu, ba tare da taimakon mai haɓakawa ba?

MM: - Ba na tunani. Canza yadda cache ɗin sanyi ke aiki matsala ce. Yana rinjayar canje-canje a yawancin zaren kuma yana da wahalar kiyayewa. Mafi mahimmanci, zai yi wuya a kula da shi.

MCH: "Sa'an nan muna buƙatar wani nau'i na madadin."

MM: - Akwai irin wannan zaɓi. Za mu iya canzawa zuwa maƙallan sauri, yayin watsi da sabon tsarin kullewa. Har yanzu za mu sami aikin awo na 60-80 dubu. A lokaci guda, zamu iya barin duk sauran lambar. Clickhouse da asynchronous zabe za su yi aiki. Kuma zai zama mai sauƙi don kiyayewa.

MCH: - Abin mamaki! Ina ba da shawarar mu tsaya a nan.

Bayan inganta bangaren uwar garken, a ƙarshe mun sami damar ƙaddamar da sabon lambar zuwa samarwa. Mun watsar da wasu canje-canjen don neman sauyawa zuwa na'ura mai mahimmanci mai sauri da rage yawan canje-canjen lambar. Mun kuma sauƙaƙa daidaitawa kuma mun kawar da macros a cikin abubuwan bayanai inda zai yiwu, yayin da suke gabatar da ƙarin kullewa.

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS akan sabar daya.

Misali, watsi da snmp-community macro, wanda galibi ana samun shi a cikin takardu da misalai, a cikin yanayinmu ya sa ya yiwu a kara hanzarta NVPs kusan sau 1,5.

Bayan kwana biyu a samarwa

Cire fadowar tarihin abin da ya faru

MCH: - Misha, mun kasance muna amfani da tsarin kwana biyu, kuma duk abin yana aiki. Amma kawai lokacin da komai yayi aiki! Mun shirya aiki tare da canja wurin wani babban yanki na cibiyar sadarwa, kuma mun sake bincika da hannayenmu abin da ya tashi da abin da bai faru ba.

MM: - Ba za a iya zama ba! Mun duba komai sau 10. Sabar tana sarrafa ko da cikakkiyar rashin samun hanyar sadarwa nan take.

MCH: - Ee, Na fahimci komai: uwar garken, bayanai, saman, austat, rajistan ayyukan - duk abin da yake da sauri ... Amma muna kallon mahaɗin yanar gizo, kuma akwai mai sarrafawa "a cikin shiryayye" akan uwar garke kuma wannan:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS akan sabar daya.

MM: - Yana da zahiri. Mu kalli yanar gizo. Mun gano cewa a cikin halin da ake ciki inda akwai adadi mai yawa na abubuwan da suka faru, yawancin widgets masu rai sun fara aiki a hankali:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS akan sabar daya.

Dalilin haka shi ne ƙirƙirar faɗuwar tarihin abubuwan da suka faru waɗanda aka ƙirƙira don kowane abu a cikin jeri. Saboda haka, mun watsar da ƙarni na wadannan windows (yi sharhi 5 Lines a cikin code), kuma wannan ya warware matsalolinmu.

Lokacin lodawa don widget din, koda ba a samu gaba daya ba, an rage shi daga mintuna da yawa zuwa dakika 10-15 karbabbe a gare mu, kuma ana iya duba tarihin ta danna lokacin:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS akan sabar daya.

Bayan aiki. Watanni 2 da suka gabata

MCH: - Misha, kuna tafiya? Dole ne mu yi magana.

MM: - Ban yi niyya ba. Wani abu tare da Zabbix kuma?

MCH: - A'a, shakatawa! Ina so in ce: komai yana aiki, na gode! Ina da giya

Zabbix yana da inganci

Zabbix tsari ne na duniya kuma mai wadatarwa da aiki. Ana iya amfani da shi don ƙananan shigarwa daga cikin akwatin, amma yayin da bukatun girma, dole ne a inganta shi. Don adana babban ma'auni na ma'auni, yi amfani da ma'auni mai dacewa:

  • zaka iya amfani da kayan aikin da aka gina a cikin hanyar haɗin kai tare da Elasticsearch ko loda tarihin zuwa fayilolin rubutu (samuwa daga sigar XNUMX);
  • Kuna iya amfani da ƙwarewar mu da haɗin kai tare da Clickhouse.

Don haɓaka saurin tattara ma'auni, tattara su ta amfani da hanyoyin asynchronous kuma aika su ta hanyar mahaɗar tarko zuwa uwar garken Zabbix; ko za ku iya amfani da faci don sanya Zabbix pollers asynchronous.

Zabbix an rubuta shi a cikin C kuma yana da inganci sosai. Magance ƙwanƙolin gine-gine da yawa yana ba ku damar ƙara haɓaka aikin sa kuma, a cikin ƙwarewarmu, sami fiye da ma'auni dubu 100 akan injin sarrafa guda ɗaya.

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS akan sabar daya.

Faci Zabbix iri ɗaya

MM: – Ina so in ƙara maki biyu. Dukkan rahoton na yanzu, duk gwaje-gwaje, lambobi ana bayar da su don tsarin da muke amfani da su. Yanzu muna ɗaukar kusan mitoci dubu 20 a cikin daƙiƙa ɗaya daga ciki. Idan kuna ƙoƙarin fahimtar ko wannan zai yi muku aiki, kuna iya kwatanta. Abin da aka tattauna a yau an buga shi akan GitHub ta hanyar faci: github.com/miklert/zabbix

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS akan sabar daya.

Faci ya haɗa da:

  • cikakken haɗin kai tare da Clickhouse (duka uwar garken Zabbix da gaba);
  • warware matsaloli tare da preprocessor manajan;
  • zabe asynchronous.

Faci ya dace da duk sigar 4, gami da lts. Mafi mahimmanci, tare da ƙananan canje-canje zai yi aiki akan sigar 3.4.

Gode ​​muku da hankali.

Tambayoyi

Tambaya daga masu sauraro (nan gaba - A): - Barka da yamma! Don Allah a gaya mani, kuna da tsare-tsare don mu'amala mai zurfi tare da ƙungiyar Zabbix ko tare da ku, don wannan ba faci ba ne, amma dabi'ar Zabbix ta al'ada?

MM: - Ee, tabbas za mu yi wasu canje-canje. Wani abu zai faru, wani abu zai kasance a cikin facin.

A: - Na gode sosai don kyakkyawan rahoto! Da fatan za a gaya mani, bayan amfani da facin, tallafi daga Zabbix zai ci gaba da kasancewa kuma ta yaya za a ci gaba da ɗaukaka zuwa mafi girma iri? Shin zai yiwu a sabunta Zabbix bayan facin ku zuwa 4.2, 5.0?

MM: - Ba zan iya cewa komai game da tallafi ba. Idan na kasance goyon bayan fasaha na Zabbix, tabbas zan ce a'a, saboda wannan lambar wani ce. Amma ga 4.2 codebase, matsayinmu shine: "Za mu matsa tare da lokaci, kuma za mu sabunta kanmu akan sigar ta gaba." Saboda haka, na ɗan lokaci za mu yi posting faci don sabunta sigogin. Na riga na fada a cikin rahoton: yawan canje-canje tare da sigogin har yanzu kadan ne. Ina tsammanin canji daga 3.4 zuwa 4 ya ɗauki mu kimanin minti 15. Wani abu ya canza a can, amma ba mahimmanci ba.

A: - Don haka kuna shirin tallafawa facin ku kuma kuna iya shigar da shi cikin aminci cikin samarwa kuma ku karɓi sabuntawa ta wata hanya a nan gaba?

MM: – Muna ba da shawarar sosai. Wannan yana magance mana matsaloli da yawa.

MCH: - Har ila yau, Ina so in jawo hankali ga gaskiyar cewa canje-canjen da ba su shafi gine-gine ba kuma ba su shafi toshewa ko layi ba ne na zamani, suna cikin sassa daban-daban. Ko da ƙananan canje-canje zaka iya kiyaye su cikin sauƙi.

MM: - Idan kuna sha'awar cikakkun bayanai, to "Clickhouse" yana amfani da abin da ake kira ɗakin karatu na tarihi. An kwance shi - kwafin tallafin Elastic ne, wato, ana iya daidaita shi. Zaɓen na canza masu jefa ƙuri'a ne kawai. Mun yi imanin wannan zai yi aiki na dogon lokaci.

A: - Godiya da yawa. Faɗa mani, akwai wani takaddun canje-canjen da aka yi?

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS akan sabar daya.

MM: – Takardu shine faci. Babu shakka, tare da gabatarwar Clickhouse, tare da gabatar da sababbin nau'ikan masu jefa kuri'a, sababbin zaɓuɓɓukan daidaitawa sun taso. Mahadar daga faifan ƙarshe tana da ɗan taƙaitaccen bayanin yadda ake amfani da shi.

Game da maye gurbin fping da nmap

A: – Ta yaya kuka aiwatar da wannan a karshe? Kuna iya ba da takamaiman misalai: kuna da madauri da rubutun waje? Menene ya ƙare duba irin wannan adadi mai yawa na runduna da sauri? Ta yaya kuke ma'adinin wadannan runduna? Shin muna buƙatar ciyar da su don nmap ko ta yaya, samo su daga wani wuri, saka su, gudanar da wani abu?..

MM: - Sanyi. Tambaya daidai! Maganar ita ce wannan. Mun gyara ɗakin karatu (ICMP ping, wani ɓangare na Zabbix) don duba ICMP, wanda ke nuna adadin fakiti - ɗaya (1), kuma lambar tana ƙoƙarin yin amfani da nmap. Wato wannan shine aikin cikin gida na Zabbix, wanda ya zama aikin ciki na pinger. Saboda haka, ba a buƙatar aiki tare ko amfani da tarko. Anyi wannan ne da gangan don barin tsarin ba daidai ba kuma ba dole ba ne a yi aiki tare da daidaitawar tsarin bayanai guda biyu: abin da za a bincika, lodawa ta hanyar poller, kuma an karye upload ɗin mu? .. Wannan ya fi sauƙi.

A: - Shin yana aiki don wakilai kuma?

MM: – Ee, amma ba mu duba ba. Lambar zabe iri ɗaya ce a cikin Zabbix da uwar garken. Ya kamata aiki. Bari in sake jaddadawa: aikin tsarin yana da irin wannan cewa ba mu buƙatar wakili.

MCH: - Amsar daidai ga tambayar ita ce: "Me yasa kuke buƙatar wakili mai irin wannan tsarin?" Sai kawai saboda NAT ko saka idanu ta hanyar wani nau'i na jinkirin tashar ...

A: - Kuma kuna amfani da Zabbix azaman mai allertor, idan na fahimta daidai. Ko a sanya hotunanku (inda ma'ajin adana kayan tarihi yake) zuwa wani tsarin, kamar Grafana? Ko ba ku amfani da wannan aikin?

MM: - Zan sake jaddadawa: mun sami cikakkiyar haɗin kai. Muna zub da tarihi a cikin Clickhouse, amma a lokaci guda mun canza gaban php. Php frontend yana zuwa Clickhouse kuma yana yin duk zane-zane daga can. A lokaci guda, don gaskiya, muna da ɓangaren da ke gina bayanai a cikin wasu tsarin nunin hoto daga wannan Clickhouse, daga bayanan Zabbix iri ɗaya.

MCH: - A cikin "Grafan" kuma.

Ta yaya aka yanke shawara game da rabon albarkatun?

A: – Raba ɗan ƙaramin ɗakin girkin ku na ciki. Ta yaya aka yanke shawarar cewa ya zama dole a ware albarkatun don sarrafa samfurin? Waɗannan su ne, gaba ɗaya, wasu haɗari. Kuma don Allah a gaya mani, a cikin mahallin gaskiyar cewa za ku goyi bayan sababbin sigogi: ta yaya wannan yanke shawara ya ba da hujja daga ra'ayi na gudanarwa?

MM: – A bayyane, ba mu ba da labarin wasan kwaikwayo na tarihi sosai ba. Mun sami kanmu a cikin wani hali da ya kamata a yi wani abu, kuma mun tafi da gaske tare da ƙungiyoyi guda biyu:

  • Ɗayan yana ƙaddamar da tsarin kulawa ta amfani da sababbin hanyoyi: saka idanu a matsayin sabis, daidaitaccen tsari na mafita na budewa wanda muke haɗuwa sannan kuma kokarin canza tsarin kasuwanci don aiki tare da sabon tsarin kulawa.
  • A lokaci guda kuma, muna da ƙwararren mai tsara shirye-shirye wanda ke yin wannan (game da kansa). Sai ya zama ya yi nasara.

A: – Kuma nawa ne girman kungiyar?

MCH: - Tana gabanka.

A: – Don haka, kamar yadda koyaushe, kuna buƙatar mai sha’awa?

MM: - Ban san abin da mai sha'awa yake ba.

A: - A wannan yanayin, a fili, ku. Na gode sosai, kuna da ban mamaki.

MM: - Na gode.

Game da faci na Zabbix

A: - Don tsarin da ke amfani da proxies (misali, a cikin wasu tsarin rarrabawa), ana iya daidaitawa da faci, a ce, masu jefa kuri'a, wakilai da kuma wani bangare na wanda ya riga na Zabbix kanta; da mu'amalarsu? Shin yana yiwuwa a inganta ci gaban da ke akwai don tsarin tare da wakilai masu yawa?

MM: - Na san cewa an haɗa uwar garken Zabbix ta amfani da wakili (an haɗa lambar kuma an samu). Ba mu gwada wannan a samarwa ba. Ban tabbata ba game da wannan, amma ina tsammanin ba a amfani da mai sarrafa mai sarrafawa a cikin wakili. Ayyukan wakili shine ɗaukar saitin ma'auni daga Zabbix, haɗa su (yana kuma rikodin tsarin, bayanan gida) kuma mayar da shi zuwa uwar garken Zabbix. Sabar da kanta za ta yi preprocessing lokacin da ta karba.

Ana iya fahimtar sha'awar wakilai. Za mu duba shi. Wannan batu ne mai ban sha'awa.

A: – Manufar ita ce: idan za ku iya facin masu jefa ƙuri'a, kuna iya facin su a kan wakili kuma ku daidaita hulɗar da uwar garken, kuma ku daidaita mai gabatarwa don waɗannan dalilai kawai akan sabar.

MM: - Ina tsammanin ya fi sauƙi. Kuna ɗaukar lambar, yi amfani da faci, sannan ku saita ta yadda kuke buƙata - tattara sabar wakili (misali, tare da ODBC) kuma ku rarraba lambar da aka faci a cikin tsarin. Inda ya cancanta - tattara wakili, inda ya cancanta - uwar garken.

A: - Mafi mahimmanci, ba za ku iya yin facin watsawar wakili zuwa uwar garken bugu da ƙari ba?

MCH: - A'a, ma'auni ne.

MM: – A gaskiya ma, daya daga cikin ra'ayoyin bai yi sauti ba. Kullum muna kiyaye daidaito tsakanin fashewar ra'ayoyi da adadin canje-canje da sauƙin tallafi.

Wasu tallace-tallace 🙂

Na gode da kasancewa tare da mu. Kuna son labaran mu? Kuna son ganin ƙarin abun ciki mai ban sha'awa? Goyon bayan mu ta hanyar ba da oda ko ba da shawara ga abokai, girgije VPS don masu haɓakawa daga $ 4.99, analog na musamman na sabar matakin shigarwa, wanda mu muka ƙirƙira muku: Duk gaskiyar game da VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps daga $19 ko yadda ake raba sabar? (akwai tare da RAID1 da RAID10, har zuwa 24 cores kuma har zuwa 40GB DDR4).

Dell R730xd 2x mai rahusa a cibiyar bayanan Equinix Tier IV a Amsterdam? Nan kawai 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV daga $199 a cikin Netherlands! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - daga $99! Karanta game da Yadda ake gina Infrastructure Corp. aji tare da amfani da sabar Dell R730xd E5-2650 v4 masu darajan Yuro 9000 akan dinari?

source: www.habr.com

Add a comment