Yadda manyan abubuwan da ke cikin Kubernetes suka haifar da raguwa a Grafana Labs

Lura. fassara: Muna gabatar da hankalin ku cikakkun bayanai na fasaha game da dalilan da suka haifar da raguwar kwanan nan a cikin sabis na girgije wanda masu kirkiro na Grafana ke kula da su. Wannan misali ne na yau da kullun na yadda sabon fasalin da alama yana da matukar amfani da aka tsara don haɓaka ingancin abubuwan more rayuwa… na iya haifar da lahani idan ba ku samar da yawancin nuances na aikace-aikacen sa a cikin haƙiƙanin samarwa ba. Yana da kyau lokacin da kayan irin wannan suka bayyana wanda ke ba ku damar koya ba kawai daga kurakuran ku ba. Cikakkun bayanai suna cikin fassarar wannan rubutu daga mataimakin shugaban samfur na Grafana Labs.

Yadda manyan abubuwan da ke cikin Kubernetes suka haifar da raguwa a Grafana Labs

A ranar Juma'a, 19 ga Yuli, sabis ɗin Prometheus da aka shirya a Grafana Cloud ya daina aiki na kusan mintuna 30. Ina neman afuwar duk kwastomomin da abin ya shafa. Ayyukanmu shine samar da kayan aikin sa ido da kuke buƙata, kuma mun fahimci cewa rashin samun su na iya ƙara wahalar rayuwa. Mun dauki wannan lamarin da mahimmanci. Wannan bayanin ya bayyana abin da ya faru, yadda muka amsa, da kuma abin da muke yi don ganin hakan bai sake faruwa ba.

prehistory

Grafana Cloud Hosted Prometheus sabis ya dogara ne akan bawo - Aikin CNCF don ƙirƙirar ma'auni a kwance, samuwa sosai, sabis na Prometheus mai yawan haya. Gine-ginen Cortex ya ƙunshi saitin ƙananan sabis na ɗaiɗaikun ɗaiɗaikun ɗaiɗaiku, kowannensu yana yin aikin kansa: kwafi, ajiya, tambayoyi, da sauransu. Cortex yana ƙarƙashin haɓaka mai aiki kuma yana ƙara sabbin abubuwa koyaushe da haɓaka aiki. A kai a kai muna tura sabbin abubuwan sakewa na Cortex zuwa gungu domin abokan ciniki su yi amfani da waɗannan fasalulluka - an yi sa'a, ana iya sabunta Cortex ba tare da bata lokaci ba.

Don sabuntawa maras kyau, sabis ɗin Ingester Cortex yana buƙatar ƙarin kwafin Ingester yayin aiwatar da sabuntawa. (Lura. fassara: Ingester - ainihin bangaren Cortex. Ayyukansa shine tattara samfuran samfuran akai-akai, haɗa su cikin ɓangarorin Prometheus kuma adana su a cikin bayanan bayanai kamar DynamoDB, BigTable ko Cassandra.) Wannan yana bawa tsofaffin Ingesters damar tura bayanan yanzu zuwa sababbin Ingesters. Ya kamata a lura cewa Ingesters suna buƙatar albarkatun. Domin su yi aiki, kuna buƙatar samun 4 cores da 15 GB na ƙwaƙwalwar ajiya kowane kwafsa, watau. 25% na ikon sarrafawa da ƙwaƙwalwar ajiyar injin tushe a cikin yanayin gungu na Kubernetes. Gabaɗaya, yawanci muna da albarkatun da ba a yi amfani da su ba a cikin gungu fiye da 4 cores da 15 GB na ƙwaƙwalwar ajiya, don haka za mu iya jujjuya waɗannan ƙarin ingesters cikin sauƙi yayin haɓakawa.

Koyaya, sau da yawa yana faruwa cewa yayin aiki na yau da kullun babu ɗayan injinan da ke da wannan kashi 25% na albarkatun da ba a yi amfani da su ba. Ee, ba ma yin ƙoƙari: CPU da ƙwaƙwalwar ajiya koyaushe za su kasance masu amfani ga sauran hanyoyin. Don magance wannan matsala, mun yanke shawarar amfani Kubernetes Pod Priorities. Manufar ita ce a ba Ingesters fifiko mafi girma fiye da sauran (marasa jiha) ƙananan sabis. Lokacin da muke buƙatar gudanar da ƙarin (N+1) Ingester, muna matsar da wasu, ƙananan kwas ɗin na ɗan lokaci. Ana tura waɗannan kwas ɗin zuwa albarkatun kyauta akan wasu injuna, suna barin babban isa "rami" don gudanar da ƙarin Ingester.

A ranar Alhamis, 18 ga Yuli, mun fitar da sabbin matakan fifiko guda hudu zuwa ga gungu: m, babba, matsakaici и low. An gwada su akan gungu na ciki ba tare da zirga-zirgar abokin ciniki ba na kusan mako guda. Ta hanyar tsoho, kwasfan fayiloli ba tare da takamaiman fifiko da aka karɓa ba matsakaici fifiko, an saita aji don Ingesters tare da babba fifiko. Mahimmanci an tanada don saka idanu (Prometheus, Alertmanager, node-exporter, kube-state-metrics, da sauransu). Tsarin mu yana buɗe, kuma kuna iya duba PR a nan.

Hadari

A ranar Juma’a, 19 ga watan Yuli, ɗaya daga cikin injiniyoyi ya ƙaddamar da sabon ƙungiyar Cortex da aka sadaukar don babban abokin ciniki. Tsarin wannan gungu bai haɗa da sabbin abubuwan fifiko ba, don haka duk sabbin kwas ɗin an sanya fifikon tsoho - matsakaici.

Tarin Kubernetes ba su da isassun albarkatu don sabon gungu na Cortex, kuma ba a sabunta gungun Cortex da ake samarwa ba (an bar Ingesters ba tare da an bar su ba. babba fifiko). Tun da Ingesters na sabon gungu ta tsohuwa suna da matsakaici fifiko, kuma kwas ɗin da ke akwai a cikin samarwa sun yi aiki ba tare da fifiko ba kwata-kwata, Ingesters na sabon gungu sun maye gurbin Ingesters daga rukunin samar da Cortex da ke akwai.

ReplicaSet don fitar da Ingester a cikin gungun samarwa ya gano kwaf ɗin da aka fitar kuma ya ƙirƙiri sabo don kiyaye ƙayyadadden adadin kwafin. An sanya sabon faifan ta tsohuwa matsakaici fifiko, da kuma wani "tsohuwar" Ingester a cikin samarwa ya rasa albarkatunsa. Sakamakon ya kasance kankara tsari, wanda ya haifar da rarrabuwar kawuna daga Ingester don rukunin samar da Cortex.

Ingesters suna da inganci kuma suna adana bayanai na awanni 12 da suka gabata. Wannan yana ba mu damar damfara su da inganci kafin rubuta su zuwa ajiya na dogon lokaci. Don cimma wannan, Cortex shards data a cikin jeri ta amfani da Rarraba Hash Teburin (DHT) kuma yana maimaita kowane jeri a kan Ingesters uku ta amfani da daidaiton ƙira ta Dynamo. Cortex baya rubuta bayanai zuwa ga Ingesters da aka kashe. Don haka, lokacin da ɗimbin adadin Ingesters suka bar DHT, Cortex ba zai iya samar da isasshiyar kwafin abubuwan shigarwar ba, kuma suna faɗuwa.

Ganewa da Gyara

Sabbin sanarwar Prometheus bisa "kuskuren kasafin kuɗi" (tushen kuskure-kasafin kuɗi - cikakkun bayanai za su bayyana a cikin labarin nan gaba) ya fara ƙara ƙararrawa mintuna 4 bayan fara rufewa. A cikin mintuna biyar masu zuwa ko makamancin haka, mun gudanar da wasu bincike kuma mun haɓaka gungu na Kubernetes don ɗaukar sabbin gungu na samarwa da na yanzu.

Bayan wasu mintuna biyar, tsoffin Ingesters sun yi nasarar rubuta bayanansu, sababbi sun fara tashi, kuma rukunin Cortex ya sake samuwa.

An kashe wasu mintuna 10 don ganowa da gyara kurakuran da ba a iya jurewa ba (OOM) daga amintattun bayanan da ke gaban Cortex. An haifar da kurakuran OOM ta hanyar karuwa sau goma a QPS (mun yi imani saboda wuce gona da iri daga sabar Prometheus na abokin ciniki).

Sakamakon

Jimlar lokacin hutun ya kasance mintuna 26. Ba a rasa bayanai ba. Ingesters sun yi nasarar loda duk bayanan cikin ƙwaƙwalwar ajiya cikin dogon lokaci. Yayin rufewa, abokin ciniki Prometheus sabobin sun goge (na nesa) rikodin amfani sabon API remote_write bisa WAL (wanda ya rubuta ta Callum Styan daga Grafana Labs) kuma ya maimaita rubutun da ya gaza bayan hadarin.

Yadda manyan abubuwan da ke cikin Kubernetes suka haifar da raguwa a Grafana Labs
Rubutun gungu na samarwa

binciken

Yana da kyau a yi koyi da wannan lamarin da kuma daukar matakan da suka dace domin kaucewa sake faruwar lamarin.

A baya, bai kamata mu saita tsoho ba matsakaici fifiko har sai duk Ingesters da ke samarwa sun karɓi babba fifiko. Bugu da ƙari, ya zama dole a kula da su a gaba babba fifiko. Komai ya gyara yanzu. Muna fatan ƙwarewarmu za ta taimaka wa wasu ƙungiyoyi don yin la'akari da amfani da abubuwan da suka fi dacewa a cikin Kubernetes.

Za mu ƙara ƙarin matakin iko akan tura kowane ƙarin abubuwa waɗanda tsarin su na duniya ne zuwa tari. Daga yanzu, za a tantance irin waɗannan canje-canje bоkarin mutane. Bugu da ƙari, gyare-gyaren da ya haifar da hatsarin an yi la'akari da ƙanƙanta don wani takaddar aikin daban - an tattauna shi ne kawai a cikin fitowar GitHub. Daga yanzu, duk irin waɗannan canje-canjen zuwa saiti za su kasance tare da takaddun aikin da suka dace.

A ƙarshe, za mu yi aiki da kai da sake girman wakili na juzu'i don hana nauyin OOM da muka gani, kuma za mu sake nazarin saitunan tsohuwar Prometheus masu alaƙa da koma baya da ƙima don hana irin waɗannan batutuwa a nan gaba.

Har ila yau gazawar ta sami wasu sakamako masu kyau: bayan sun sami albarkatun da suka dace, Cortex ya murmure ta atomatik ba tare da ƙarin sa baki ba. Mun kuma sami kwarewa mai mahimmanci aiki tare da Grafana Loki - sabon tsarin tattara log ɗin mu - wanda ya taimaka wajen tabbatar da cewa duk Ingesters sun nuna hali mai kyau a lokacin da kuma bayan gazawar.

PS daga mai fassara

Karanta kuma a kan shafinmu:

source: www.habr.com

Add a comment