Nahana ka mohopolo oa ho beha leihlo Kubernetes, tloaelana le sesebelisoa sa Prometheus, 'me u bue ka tlhokomeliso.
Sehlooho sa ho beha leihlo se matla, se ke ke sa aroloa ka sengoloa se le seng. Sepheo sa tema ena ke ho fana ka kakaretso ea lisebelisoa, likhopolo le mekhoa.
Thepa ea sengoloa ke squeeze ho tloha . Haeba u batla ho nka thupelo e felletseng - ingolise bakeng sa thupelo ea .

Ke eng e shebiloeng sehlopheng sa Kubernetes

li-server tsa 'mele. Haeba sehlopha sa Kubernetes se sebelisoa ho li-server tsa sona, o hloka ho beha leihlo bophelo ba bona. Zabbix e sebetsana le mosebetsi ona; haeba u sebetsa le eena, ha ho hlokahale hore u hane, ho ke ke ha e-ba le likhohlano. Ke Zabbix e hlokomelang boemo ba li-server tsa rona.
Ha re tsoeleng pele ho beha leihlo maemong a cluster.
Likarolo tsa Sefofane sa Taolo: API, Scheduler le tse ling. Bonyane, o hloka ho etsa bonnete ba hore API ea li-server kapa joalo-joalo e kholo ho feta 0. Etcd e ka khutlisa metrics e mengata: ka li-disks tseo e bilikang ho tsona, ka bophelo bo botle ba sehlopha sa eona sa etcd, le tse ling.
Docker e hlahile khale 'me bohle ba tseba hantle mathata a eona: lijana tse ngata li hlahisa lihatsetsi le mathata a mang. Ka hona, Docker ka boeona, joalo ka sistimi, le eona e lokela ho laoloa, bonyane bakeng sa ho fumaneha.
dns. Haeba DNS e oela sehlopheng, joale tšebeletso eohle ea Discovery e tla oa ka mor'a eona, mehala e tsoang ho li-pods ho ea ho li-pods e tla emisa ho sebetsa. Ts'ebetsong ea ka, ho ne ho se na mathata a joalo, empa sena ha se bolele hore boemo ba DNS ha bo hloke ho behoa leihlo. Ho kopa latency le metrics e meng e ka lateloa ho CoreDNS.
Ingress. Hoa hlokahala ho laola ho fumaneha ha li-ingress (ho kenyeletsoa le Ingress Controller) e le lintlha tsa ho kena morerong.
Likarolo tse ka sehloohong tsa sehlopha li qhaqhollotsoe - joale a re theoheleng boemong ba li-abstractions.
Ho ka bonahala eka lits'ebetso li sebetsa ka har'a li-pods, ho bolelang hore li hloka ho laoloa, empa ha e le hantle ha li joalo. Li-pods li ephemeral: kajeno li matha ka seva se seng, hosasane ho e 'ngoe; kajeno ho na le tse 10, hosasane 2. Ka hona, ha ho motho ea behang leihlo li-pods. Ka har'a meralo ea microservice, ho bohlokoa haholo ho laola ho fumaneha ha kopo ka kakaretso. Haholo-holo, hlahloba boteng ba lits'ebeletso tsa ho qetela: na ho na le letho le sebetsang? Haeba kopo e fumaneha, joale ho etsahala'ng ka mor'a eona, ke likopi tse kae hona joale - tsena ke lipotso tsa taelo ea bobeli. Ha ho hlokahale ho beha leihlo maemo a motho ka mong.
Boemong ba ho qetela, o hloka ho laola ts'ebetso ea kopo ka boeona, ho nka metrics ea khoebo: palo ea litaelo, boitšoaro ba basebelisi, joalo-joalo.
Prometheus
Mokhoa o motle oa ho beha leihlo sehlopha ke . Ha ke tsebe sesebelisoa leha e le sefe se ka lumellanang le Prometheus mabapi le boleng le boiketlo ba tšebeliso. E ntle bakeng sa meaho e bonolo, kahoo ha ba re "Kubernetes monitoring", hangata ba bolela Prometheus.
Ho na le likhetho tse 'maloa tsa ho qala ka Prometheus: u sebelisa Helm, u ka kenya Prometheus kapa Prometheus Operator ea kamehla.
- Prometheus ea kamehla. Ntho e ngoe le e ngoe e hantle ho eena, empa o hloka ho hlophisa ConfigMap - ha e le hantle, ngola lifaele tsa tlhophiso tse thehiloeng ho mongolo, joalo ka ha re ne re etsa pele, pele ho meralo ea microservice.
- Prometheus Operator e pharalletse hanyane, e rarahane haholoanyane ho latela mohopolo oa kahare, empa ho bonolo ho sebetsa le eona: ho na le lintho tse arohaneng, li-abstracts li eketsoa sehlopheng, kahoo li bonolo haholo ho li laola le ho li hlophisa.
Ho utloisisa sehlahisoa, ke khothaletsa ho kenya Prometheus e tloaelehileng pele. U tla tlameha ho hlophisa ntho e 'ngoe le e' ngoe ka config, empa sena se tla ba molemo: u tla tseba hore na ke eng le hore na e hlophisitsoe joang. Ho Prometheus Operator, hang-hang o nyolohela sebakeng se phahameng, leha o ka khona ho kenella botebong ha o lakatsa.
Prometheus e kopantsoe hantle le Kubernetes: e khona ho fihlella le ho sebelisana le API Server.
Prometheus e tumme, ke ka lebaka leo palo e kholo ea likopo le lipuo tsa mananeo li e tšehetsang. Ts'ehetso ea hlokahala, kaha Prometheus e na le sebopeho sa eona sa metrics, 'me ho e fetisetsa, o hloka laebrari ka har'a kopo kapa morekisi ea itokiselitseng kantle ho naha. Mme ho na le barekisi ba joalo ba 'maloa. Mohlala, ho na le PostgreSQL Exporter: e nka data ho tsoa ho PostgreSQL ebe e e fetolela ho sebopeho sa Prometheus e le hore Prometheus a ka sebetsa le eona.
Mehaho ea Prometheus

Seva ea Prometheus ke pheletso e ka morao, boko ba Prometheus. Metrics e bolokiloe le ho sebetsoa mona.
Metrics e bolokiloe polokelong ea letoto la nako (TSDB). TSDB ha se database e arohaneng, empa ke sephutheloana sa puo ea Go se kentsoeng ho Prometheus. Ka mantsoe a mang, ntho e 'ngoe le e' ngoe e ho binary e le 'ngoe.
Se ke oa boloka data ho TSDB nako e telele
Mehaho ea motheo ea Prometheus ha e tšoanelehe bakeng sa polokelo ea nako e telele ea metrics. Nako e tloaelehileng ea ho boloka ke matsatsi a 15. O ka feta moeli ona, empa hopola: ha o boloka data e ngata ho TSDB mme ha o e etsa nako e telele, e tla sebelisa lisebelisoa tse ngata. Ho boloka data ea nalane ho Prometheus ho nkuoa e le tloaelo e mpe.
Haeba u na le sephethephethe se seholo, palo ea metrics ke makholo a likete ka motsotsoana, joale ho molemo ho fokotsa polokelo ea bona ka sebaka sa disk kapa ka nako. Hangata, "data e chesang" e bolokoa ho TSDB, metrics ka lihora tse 'maloa feela. Bakeng sa polokelo e telele, polokelo ea kantle e sebelisoa ho li-database tse hlileng li loketseng sena, mohlala, InfluxDB, ClickHouse, joalo-joalo. Ke bone litlhaloso tse ling tse ntle ka ClickHouse.
Prometheus Server e sebetsa ho mohlala Hula: o ea bakeng sa metrics ho li-endpoints tseo re mo fileng tsona. Ba itse: "ea ho API Server", 'me o ea moo palo e' ngoe le e 'ngoe ea n-th ea metsotsoana ebe o nka metrics.
Bakeng sa lintho tse nang le nako e khuts'oane ea bophelo (mosebetsi kapa mosebetsi oa cron) tse ka hlahang lipakeng tsa linako tsa ho hlakola, ho na le karolo ea Pushgateway. Li-metrics tse tsoang linthong tsa nako e khuts'oane li sutumelletsoa ho eona: mosebetsi o tsohile, o entse ketso, o rometse metrics ho Pushgateway mme o phethiloe. Kamora nakoana, Prometheus e tla theoha ka lebelo la eona mme e nke metrics ena ho Pushgateway.
Ho lokisa litsebiso ho Prometheus ho na le karolo e arohaneng - Motsamaisi oa Tlhokomeliso. Le melao ea tlhokomeliso. Ka mohlala, o hloka ho etsa tlhokomeliso haeba API ea seva e le 0. Ha ketsahalo e tuka, tlhokomeliso e fetisetsoa ho mookameli oa tlhokomeliso bakeng sa ho romela ho eketsehileng. Motsamaisi oa tlhokomeliso o na le litlhophiso tse feto-fetohang tsa tsela: sehlopha se le seng sa litlhokomeliso se ka romelloa moqoqong oa thelekramo oa admins, se seng moqoqong oa bahlahisi, 'me ea boraro moqoqong oa basebetsi. Litsebiso li ka romelloa ho Slack, Telegraph, lengolo-tsoibila le liteishene tse ling.
Qetellong, ke tla u joetsa ka karolo ea 'molai oa Prometheus - Ho tseba. Ha u sebetsa le Prometheus, ha ho hlokahale hore u hlalose liaterese tse khethehileng tsa lintho bakeng sa ho beha leihlo, ho lekane ho beha mofuta oa tsona. Ka mantsoe a mang, ha ho hlokahale hore u ngole "aterese ea IP ke ena, mona ke port - monitor", ho e-na le hoo, o hloka ho tseba hore na ke melao-motheo efe ea ho fumana lintho tsena (sepheo - lipakane). Prometheus ka boeona, ho latela hore na ke lintho life tse ntseng li sebetsa hona joale, o hula tse hlokahalang ebe o li eketsa ho beha leihlo.
Mokhoa ona o lumellana hantle le sebopeho sa Kubernetes, moo ntho e 'ngoe le e' ngoe e phaphametseng: kajeno ho na le lisebelisoa tsa 10, hosasane 3. E le hore ba se ke ba hlalosa aterese ea IP ea seva nako le nako, ba ile ba ngola hang hore na ba ka e fumana joang - 'me Discovering e tla e etsa. .
Puo ea Prometheus e bitsoa PromQL. U sebelisa puo ena, u ka fumana boleng ba metrics e itseng ebe oa e fetola, oa etsa lipalo tsa tlhahlobo ho latela tsona.
https://prometheus.io/docs/prometheus/latest/querying/basics/
Простой запрос
container_memory_usage_bytes
Математические операции
container_memory_usage_bytes / 1024 / 1024
Встроенные функции
sum(container_memory_usage_bytes) / 1024 / 1024
Уточнение запроса
100 - avg by (instance) (rate(node_cpu_seconds_total{mode="idle"}[5m]) * 100)Prometheus web interface
Prometheus e na le segokanyimmediamentsi sa hau sa marang-rang, se batlang se le bobebe. E loketse feela ho lokisa bothata kapa pontsho.

Moleng oa Expression, o ka ngola potso ka puo ea PromQL.
Thebo ea Litemoso e na le melao ea tlhokomeliso, 'me e na le maemo a mararo:
- e sa sebetse - haeba tlhokomeliso e sa sebetse ka nako eo, ke hore, ntho e 'ngoe le e' ngoe e ntle le eona, 'me ha ea ka ea sebetsa;
- e emetse - sena ke haeba tlhokomeliso e sebelitse, empa thomello ha e so fete. Ho lieha ho behiloe ho lefella ho panya ha marang-rang: haeba tšebeletso e boletsoeng e tsohile ka nako ea motsotso, joale alamo ha ea lokela ho utloahala leha ho le joalo;
- ho thunya ke boemo ba boraro ha tlhokomeliso e khantša le ho romela melaetsa.
Ho menu ea Boemo u tla fumana phihlello ea tlhahisoleseling mabapi le hore na Prometheus ke eng. Ho boetse ho na le phetoho ho lipehelo (lipheo), tseo re buileng ka tsona ka holimo.

Bakeng sa tlhaiso-leseling e batsi ea sebopeho sa Prometheus, bona .
Ho kopanya le Grafana
Sebakeng sa marang-rang sa Prometheus, u ke ke ua fumana li-graph tse ntle le tse utloisisoang tseo ho tsona u ka fihlelang qeto mabapi le boemo ba sehlopha. Ho li haha, Prometheus e kopantsoe le Grafana. Re fumana li-dashboards tse joalo.

Ho theha kopanyo ea Prometheus le Grafana ha ho thata ho hang, o ka fumana litaelo litokomaneng: Be, ke tla qetella ka sena.
Lingoliloeng tse latelang, re tla ntšetsa pele sehlooho sa ho beha leihlo: re tla bua ka ho bokella le ho sekaseka likutu re sebelisa Grafana Loki le lisebelisoa tse ling.
Mongoli: Marcel Ibraev, molaoli ea tiisitsoeng oa Kubernetes, moenjiniere ea sebetsang k'hamphaning , sebui le moqapi oa thupelo Slurm.
Source: www.habr.com
