Grafana Cloud host Prometheus service idakhazikitsidwa Cortex - Pulojekiti ya CNCF yopangira ntchito ya Prometheus yokhazikika, yopezeka kwambiri, yokhala ndi anthu ambiri. Zomangamanga za Cortex zimakhala ndi ma microservices angapo, iliyonse imagwira ntchito yake: kubwereza, kusungirako, kufunsa, ndi zina. Cortex ikukula mwachangu ndipo imangowonjezera zatsopano ndikuwongolera magwiridwe antchito. Nthawi zonse timatumiza zatsopano za Cortex m'magulu kuti makasitomala athe kutengapo mwayi pazinthu izi - mwamwayi, Cortex ikhoza kusinthidwa popanda kutsika.
Pazosintha zopanda msoko, ntchito ya Ingester Cortex imafuna chowonjezera cha Ingester panthawi yokonzanso. (Zindikirani. transl.: Ingester - chigawo choyambirira cha Cortex. Ntchito yake ndikutolera zitsanzo zingapo, kuziyika m'magulu a Prometheus ndikuzisunga mu database ngati DynamoDB, BigTable kapena Cassandra.) Izi zimalola Ingesters akale kutumiza deta yamakono ku Ingesters yatsopano. Ndizofunikira kudziwa kuti Ingesters ndiyofunika kwambiri. Kuti agwire ntchito, muyenera kukhala ndi ma cores 4 ndi 15 GB ya kukumbukira pa pod, i.e. 25% ya mphamvu yopangira ndi kukumbukira makina oyambira pamagulu athu a Kubernetes. Nthawi zambiri, nthawi zambiri timakhala ndi zinthu zambiri zosagwiritsidwa ntchito pagulu kuposa ma cores 4 ndi 15 GB ya kukumbukira, kotero titha kusuntha mosavuta izi powonjezera.
Komabe, nthawi zambiri zimachitika kuti pakugwira ntchito bwino palibe makina omwe ali ndi 25% yazinthu zosagwiritsidwa ntchito. Inde, sitiyesetsa ngakhale pang'ono: CPU ndi kukumbukira zidzakhala zothandiza pazinthu zina. Kuti tithetse vutoli, tinaganiza zogwiritsa ntchito Kubernetes Pod Zofunika Kwambiri. Lingaliro ndikupatsa Ingesters patsogolo kwambiri kuposa ma microservices ena (osawerengeka). Tikafuna kuyendetsa chowonjezera (N+1) Ingester, timachotsa kwakanthawi ma pod ena ang'onoang'ono. Ma pod awa amasamutsidwa kuzinthu zaulere pamakina ena, ndikusiya "dzenje" lalikulu lokwanira kuyendetsa Ingester yowonjezera.
Lachinayi, pa Julayi 18, tidatulutsa magawo anayi atsopano kumagulu athu: chotsutsa, mkulu, pafupifupi ΠΈ otsika. Iwo adayesedwa pagulu lamkati lopanda makasitomala kwa pafupifupi sabata imodzi. Mwachikhazikitso, ma pods opanda choyambirira chinalandiridwa pafupifupi choyambirira, kalasi idakhazikitsidwa kwa Ingesters ndi mkulu chofunika kwambiri. Zovuta idasungidwa kuti iwunikire (Prometheus, Alertmanager, node-exporter, kube-state-metrics, etc.). Kusintha kwathu ndi kotseguka, ndipo mutha kuwona PR apa.
Kuwonongeka
Lachisanu, Julayi 19, m'modzi mwa mainjiniya adayambitsa gulu latsopano la Cortex kwa kasitomala wamkulu. Kukonzekera kwa gululi sikunaphatikizepo zofunikira zatsopano za pod, kotero ma pod onse atsopano adapatsidwa mwayi wokhazikika - pafupifupi.
Gulu la Kubernetes linalibe zida zokwanira za gulu latsopano la Cortex, ndipo gulu lomwe linalipo la Cortex silinasinthidwe (Ingesters idasiyidwa popanda apamwamba patsogolo). Popeza Ingesters ya gulu latsopano mwachisawawa anali pafupifupi Chofunika kwambiri, ndipo ma pod omwe analipo popanga adagwira ntchito popanda kufunikira konse, a Ingesters a gulu latsopanolo adalowa m'malo mwa Ingesters kuchokera kugulu lakupanga la Cortex.
ReplicaSet ya Ingester yemwe adathamangitsidwa mgulu lopanga adazindikira poto wothamangitsidwa ndikupanga ina yatsopano kuti asunge kuchuluka kwa makope. Pod yatsopano idaperekedwa mwachisawawa pafupifupi chofunika kwambiri, ndipo Ingester wina "wakale" pakupanga adataya chuma chake. Zotsatira zake zinali ndondomeko ya chigumukire, zomwe zidapangitsa kuti ma pod onse achoke ku Ingester kwamagulu opanga Cortex.
Ingesters ndi yodalirika ndipo imasunga zidziwitso zamaola 12 apitawa. Izi zimatipangitsa kuti tiziwapanikiza bwino tisanawalembe kuti asungidwe kwa nthawi yayitali. Kuti akwaniritse izi, Cortex amadula zidziwitso pamndandanda pogwiritsa ntchito Distributed Hash Table (DHT) ndikubwereza mndandanda uliwonse pama Ingesters atatu pogwiritsa ntchito mawonekedwe a Dynamo quorum kusasinthika. Cortex silemba deta ku Ingesters yomwe ili yolemala. Chifukwa chake, ambiri a Ingesters akachoka ku DHT, Cortex sangathe kupereka kubwereza kokwanira kwa zolembazo, ndipo zimawonongeka.
Pambuyo pa mphindi zisanu, a Ingesters akale adalemba bwino deta yawo, atsopanowo adayamba, ndipo magulu a Cortex adapezekanso.
Mphindi zina za 10 zidagwiritsidwa ntchito pozindikira ndi kukonza zolakwika zakunja kwa memory (OOM) kuchokera ku ma proxies otsimikizira omwe ali kutsogolo kwa Cortex. Zolakwa za OOM zidayamba chifukwa cha kuchuluka kwa QPS kakhumi (tikukhulupirira chifukwa chopempha mwaukali kwambiri kuchokera kwa makasitomala a Prometheus).
Zotsatira
Nthawi yonse yopuma inali mphindi 26. Palibe deta yomwe yatayika. Ingesters adatsitsa bwino zonse zomwe zili mumemory posungira nthawi yayitali. Panthawi yotseka, ma seva a kasitomala a Prometheus adachotsedwa (kutali) kujambula pogwiritsa ntchito new API remote_write kutengera WAL (yolembedwa ndi Callum Styan kuchokera ku Grafana Labs) ndikubwereza zolemba zomwe zidalephera pambuyo pa ngoziyi.