Na fa'afefea ona fa'atupu le fa'amuamua i le Kubernetes le taimi fa'aletonu i le Grafana Labs

Manatua. fa'aliliu.: Matou te tuʻuina atu ia te oe faʻamatalaga faʻapitoa faʻapitoa e uiga i mafuaʻaga mo le taimi lata mai i le auaunaga ao tausia e le au foafoa o Grafana. O se faʻataʻitaʻiga masani lea o le auala e faʻaogaina ai se mea fou ma foliga sili ona aoga e faʻaleleia ai le lelei o atinaʻe ... e mafai ona faʻaleagaina pe afai e te le tuʻuina atu le tele o nuances o lona faʻaogaina i mea moni o le gaosiga. E manaia pe a aliali mai mea faʻapenei e mafai ai ona e aʻoaʻo e le gata mai au mea sese. O faʻamatalaga o loʻo i le faaliliuga o lenei tusitusiga mai le sui peresitene o oloa mai le Grafana Labs.

Na fa'afefea ona fa'atupu le fa'amuamua i le Kubernetes le taimi fa'aletonu i le Grafana Labs

I le Aso Faraile, Iulai 19, na taofia ai le auaunaga a le Hosted Prometheus i Grafana Cloud mo le tusa ma le 30 minute. Ou te faamalulu atu i tagata faatau uma ua aafia i le motusia. O la matou galuega o le tuʻuina atu lea o meafaigaluega mataʻituina e te manaʻomia, ma matou te malamalama o le le maua o ia mea e mafai ona faʻafaigata ai lou olaga. Matou te manatu mamafa i lenei mea na tupu. O lenei faʻamatalaga o loʻo faʻamatalaina ai le mea na tupu, pe na faapefea ona matou tali atu, ma mea o loʻo matou faia ina ia mautinoa e le toe tupu.

prehistory

Grafana Cloud Hosted Prometheus auaunaga e fa'avae ile Cortex - Poloketi CNCF e fa'atupuina ai se fa'alava fa'alava, maualuga avanoa, tele-rentant Prometheus auaunaga. O le fausaga o le Cortex e aofia ai se seti o microservices taʻitasi, o ia mea taʻitasi e faia lana lava galuega: toe faia, teuina, fesili, ma isi. Cortex o loʻo i lalo o le atinaʻe malosi ma o loʻo faʻaopoopoina pea foliga fou ma faʻaleleia le faʻatinoga. E masani ona matou fa'apipi'i fa'asalalauga fou Cortex i fuifui ina ia mafai ai e tagata fa'atau ona fa'aogaina nei foliga - lelei, e mafai ona fa'afou Cortex e aunoa ma se taimi malolo.

Mo fa'afouga lelei, ole auaunaga a le Ingester Cortex e mana'omia se fa'atusa fa'aopoopo a Ingester i le taimi ole fa'afouga. (Manatua. fa'aliliu.: Fa'atosina - o le vaega autu o le Cortex. O lana galuega o le aoina mai lea o se tafega faifaipea o faʻataʻitaʻiga, faʻapipiʻi i totonu o Prometheus chunks ma teu i totonu o se faʻamaumauga e pei o DynamoDB, BigTable poʻo Cassandra.) E mafai ai e Ingesters tuai ona tu'uina atu fa'amatalaga o lo'o iai nei i Ingesters fou. E taua le matauina o Ingesters e manaʻomia punaoa. Mo latou e galulue, e tatau ona i ai 4 cores ma 15 GB o le manatua i le pod, i.e. 25% o le gaosiga o le mana ma le manatua o le masini faʻavae i le tulaga o a tatou fuifui Kubernetes. I se tulaga lautele, e masani ona tele a matou punaoa e le faʻaaogaina i totonu o le fuifui nai lo 4 cores ma le 15 GB o le manatua, o lea e faigofie ai ona matou viliina nei mea faʻaoga faaopoopo i le taimi o faʻaleleia.

Ae ui i lea, e masani ona tupu i le taimi masani e leai se masini e maua lenei 25% o punaoa le faʻaaogaina. Ioe, matou te le taumafai lava: PPU ma manatua o le a aoga i taimi uma mo isi gaioiga. Ina ia foia lenei faafitauli, na matou filifili e faʻaaoga Kubernetes Pod Fa'amuamua. O le manatu o le tuʻuina atu lea i Ingesters se faʻamuamua maualuga nai lo isi (stateless) microservices. A mana'omia le fa'aopoopoina (N+1) Ingester, matou te fa'ate'aina mo sina taimi leisi isi pusa laiti. O nei pods e faʻafeiloaʻi i punaoa saoloto i luga o isi masini, ma tuʻu ai se "pu" tele e faʻaoga ai se Ingester faaopoopo.

I le Aso Tofi, Iulai 18, na matou faʻasalalau atu ai ni tulaga faʻamuamua se fa i a matou fuifui: faitio, maualuga, avega и maualalo. Sa fa'ata'ita'iina i latou i totonu o se fuifui totonu e leai se tagata fa'atau mo le tusa ma le tasi le vaiaso. E ala i le faaletonu, o pods e aunoa ma se fa'amuamua fa'apitoa e maua avega fa'amuamua, vasega na fa'atulaga mo Ingesters ma maualuga faamuamua. Mata'utia sa fa'aagaga mo le mata'ituina (Prometheus, Alertmanager, node-exporter, kube-state-metrics, ma isi). O lo'o tatala la matou fa'atonu, ma e mafai ona e va'ai i le PR iinei.

Faalavelave

I le Aso Faraile, Iulai 19, na faʻalauiloa ai e se tasi o inisinia se faʻalapotopotoga faʻapitoa a Cortex mo se tagata tele. O le config mo lenei fuifui e le'i aofia ai ni mea fou e ave i ai le faamuamua, o lea na ave uma ai pusa fou i se tulaga le faamuamua - avega.

O le Kubernetes cluster e leʻi lava punaoa mo le Cortex fou, ma le gaosiga o loʻo i ai nei Cortex cluster e leʻi faʻafouina (Ingesters na tuʻu e aunoa ma maualuga faamuamua). Talu ai o le Ingesters o le fuifui fou e ala i le faaletonu sa avega fa'amuamua, ma o lo'o i ai i totonu o le gaosiga na galue e aunoa ma le fa'amuamua, o le Ingesters o le fuifui fou na suitulaga i le Ingesters mai le fa'atupuina o Cortex o lo'o i ai nei.

O le ReplicaSet mo le Ingester ua fa'ate'aina i totonu o le fuifui gaosiga na maua ai le pod ua fa'ate'a ma faia se mea fou e fa'amautu ai le numera fa'amaonia o kopi. O le pod fou na tofia e ala i le faaletonu avega faamuamua, ma le isi "matua" Ingester i le gaosiga na leiloa ana punaoa. O le taunuuga na fa'agasologa o avalanche, lea na taʻitaʻia ai le faʻateʻaina o pusa uma mai Ingester mo faʻapipiʻi gaosiga o Cortex.

O mea e fa'aogaina e fa'atatau ma teu fa'amaumauga mo le 12 itula talu ai. O lenei mea e mafai ai ona matou faʻapipiʻi sili atu ona lelei aʻo leʻi tusia i latou mo se taimi umi e teu ai. Ina ia ausia lenei mea, Cortex shards faʻamaumauga i le faasologa e faʻaaoga ai le Distributed Hash Table (DHT) ma toe faʻataʻitaʻia faʻasologa taʻitasi i luga o le tolu Ingesters e faʻaaoga le Dynamo-style quorum consistency. E le tusia e Cortex faʻamatalaga i Ingesters e le atoatoa. O le mea lea, pe a o ese le tele o Ingesters mai le DHT, e le mafai e Cortex ona tuʻuina atu le faʻasologa o faʻamaumauga, ma latou paʻu.

Su'esu'ega ma Fa'aleleia

Fa'amatalaga fou a le Prometheus e fa'atatau i le "sese budget" (fa'atatau-tupe fa'aletonu - fa'amatalaga o le a fa'aalia i se tala i le lumana'i) na amata fa'alogoina le fa'ailo i le 4 minute talu ona amata le tapuni. I le isi lima minute pe sili atu, na matou faia ni faʻataʻitaʻiga ma faʻalautele le faʻavae o le Kubernetes cluster e faʻafeiloaʻi ai le fou ma le gaosiga o loʻo iai.

Ina ua maeʻa le isi lima minute, na tusia ma le manuia e le Ingesters tuai a latou faʻamaumauga, na amata ai mea fou, ma toe maua ai le Cortex fuifui.

O le isi 10 minute na faʻaalu e suʻesuʻe ma faʻasaʻo mea sese e le manatua (OOM) mai faʻamaoniga faʻasolosolo sui o loʻo i luma o Cortex. O mea sese o le OOM na mafua mai i le fa'asefulu fa'atupuina o le QPS (matou te talitonu ona o le so'ona fa'aoso talosaga mai le kalani's Prometheus servers).

Taunuuga

O le aofaʻi o le taimi malolo e 26 minute. E leai se fa'amaumauga na leiloa. Ua fa'amanuiaina e Ingesters fa'amaumauga uma i totonu o le manatua i totonu o le teuina umi. I le taimi o le tapuni, na tapeina le server Prometheus servers (mamao) fa'aoga pu'eina API fou remote_write fa'avae ile WAL (tusia e Callum Styan mai le Grafana Labs) ma toe fai tusitusiga le manuia ina ua uma le faalavelave.

Na fa'afefea ona fa'atupu le fa'amuamua i le Kubernetes le taimi fa'aletonu i le Grafana Labs
Gaoioiga tusitusi vaega o gaosiga

sailiiliga

E taua le aʻoaʻoina mai lenei mea na tupu ma faia laasaga talafeagai e aloese ai mai le toe tupu.

I le toe mafaufau, e le tatau ona tatou setiina le faaletonu avega fa'amuamua se'ia maua uma Ingesters i le gaosiga maualuga se faamuamua. E le gata i lea, sa tatau ona tausia muamua i latou maualuga faamuamua. Ua uma nei mea uma. Matou te faʻamoemoe o le a fesoasoani le matou poto masani i isi faʻalapotopotoga o loʻo mafaufau i le faʻaogaina o mea e ave i ai le faamuamua i Kubernetes.

O le a matou fa'aopoopoina se tulaga fa'aopoopo o le fa'atonutonuina o le fa'apipi'iina o so'o se mea fa'aopoopo o lo'o fa'apipi'iina i le lalolagi atoa i le fuifui. Mai le taimi nei, o ia suiga o le a iloiloina eоtele tagata. E le gata i lea, o le suiga na mafua ai le faʻalavelave na manatu e laʻititi tele mo se isi pepa o galuega faatino - na faʻatalanoaina i se mataupu GitHub. Mai le taimi nei, o ia suiga uma i configs o le a faʻatasi ma faʻamaumauga talafeagai o le poloketi.

Ma le mea mulimuli, o le a matou otometi le suia o le faʻamaoniga sui sui e puipuia ai le tele o le OOM na matou molimauina, ma o le a toe iloiloina Prometheus tulaga faaletonu e fesoʻotaʻi ma le paʻu ma le faʻasolosolo e puipuia ai faʻafitauli tutusa i le lumanaʻi.

O le toilalo na i ai foi ni taunuuga lelei: i le mauaina o punaoa talafeagai, Cortex otometi toe maua e aunoa ma se faʻalavelave faʻaopoopo. Na matou maua foi le poto masani taua i le galulue faatasi Grafana Loki - la matou faiga fou o le fa'aputuga o ogalaau - lea na fesoasoani e fa'amautinoa e amio lelei uma Ingesters i le taimi ma pe a mae'a le fa'aletonu.

PS mai faaliliu

Faitau foi i la matou blog:

puna: www.habr.com

Faaopoopo i ai se faamatalaga