Prensip Fondamantal nan siveyans PostgreSQL. Alexey Lesovsky

Mwen sijere ou li transkripsyon rapò Alexey Lesovsky ki soti nan Data Egret "Fundamentals of PostgreSQL monitoring"

Nan rapò sa a, Alexey Lesovsky pral pale sou pwen kle yo nan estatistik apre-grès, sa yo vle di, ak poukisa yo ta dwe prezan nan siveyans; sou ki graf yo ta dwe nan siveyans la, ki jan yo ajoute yo ak ki jan yo entèprete yo. Rapò a pral itil pou administratè baz done, administratè sistèm ak devlopè ki enterese nan depanaj Postgres.

Prensip Fondamantal nan siveyans PostgreSQL. Alexey Lesovsky

Non mwen se Alexey Lesovsky, mwen reprezante konpayi Data Egret.

Kèk mo sou tèt mwen. Mwen te kòmanse depi lontan kòm yon administratè sistèm.

Mwen te administre tout kalite diferan sistèm Linux, te travay sou plizyè bagay ki gen rapò ak Linux, sa vle di Virtualization, siveyans, te travay ak proxy, elatriye Men, nan kèk pwen mwen te kòmanse travay plis ak baz done, PostgreSQL. Mwen te vrèman renmen l. Ak nan kèk pwen mwen te kòmanse travay sou PostgreSQL pi fò nan tan travay mwen an. Se konsa, piti piti mwen te vin yon DBA PostgreSQL.

Ak pandan tout karyè mwen, mwen te toujou enterese nan sijè yo nan estatistik, siveyans, ak telemetri. E lè mwen te yon administratè sistèm, mwen te travay trè sere ak Zabbix. Apre sa, mwen te ekri yon ti seri scripts tankou zabbix-ektansyon. Li te byen popilè nan tan li. Apre sa, li te posib yo kontwole trè diferan bagay enpòtan, pa sèlman Linux, men tou, divès kalite eleman.

Koulye a, mwen ap travay sou PostgreSQL. Mwen deja ekri yon lòt bagay ki pèmèt ou travay ak estatistik PostgreSQL. Li rele pgCenter (atik sou Habré - Estatistik post-gress san nè ak tansyon).

Prensip Fondamantal nan siveyans PostgreSQL. Alexey Lesovsky

Yon ti nòt entwodiksyon. Ki sitiyasyon kliyan nou yo, kliyan nou yo genyen? Gen kèk kalite aksidan ki gen rapò ak baz done a. Epi lè baz done a te deja retabli, chèf depatman an oswa chèf devlopman an vini epi li di: "Zanmi, nou bezwen kontwole baz done a, paske yon move bagay te rive epi nou bezwen anpeche sa rive nan lavni." Ak isit la kòmanse pwosesis la enteresan nan chwazi yon sistèm siveyans oswa adapte yon sistèm siveyans ki deja egziste pou ke ou ka kontwole baz done ou a - PostgreSQL, MySQL oswa kèk lòt. Ak kòlèg yo kòmanse sijere: "Mwen tande ke gen tankou yon baz done. Ann sèvi ak li." Kolèg yo kòmanse diskite youn ak lòt. Ak nan fen li vire soti ke nou chwazi kèk kalite baz done, men PostgreSQL siveyans prezante nan li olye mal epi nou toujou gen ajoute yon bagay. Pran kèk depo nan GitHub, klonaj yo, adapte scripts, ak yon jan kanmenm pèsonalize yo. Ak nan fen li fini ke yo te yon kalite travay manyèl.

Prensip Fondamantal nan siveyans PostgreSQL. Alexey Lesovsky

Se poutèt sa, nan diskou sa a mwen pral eseye ba ou kèk konesans sou kòman yo chwazi siveyans pa sèlman pou PostgreSQL, men tou pou baz done a. Epi ba w konesans ki pral pèmèt ou konplete siveyans ou a pou w ka jwenn kèk benefis nan men w, pou w ka kontwole baz done w ak benefis, pou w ka anpeche san pèdi tan nenpòt sitiyasyon ijans k ap vini yo.

Ak lide yo ki pral nan rapò sa a ka dirèkteman adapte nan nenpòt baz done, ke li se yon DBMS oswa noSQL. Se poutèt sa, pa gen sèlman PostgreSQL, men pral gen anpil resèt sou kòman yo fè sa nan PostgreSQL. Pral gen egzanp demann, egzanp antite ki PostgreSQL genyen pou siveyans. Men, si DBMS ou a gen menm bagay sa yo ki pèmèt ou mete yo nan siveyans, ou ka adapte yo tou, ajoute yo epi li pral bon.

Prensip Fondamantal nan siveyans PostgreSQL. Alexey LesovskyMwen pa pral nan rapò a
pale sou fason pou delivre ak estoke mezi. Mwen pa pral di anyen sou post-traitement done yo ak prezante li bay itilizatè a. Apre sa, mwen pa pral di anyen sou alèt.
Men, kòm istwa a ap pwogrese, mwen pral montre diferan Ekran nan siveyans ki egziste deja epi yon jan kanmenm kritike yo. Men, kanmenm, mwen pral eseye pa nonmen mak pou yo pa kreye piblisite oswa anti-piblisite pou pwodwi sa yo. Se poutèt sa, tout konyensidans yo se o aza epi yo kite imajinasyon ou.
Prensip Fondamantal nan siveyans PostgreSQL. Alexey Lesovsky
Premyèman, ann chèche konnen ki sa siveyans ye. Siveyans se yon bagay trè enpòtan yo genyen. Tout moun konprann sa. Men, an menm tan an, siveyans pa gen rapò ak yon pwodwi biznis epi li pa afekte dirèkteman pwofi konpayi an, kidonk tan yo toujou atribye ba siveyans sou yon baz rezidyèl. Si nou gen tan, Lè sa a, nou fè siveyans; si nou pa gen tan, Lè sa a, OK, nou pral mete li nan rès la epi yon jou nou pral retounen nan travay sa yo.

Se poutèt sa, nan pratik nou an, lè nou rive nan kliyan, siveyans se souvan enkonplè epi yo pa gen okenn bagay enteresan ki ta ede nou fè yon pi bon travay ak baz done a. Se poutèt sa, siveyans toujou bezwen ranpli.

Baz done yo se bagay sa yo konplèks ki bezwen tou kontwole, paske baz done yo se yon depo enfòmasyon. Ak enfòmasyon trè enpòtan pou konpayi an, li pa ka pèdi nan okenn fason. Men, an menm tan an, baz done yo se moso trè konplèks nan lojisyèl. Yo konpoze de yon gwo kantite eleman. Ak anpil nan eleman sa yo bezwen kontwole.

Prensip Fondamantal nan siveyans PostgreSQL. Alexey LesovskySi nou ap pale espesyalman sou PostgreSQL, Lè sa a, li ka reprezante nan fòm lan nan yon konplo ki gen ladann yon gwo kantite eleman. Konpozan sa yo kominike youn ak lòt. Ak an menm tan an, PostgreSQL gen sa yo rele Stats Collector subsystem, ki pèmèt ou kolekte estatistik sou operasyon an nan subsistèm sa yo epi bay yon kalite koòdone bay administratè a oswa itilizatè pou li ka wè estatistik sa yo.

Estatistik sa yo prezante nan fòm lan nan yon seri sèten nan fonksyon ak opinyon. Yo ka rele tou tab. Sa vle di, lè l sèvi avèk yon kliyan psql regilye, ou ka konekte nan baz done a, fè yon seleksyon sou fonksyon sa yo ak opinyon, epi jwenn kèk nimewo espesifik sou operasyon an nan subsistèm PostgreSQL yo.

Ou ka ajoute nimewo sa yo nan sistèm siveyans ou pi renmen, trase graf, ajoute fonksyon epi jwenn analiz alontèm.

Men, nan rapò sa a mwen pa pral kouvri tout fonksyon sa yo nèt, paske li ta ka pran tout jounen an. Mwen pral literalman adrese de, twa oswa kat bagay epi di ou ki jan yo ede fè siveyans pi byen.
Prensip Fondamantal nan siveyans PostgreSQL. Alexey Lesovsky
Men, si nou pale sou baz done siveyans, Lè sa a, ki sa ki bezwen kontwole? Premyerman, nou bezwen monitor disponiblite, akoz sa baz done i en servis ki donn akse avek data pou kliyan e nou bezwen monitor available, e osi donn enpe son bann karakteristik kalitatif e quantitative.

Prensip Fondamantal nan siveyans PostgreSQL. Alexey Lesovsky

Nou bezwen tou kontwole kliyan ki konekte nan baz done nou an, paske yo ka tou de kliyan nòmal ak kliyan danjere ki ka mal baz done a. Yo bezwen tou kontwole ak aktivite yo swiv.

Prensip Fondamantal nan siveyans PostgreSQL. Alexey Lesovsky

Lè kliyan konekte ak baz done a, li evidan ke yo kòmanse travay ak done nou yo, kidonk nou bezwen kontwole ki jan kliyan travay ak done yo: ak ki tab, ak nan yon pi piti, ak ki endèks. Sa vle di, nou bezwen evalye kantite travay ki kreye pa kliyan nou yo.

Prensip Fondamantal nan siveyans PostgreSQL. Alexey Lesovsky

Men, kantite travay tou konsiste, nan kou, nan demann. Aplikasyon yo konekte nan baz done a, jwenn aksè nan done yo lè l sèvi avèk demann, kidonk li enpòtan pou evalye ki demann nou genyen nan baz done a, kontwole si yo apwopriye, ke yo pa ekri yo mal, ke kèk opsyon bezwen reekri epi fè pou yo travay pi vit. ak pi bon pèfòmans.

Prensip Fondamantal nan siveyans PostgreSQL. Alexey Lesovsky

Epi depi nou ap pale de yon baz done, baz done a se toujou pwosesis background. Pwosesis background ede kenbe pèfòmans baz done nan yon bon nivo, kidonk yo mande pou yon sèten kantite resous pou tèt yo opere. Ak an menm tan an, yo ka sipèpoze ak resous demann kliyan, kidonk pwosesis visye background ka afekte dirèkteman pèfòmans nan demann kliyan yo. Se poutèt sa, yo menm tou yo bezwen yo dwe kontwole ak Suivi pou ke pa gen okenn deformation an tèm de pwosesis background.

Prensip Fondamantal nan siveyans PostgreSQL. Alexey Lesovsky

Ak tout bagay sa a an tèm de siveyans baz done rete nan metrik nan sistèm. Men, konsidere ke pi fò nan enfrastrikti nou an ap deplase nan nyaj yo, mezi sistèm yo nan yon lame endividyèl toujou fennen nan background nan. Men, nan baz done yo toujou enpòtan epi, nan kou, li nesesè tou pou kontwole mezi sistèm.

Prensip Fondamantal nan siveyans PostgreSQL. Alexey Lesovsky

Tout bagay se plis oswa mwens amann ak mezi sistèm, tout sistèm siveyans modèn deja sipòte mezi sa yo, men an jeneral, kèk eleman yo toujou pa ase ak kèk bagay bezwen ajoute. Mwen pral tou manyen sou yo, pral gen plizyè glisad sou yo.

Prensip Fondamantal nan siveyans PostgreSQL. Alexey Lesovsky
Premye pwen plan an se aksè. Ki sa ki aksè? Disponibilite nan konpreyansyon mwen an se kapasite nan baz la nan sèvis koneksyon, sa vle di baz la leve soti vivan, li, kòm yon sèvis, aksepte koneksyon soti nan kliyan. Ak aksè sa a ka evalye pa sèten karakteristik. Li trè pratik pou montre karakteristik sa yo sou tablodbò yo.

Prensip Fondamantal nan siveyans PostgreSQL. Alexey Lesovsky
Tout moun konnen ki sa tablodbò yo ye. Sa a se lè ou te pran yon sèl gade nan ekran an sou ki enfòmasyon ki nesesè yo rezime. Epi ou ka imedyatman detèmine si gen yon pwoblèm nan baz done a oswa ou pa.
An konsekans, disponiblite baz done a ak lòt karakteristik kle yo ta dwe toujou parèt sou tablodbò pou ke enfòmasyon sa a se nan men ak toujou disponib pou ou. Gen kèk detay adisyonèl ki deja ede nan envestigasyon ensidan yo, lè yo ap mennen ankèt sou kèk sitiyasyon ijans, yo deja bezwen mete yo sou tablodbò segondè, oswa kache nan lyen drilldown ki mennen nan sistèm siveyans twazyèm pati.

Prensip Fondamantal nan siveyans PostgreSQL. Alexey Lesovsky

Yon egzanp yon sistèm siveyans byen li te ye. Sa a se yon sistèm siveyans trè fre. Li kolekte yon anpil nan done, men soti nan pwen de vi mwen, li gen yon konsèp etranj nan tablodbò. Gen yon lyen pou "kreye yon tablodbò". Men, lè ou kreye yon tablodbò, ou kreye yon lis de kolòn, yon lis graf. Men, lè ou bezwen gade nan yon bagay, ou kòmanse klike ak sourit la, defile, kap chèche tablo a vle. Ak sa a pran tan, sa vle di pa gen okenn tablodbò kòm sa yo. Genyen sèlman lis tablo yo.

Prensip Fondamantal nan siveyans PostgreSQL. Alexey Lesovsky

Kisa ou ta dwe ajoute nan tablodbò sa yo? Ou ka kòmanse ak yon karakteristik tankou tan repons. PostgreSQL gen gade pg_stat_statements. Li se enfim pa default, men li se youn nan opinyon yo sistèm enpòtan ki ta dwe toujou pèmèt ak itilize. Li estoke enfòmasyon sou tout demann kouri ki te egzekite nan baz done a.

An konsekans, nou ka kòmanse nan lefèt ke nou ka pran tan an total ekzekisyon nan tout demann epi divize li pa kantite demann lè l sèvi avèk jaden ki anwo yo. Men, sa a se tanperati mwayèn nan lopital la. Nou ka kòmanse soti nan lòt jaden - minimòm tan ekzekisyon demann, maksimòm ak medyàn. Epi nou ka menm bati percentiles; PostgreSQL gen fonksyon korespondan pou sa. Epi nou ka jwenn kèk nimewo ki karakterize tan repons baz done nou an pou demann ki deja ranpli, sa vle di nou pa egzekite fo demann lan 'chwazi 1' epi gade tan repons lan, men nou analize tan repons lan pou demann ki deja ranpli epi trase. swa yon figi separe, oswa nou bati yon graf ki baze sou li.

Li enpòtan tou pou kontwole kantite erè ki kounye a pwodwi pa sistèm nan. Ak pou sa ou ka itilize pg_stat_database gade nan. Nou konsantre sou jaden an xact_rollback. Jaden sa a montre non sèlman kantite rollbacks ki fèt nan baz done a, men tou li pran an kont kantite erè. Relativman pale, nou ka montre figi sa a nan tablodbò nou an epi wè konbyen erè nou genyen kounye a. Si gen yon anpil nan erè, Lè sa a, sa a se yon bon rezon ki fè yo gade nan mòso bwa yo ak wè ki kalite erè yo ye ak poukisa yo rive, ak Lè sa a, envesti ak rezoud yo.

Prensip Fondamantal nan siveyans PostgreSQL. Alexey Lesovsky

Ou ka ajoute yon bagay tankou yon Tachometer. Sa yo se kantite tranzaksyon pou chak segonn ak kantite demann pou chak segonn. Relativman pale, ou ka sèvi ak nimewo sa yo kòm pèfòmans aktyèl la nan baz done ou a epi obsève si gen pik nan demann, pik nan tranzaksyon, oswa, Okontrè, si baz done a anba chaj paske kèk backend te echwe. Li enpòtan pou nou toujou gade figi sa a epi sonje ke pou pwojè nou an kalite pèfòmans sa a nòmal, men valè ki pi wo a ak anba yo deja gen kèk pwoblèm ak enkonpreyansib, ki vle di nou bezwen gade poukisa nimewo sa yo. tèlman wo.

Pou nou ka estime kantite tranzaksyon yo, nou ka refere ankò nan gade pg_stat_database. Nou ka ajoute kantite komèt ak kantite rollback epi jwenn kantite tranzaksyon pou chak segonn.

Èske tout moun konprann ke plizyè demann ka antre nan yon sèl tranzaksyon? Se poutèt sa TPS ak QPS yo yon ti kras diferan.

Ou ka jwenn kantite demann pa segonn nan pg_stat_statements epi tou senpleman kalkile sòm tout demann ranpli yo. Li klè ke nou konpare valè aktyèl la ak youn anvan an, soustraksyon li, jwenn delta a, epi jwenn kantite a.

Prensip Fondamantal nan siveyans PostgreSQL. Alexey Lesovsky

Ou ka ajoute mezi adisyonèl si ou vle, ki ede tou evalye disponiblite baz done nou an epi kontwole si te gen nenpòt tan.

Youn nan mezi sa yo se uptime. Men, disponiblite nan PostgreSQL se yon ti jan difisil. Mwen pral di w poukisa. Lè PostgreSQL te kòmanse, uptime kòmanse rapòte. Men, si nan kèk pwen, pou egzanp, kèk travay te kouri nan mitan lannwit, yon OOM-asasen te vini ak fòse sispann pwosesis timoun nan PostgreSQL, Lè sa a, nan ka sa a PostgreSQL mete fen nan koneksyon an nan tout kliyan, retabli zòn nan memwa sharded ak kòmanse rekiperasyon soti nan. dènye pòs kontwòl la. Epi pandan ke rekiperasyon sa a soti nan pòs la dire, baz done a pa aksepte koneksyon, sa vle di sitiyasyon sa a ka evalye kòm D '. Men, kontwa disponiblite a pa pral reset, paske li pran an kont tan demaraj postmaster la depi premye moman an. Se poutèt sa, sitiyasyon sa yo ka sote.

Ou ta dwe tou kontwole kantite travayè vakyòm yo. Èske tout moun konnen kisa autovacuum nan PostgreSQL? Sa a se yon sous-sistèm enteresan nan PostgreSQL. Anpil atik yo te ekri sou li, anpil rapò te fè. Gen anpil diskisyon sou vakyòm ak kijan li ta dwe travay. Anpil moun konsidere li yon mal nesesè. Men, se konsa li ye. Sa a se yon kalite analòg nan yon pèseptè fatra ki netwaye vèsyon demode nan ranje ki pa nesesè pa nenpòt tranzaksyon ak libere espas nan tab ak endèks pou nouvo ranje.

Poukisa ou bezwen kontwole li? Paske vakyòm nan pafwa fè mal anpil. Li konsome yon gwo kantite resous ak demann kliyan yo kòmanse soufri kòm yon rezilta.

Epi li ta dwe kontwole atravè pg_stat_activity View, ki mwen pral pale sou nan pwochen seksyon an. View sa a montre aktivite aktyèl la nan baz done a. Ak nan aktivite sa a nou ka swiv kantite vakyòm k ap travay kounye a. Nou ka swiv vakyòm ak wè ke si nou te depase limit la, Lè sa a, sa a se yon rezon ki fè yo gade nan anviwònman yo PostgreSQL ak yon jan kanmenm optimize operasyon an nan vakyòm nan.

Yon lòt bagay sou PostgreSQL se ke PostgreSQL malad anpil nan tranzaksyon ki long yo. Espesyalman soti nan tranzaksyon ki pandye alantou pou yon tan long epi yo pa fè anyen. Sa a se sa yo rele stat idle-in-tranzaksyon an. Yon tranzaksyon konsa kenbe kadna ak anpeche vakyòm nan travay. Ak kòm yon rezilta, tab yo anfle ak ogmante nan gwosè. Ak demann ki travay ak tab sa yo kòmanse travay pi dousman, paske ou bezwen pèl tout vèsyon yo fin vye granmoun nan ranje soti nan memwa nan disk ak tounen lakay ou. Se poutèt sa, tan an, dire a nan tranzaksyon yo pi long, demann yo vakyòm ki pi long yo bezwen tou kontwole. Men, si nou wè kèk pwosesis ki te kouri pou yon tan trè lontan, deja plis pase 10-20-30 minit pou yon chaj OLTP, Lè sa a, nou bezwen peye atansyon sou yo ak fòse mete fen nan yo, oswa optimize aplikasyon an pou yo ke yo yo pa rele epi yo pa pann lontan. Pou yon kantite travay analyse, 10-20-30 minit se nòmal; gen tou sa ki pi long.

Prensip Fondamantal nan siveyans PostgreSQL. Alexey Lesovsky
Next nou gen opsyon a ak kliyan konekte. Lè nou te deja kreye yon tablodbò ak afiche mezi disponiblite kle sou li, nou ka ajoute enfòmasyon adisyonèl sou kliyan konekte la.

Enfòmasyon sou kliyan ki konekte yo enpòtan paske, nan yon pèspektiv PostgreSQL, kliyan yo diferan. Gen bon kliyan e gen move kliyan.

Yon egzanp senp. Pa kliyan mwen konprann aplikasyon an. Aplikasyon an konekte ak baz done a epi imedyatman kòmanse voye demann li yo la, baz done a trete ak egzekite yo, epi retounen rezilta yo bay kliyan an. Sa yo se kliyan bon ak kòrèk.

Gen sitiyasyon lè kliyan an konekte, li kenbe koneksyon an, men pa fè anyen. Li nan eta san fè anyen konsa.

Men, gen move kliyan. Pou egzanp, kliyan an menm konekte, louvri yon tranzaksyon, fè yon bagay nan baz done a ak Lè sa a, antre nan kòd la, pou egzanp, jwenn aksè nan yon sous ekstèn oswa trete done yo resevwa la. Men, li pa fèmen tranzaksyon an. Ak tranzaksyon an pandye nan baz done a epi li se ki te fèt nan yon seri sou liy lan. Sa a se yon move kondisyon. Men, si toudenkou yon aplikasyon yon kote andedan tèt li echwe ak yon eksepsyon, Lè sa a, tranzaksyon an ka rete louvri pou yon tan trè lontan. Ak sa a dirèkteman afekte pèfòmans PostgreSQL. PostgreSQL pral pi dousman. Se poutèt sa, li enpòtan pou swiv kliyan sa yo nan yon fason apwopriye ak fòse mete fen nan travay yo. Epi ou bezwen optimize aplikasyon w lan pou sitiyasyon sa yo pa rive.

Lòt move kliyan ap tann kliyan. Men, yo vin move akòz sikonstans. Pou egzanp, yon senp tranzaksyon san fè anyen konsa: li ka louvri yon tranzaksyon, pran kadna sou kèk liy, Lè sa a, yon kote nan kòd la li pral echwe, kite yon tranzaksyon pandye. Yon lòt kliyan ap vini epi mande done yo menm, men li pral rankontre yon seri, paske tranzaksyon sa a pandye deja kenbe kadna sou kèk ranje obligatwa. Ak dezyèm tranzaksyon an pral pann alantou ap tann pou premye tranzaksyon an fini oswa lafòs fèmen li pa administratè a. Se poutèt sa, tranzaksyon annatant ka akimile epi ranpli limit koneksyon baz done a. Epi lè limit la plen, aplikasyon an pa ka travay ak baz done a ankò. Sa a se deja yon sitiyasyon ijans pou pwojè a. Se poutèt sa, move kliyan yo bezwen swiv ak reponn a nan yon fason apwopriye.

Prensip Fondamantal nan siveyans PostgreSQL. Alexey Lesovsky

Yon lòt egzanp siveyans. Epi gen deja yon tablodbò desan isit la. Gen enfòmasyon sou koneksyon pi wo a. DB koneksyon - 8 moso. Epi se tout. Nou pa gen okenn enfòmasyon sou ki kliyan ki aktif, ki kliyan ki jis san fè anyen konsa, pa fè anyen. Pa gen okenn enfòmasyon sou tranzaksyon annatant ak koneksyon annatant, sa vle di sa a se yon figi ki montre kantite koneksyon ak sa a. Lè sa a, devine pou tèt ou.
Prensip Fondamantal nan siveyans PostgreSQL. Alexey Lesovsky
An konsekans, pou ajoute enfòmasyon sa yo nan siveyans, ou bezwen jwenn aksè nan gade nan sistèm pg_stat_activity. Si ou pase anpil tan nan PostgreSQL, Lè sa a, sa a se yon trè bon View ki ta dwe vin zanmi ou, paske li montre aktivite aktyèl la nan PostgreSQL, sa vle di sa k ap pase nan li. Pou chak pwosesis gen yon liy separe ki montre enfòmasyon sou pwosesis sa a: ki soti nan ki lame koneksyon an te fè, anba ki itilizatè, sou ki non, lè tranzaksyon an te kòmanse, ki demann ki ap kouri kounye a, ki demann ki te egzekite dènye. Epi, kòmsadwa, nou ka evalye eta kliyan an lè l sèvi avèk jaden an stat. Relativman pale, nou ka gwoupe pa jaden sa a epi jwenn estatistik sa yo ki kounye a nan baz done a ak kantite koneksyon ki gen stat sa a nan baz done a. Epi nou ka voye nimewo yo deja resevwa nan siveyans nou an epi trase graf ki baze sou yo.
Li enpòtan tou pou evalye dire tranzaksyon an. Mwen deja di ke li enpòtan pou evalye dire a nan vakyòm, men tranzaksyon yo evalye nan menm fason an. Gen jaden xact_start ak query_start. Yo, relativman pale, montre tan an kòmanse nan tranzaksyon an ak tan an kòmanse nan demann lan. Nou pran kounye a () fonksyon, ki montre timestamp aktyèl la, epi soustraksyon tranzaksyon an ak demann timestamp. Epi nou jwenn dire tranzaksyon an, dire demann lan.

Si nou wè tranzaksyon ki long, nou ta dwe konplete yo deja. Pou yon chaj OLTP, tranzaksyon long yo deja plis pase 1-2-3 minit. Pou yon kantite travay OLAP, tranzaksyon long yo nòmal, men si yo pran plis pase de zè de tan pou konplete, Lè sa a, sa a se tou yon siy ke nou gen yon skew yon kote.

Prensip Fondamantal nan siveyans PostgreSQL. Alexey Lesovsky
Yon fwa kliyan yo konekte ak baz done a, yo kòmanse travay ak done nou yo. Yo jwenn aksè nan tab yo, yo jwenn aksè nan endèks yo jwenn done nan tab la. Epi li enpòtan pou evalye kijan kliyan kominike avèk done sa yo.

Sa a se nesesè yo nan lòd yo evalye kantite travay nou yo ak apeprè konprann ki tab yo "pi cho" pou nou. Pou egzanp, sa nesesè nan sitiyasyon kote nou vle mete tab "cho" sou kèk kalite depo SSD vit. Pou egzanp, kèk tab achiv ke nou pa te itilize pou yon tan long ka deplase nan kèk kalite achiv "frèt", nan SATA kondui epi kite yo viv la, yo pral jwenn aksè nan jan sa nesesè.

Sa a itil tou pou detekte anomali apre nenpòt degaje ak deplwaman. Ann di pwojè a te pibliye kèk nouvo karakteristik. Pou egzanp, nou te ajoute nouvo fonksyonalite pou travay ak baz done a. Men, si nou trase graf itilizasyon tab, nou ka fasilman detekte anomali sa yo sou graf sa yo. Pou egzanp, mete ajou eklat oswa efase eklat. Li pral trè vizib.

Ou kapab tou detekte anomali nan estatistik "k ap flote". Sa sa vle di? PostgreSQL gen yon pwogramasyon rechèch trè fò ak trè bon. Ak devlopè yo konsakre anpil tan nan devlopman li yo. Ki jan li travay? Yo nan lòd yo fè bon plan, PostgreSQL kolekte estatistik sou distribisyon an nan done nan tab nan yon sèten entèval tan ak ak yon sèten frekans. Sa yo se valè ki pi komen: kantite valè inik, enfòmasyon sou NULL nan tablo a, anpil enfòmasyon.

Dapre estatistik sa yo, planifikatè a konstwi plizyè demann, chwazi youn ki pi optimal, epi sèvi ak plan rechèch sa a pou egzekite rechèch la li menm epi retounen done yo.

Epi li rive ke estatistik yo "flote". Done yo bon jan kalite ak kantite yon jan kanmenm chanje nan tablo a, men estatistik yo pa te kolekte. Ak plan yo fòme ka pa pi bon. Men, si plan nou yo vin pa pi bon dapre siveyans yo kolekte, ki baze sou tab yo, nou pral kapab wè anomali sa yo. Pou egzanp, yon kote done yo chanje kalitatif epi olye pou yo endèks la, yon pas sekans nan tab la te kòmanse itilize, i.e. si yon rechèch bezwen retounen sèlman 100 ranje (gen yon limit nan 100), Lè sa a, yon rechèch konplè pral fèt pou rechèch sa a. Lè sa a toujou gen yon efè trè move sou pèfòmans.

E nou kapab vwar sa dan monitoring. E deja gade rechèch sa a, kouri yon eksplike pou li, kolekte estatistik, bati yon nouvo endèks adisyonèl. E deja reponn a pwoblèm sa a. Se poutèt sa li enpòtan.

Prensip Fondamantal nan siveyans PostgreSQL. Alexey Lesovsky

Yon lòt egzanp siveyans. Mwen panse ke anpil moun te rekonèt li paske li trè popilè. Ki moun ki sèvi ak li nan pwojè yo Prometheus? Ki moun ki sèvi ak pwodui sa a ansanm ak Prometheus? Reyalite a se ke nan depo estanda siveyans sa a gen yon tablodbò pou travay ak PostgreSQL - postgres_exporter Prometheus. Men, gen yon sèl move detay.

Prensip Fondamantal nan siveyans PostgreSQL. Alexey Lesovsky

Gen plizyè graf. Epi bytes yo endike kòm inite, sa vle di gen 5 graf. Sa yo se Mete done, Mizajou done, Efase done, Chèche done ak Retounen done. Mezi inite a se byte. Men, bagay la se ke estatistik nan PostgreSQL retounen done nan tuple (ranje). Epi, kòmsadwa, graf sa yo se yon trè bon fason pou underestimate kantite travay ou plizyè fwa, dè dizèn de fwa, paske yon tuple se pa yon byte, yon tuple se yon fisèl, li se anpil byte epi li toujou nan longè varyab. Sa vle di, kalkile kantite travay nan byte lè l sèvi avèk tuple se yon travay ireyèl oswa trè difisil. Se poutèt sa, lè ou itilize yon tablodbò oswa siveyans entegre, li toujou enpòtan pou w konprann ke li travay kòrèkteman epi li retounen done kòrèkteman evalye ou.

Prensip Fondamantal nan siveyans PostgreSQL. Alexey Lesovsky

Ki jan yo jwenn estatistik sou tab sa yo? Pou rezon sa a, PostgreSQL gen yon sèten fanmi de opinyon. Ak vi prensipal la se pg_stat_user_tables. User_tables - sa vle di tab kreye sou non itilizatè a. Kontrèman, gen opinyon sistèm yo itilize pa PostgreSQL tèt li. Epi gen yon tablo rezime Alltables, ki gen ladan tou de sistèm ak itilizatè yo. Ou ka kòmanse nan nenpòt nan yo ke ou renmen pi byen.

Sèvi ak jaden ki anwo yo ou ka estime kantite foure, mizajou ak efase. Egzanp yon tablodbò ke mwen itilize itilize jaden sa yo pou evalye karakteristik yon kantite travay. Se poutèt sa, nou ka bati sou yo tou. Men, li vo sonje ke sa yo se tuple, pa byte, kidonk nou pa ka jis fè li nan byte.

Dapre done sa yo, nou ka bati sa yo rele TopN tab. Pou egzanp, Top-5, Top-10. Epi ou ka swiv sa yo tab cho ki resikle plis pase lòt moun. Pou egzanp, 5 tab "cho" pou ensèsyon. Epi lè l sèvi avèk tablo TopN sa yo, nou evalye kantite travay nou epi nou ka evalye kantite travay apre nenpòt ki lage, mizajou, ak deplwaman.

Li enpòtan tou pou evalye gwosè tab la, paske pafwa devlopè yo woule yon nouvo karakteristik, ak tab nou yo kòmanse anfle nan gwo gwosè yo, paske yo deside ajoute yon kantite lajan adisyonèl nan done, men yo pa t 'prevwa ki jan sa a ta pral. afekte gwosè baz done a. Ka sa yo tou vini kòm sipriz pou nou.

Prensip Fondamantal nan siveyans PostgreSQL. Alexey Lesovsky

Epi kounye a yon ti kesyon pou ou. Ki kesyon ki parèt lè ou remake chaj la sou sèvè baz done ou a? Ki pwochen kesyon ou genyen?

Prensip Fondamantal nan siveyans PostgreSQL. Alexey Lesovsky

Men, an reyalite kesyon an rive jan sa a. Ki demann chaj la lakòz? Sa vle di, li pa enteresan yo gade nan pwosesis yo ki te koze pa chaj la. Li klè ke si lame a gen yon baz done, Lè sa a, baz done a ap kouri la epi li klè ke sèlman baz done yo pral jete la. Si nou louvri Top, nou pral wè gen yon lis pwosesis nan PostgreSQL ki ap fè yon bagay. Li pap klè nan Top sa yo ap fè.

Prensip Fondamantal nan siveyans PostgreSQL. Alexey Lesovsky

An konsekans, ou bezwen jwenn demann sa yo ki lakòz chaj ki pi wo a, paske akor demann, an jeneral, bay plis pwofi pase akor PostgreSQL la oswa konfigirasyon sistèm opere, oswa menm akor pyès ki nan konpitè. Dapre estimasyon mwen an, sa a se apeprè 80-85-90%. Lè sa a se fè anpil pi vit. Li pi rapid pou korije yon demann pase pou korije konfigirasyon an, pwograme yon rekòmanse, sitou si baz done a pa ka rekòmanse, oswa ajoute pyès ki nan konpitè. Li pi fasil pou reekri rechèch la yon kote oswa ajoute yon endèks pou jwenn yon pi bon rezilta nan rechèch sa a.

Prensip Fondamantal nan siveyans PostgreSQL. Alexey Lesovsky
An konsekans, li nesesè kontwole demann ak konpetans yo. Annou pran en lot legzanp monitoring. Ak isit la, tou, gen sanble gen siveyans ekselan. Gen enfòmasyon sou replikasyon, gen enfòmasyon sou debi, bloke, itilizasyon resous yo. Tout bagay anfòm, men pa gen okenn enfòmasyon sou demann. Li pa klè ki demann yo ap kouri nan baz done nou an, konbyen tan yo ap kouri, konbyen nan demann sa yo. Nou toujou bezwen genyen enfòmasyon sa yo nan siveyans nou an.

Prensip Fondamantal nan siveyans PostgreSQL. Alexey Lesovsky

Epi pou jwenn enfòmasyon sa a nou ka itilize modil pg_stat_statements. Ki baze sou li, ou ka bati yon varyete graf. Pou egzanp, ou ka jwenn enfòmasyon sou demann yo pi souvan, se sa ki, sou demann sa yo ki egzekite pi souvan. Wi, apre deplwaman, li trè itil tou pou gade li epi konprann si gen yon ogmantasyon nan demann yo.

Ou ka kontwole demann ki pi long yo, se sa ki, demann sa yo ki pran plis tan pou konplete. Yo kouri sou processeur a, yo konsome I/O. Nou ka evalye sa tou lè l sèvi avèk jaden total_time, mean_time, blk_write_time ak blk_read_time.

Nou ka evalye ak kontwole demann ki pi lou an tèm de itilizasyon resous, sa yo ki li nan disk, ki travay ak memwa, oswa, Okontrè, kreye kèk kalite chaj ekri.

Nou ka evalye demann ki pi jenere yo. Sa yo se demann yo ki retounen yon gwo kantite ranje. Pou egzanp, sa a ta ka kèk demann kote yo bliye mete yon limit. Epi li tou senpleman retounen tout sa ki nan tab la oswa rechèch atravè tab yo mande yo.

Epi ou ka kontwole tou demann ki itilize dosye tanporè oswa tab tanporè.

Prensip Fondamantal nan siveyans PostgreSQL. Alexey Lesovsky
Epi nou toujou gen pwosesis background. Pwosesis background yo se prensipalman pòs oswa yo rele yo tou pòs, sa yo se autovacuum ak replikasyon.

Prensip Fondamantal nan siveyans PostgreSQL. Alexey Lesovsky

Yon lòt egzanp siveyans. Gen yon tab Antretyen sou bò gòch la, ale nan li epi espere wè yon bagay itil. Men, isit la se sèlman tan an nan operasyon vakyòm ak koleksyon estatistik, pa gen anyen plis. Sa a se enfòmasyon trè pòv, kidonk nou toujou bezwen gen enfòmasyon sou fason pwosesis background travay nan baz done nou an ak si gen nenpòt pwoblèm nan travay yo.

Prensip Fondamantal nan siveyans PostgreSQL. Alexey Lesovsky

Lè nou gade nan pòs yo, nou ta dwe sonje ke pòs yo koule paj sal soti nan zòn nan memwa sharded nan disk, Lè sa a, kreye yon pòs. Epi yo ka itilize pòs sa a kòm yon kote pou rekiperasyon si PostgreSQL te sispann toudenkou nan yon ijans.

An konsekans, yo nan lòd yo kole tout paj "sal" yo sou disk, ou bezwen fè yon sèten kantite ekri. Epi, kòm yon règ, sou sistèm ki gen gwo kantite memwa, sa a se yon anpil. Men, si nou fè pòs trè souvan nan yon entèval kout, Lè sa a, pèfòmans disk pral tonbe trè siyifikativman. Ak demann kliyan yo pral soufri nan yon mank de resous. Yo pral fè konpetisyon pou resous ak manke pwodiktivite.

An konsekans, atravè pg_stat_bgwriter lè l sèvi avèk jaden yo espesifye nou ka kontwole kantite pòs ki fèt. Men, si nou gen anpil pòs sou yon sèten peryòd tan (nan 10-15-20 minit, nan yon demi èdtan), pou egzanp, 3-4-5, Lè sa a, sa a ka deja yon pwoblèm. Epi ou deja bezwen gade nan baz done a, gade nan konfigirasyon an, ki sa ki lakòz tankou yon abondans nan pòs. Petèt gen yon kalite gwo anrejistreman k ap pase. Nou ka deja evalye kantite travay la, paske nou te deja ajoute graf kantite travay yo. Nou ka deja ajiste paramèt pòs yo epi asire w ke yo pa afekte anpil pèfòmans rechèch.

Prensip Fondamantal nan siveyans PostgreSQL. Alexey Lesovsky

Mwen tounen vin jwenn autovacuum ankò paske se yon bagay konsa, jan mwen te di, ki ka byen fasil ajoute tou de disk ak pèfòmans rechèch, kidonk li toujou enpòtan pou estime kantite autovacuum.

Kantite travayè otovakyòm nan baz done a limite. Pa default, gen twa nan yo, kidonk si nou toujou gen twa travayè k ap travay nan baz done a, sa vle di ke autovacuum nou an pa configuré, nou bezwen ogmante limit yo, revize anviwònman yo otovakyòm epi antre nan konfigirasyon an.
Li enpòtan pou evalye ki travayè vakyòm nou genyen. Swa li te lanse soti nan itilizatè a, DBA a te vini ak manyèlman te lanse kèk kalite vakyòm, ak sa a te kreye yon chaj. Nou gen yon kalite pwoblèm. Oswa sa a se kantite vakyòm ki devise kontwa tranzaksyon an. Pou kèk vèsyon PostgreSQL sa yo se vakyòm trè lou. Epi yo ka fasilman ajoute pèfòmans nan paske yo li tout tab la, eskane tout blòk yo nan tablo sa a.

Epi, nan kou, dire a nan vakyòm. Si nou gen vakyòm ki dire lontan ki kouri pou yon tan trè long, Lè sa a, sa vle di ke nou ankò bezwen peye atansyon sou konfigirasyon an vakyòm e petèt rekonsidere anviwònman li yo. Paske yon sitiyasyon ka rive lè vakyòm lan ap travay sou tab la pou yon tan long (3-4 èdtan), men pandan tan vakyòm lan t ap travay, yon gwo kantite ranje mouri jere yo akimile nan tab la ankò. Epi le pli vit ke vakyòm lan fini, li bezwen vakyòm tab sa a ankò. Epi nou rive nan yon sitiyasyon - yon vakyòm kontinuèl. Ak nan ka sa a, vakyòm nan pa fè fas ak travay li yo, ak tab yo piti piti kòmanse anfle nan gwosè, byenke volim nan done itil nan li rete menm jan an. Se poutèt sa, pandan vakyòm long, nou toujou gade nan konfigirasyon an epi eseye optimize li, men an menm tan an pou ke pèfòmans nan demann kliyan pa soufri.

Prensip Fondamantal nan siveyans PostgreSQL. Alexey Lesovsky

Sèjousi pa gen pratikman enstalasyon PostgreSQL ki pa gen replikasyon difizyon. Replikasyon se pwosesis pou deplase done soti nan yon mèt nan yon kopi.

Replikasyon nan PostgreSQL fèt atravè yon boutèy demi lit tranzaksyon. Sòsye an jenere yon jounal tranzaksyon. Jounal tranzaksyon an vwayaje sou koneksyon rezo a ak kopi a, epi answit li repwodui sou kopi a. Li senp.

An konsekans, yo itilize gade pg_stat_replication pou kontwole lag replikasyon an. Men, se pa tout bagay ki senp avè l '. Nan vèsyon 10, vi a te sibi plizyè chanjman. Premyèman, kèk jaden yo te chanje non. Ak kèk jaden yo te ajoute. Nan vèsyon 10, jaden parèt ki pèmèt ou estime dekalaj nan replikasyon an segonn. Li trè konfòtab. Anvan vèsyon 10, li te posib yo estime dekalaj nan replikasyon an byte. Opsyon sa a rete nan vèsyon 10, sa vle di ou ka chwazi sa ki pi bon pou ou - estime dekalaj la an byte oswa estime dekalaj la an segonn. Anpil moun fè tou de.

Men, kanmenm, yo nan lòd yo evalye lag nan replikasyon, ou bezwen konnen pozisyon nan boutèy la nan tranzaksyon an. Ak pozisyon journal tranzaksyon sa yo egzakteman nan pg_stat_replication view. Relativman pale, nou ka pran de pwen nan tranzaksyon an lè l sèvi avèk fonksyon pg_xlog_location_diff(). Kalkile delta ki genyen ant yo epi jwenn lag nan replikasyon an byte. Li trè pratik ak senp.

Nan vèsyon 10, yo te chanje non fonksyon sa a an pg_wal_lsn_diff(). An jeneral, nan tout fonksyon, opinyon, ak sèvis piblik kote mo "xlog" te parèt, li te ranplase ak valè "wal". Sa a aplike a tou de opinyon ak fonksyon. Sa a se tankou yon inovasyon.

Anplis de sa, nan vèsyon 10, yo te ajoute liy ki espesyalman montre lag la. Sa yo se ekri lag, flush lag, replay lag. Sa vle di, li enpòtan pou kontwole bagay sa yo. Si nou wè ke nou gen yon lag replikasyon, Lè sa a, nou bezwen mennen ankèt sou poukisa li te parèt, ki kote li soti ak ranje pwoblèm nan.

Prensip Fondamantal nan siveyans PostgreSQL. Alexey Lesovsky

Prèske tout bagay nan lòd ak mezi sistèm. Lè nenpòt siveyans kòmanse, li kòmanse ak mezi sistèm. Sa a se jete nan processeurs, memwa, swap, rezo ak disk. Sepandan, anpil paramèt yo pa la pa default.

Si tout bagay nan lòd ak pwosesis resiklaj la, Lè sa a, gen pwoblèm ak resiklaj ki gen kapasite. Kòm yon règ, devlopè siveyans ajoute enfòmasyon sou debi. Li ka nan iops oswa bytes. Men, yo bliye sou latansi ak itilizasyon aparèy ki gen kapasite. Sa yo se paramèt ki pi enpòtan ki pèmèt nou evalye ki jan chaje disk nou yo ak ki jan ralanti yo. Si nou gen gwo latansi, Lè sa a, sa vle di ke gen kèk pwoblèm ak disk yo. Si nou gen gwo itilizasyon, sa vle di ke disk yo pa fè fas. Sa yo se pi bon karakteristik pase debi.

Anplis, estatistik sa yo ka jwenn tou nan sistèm fichye /proc, menm jan yo fè pou resiklaj processeurs. Mwen pa konnen poukisa enfòmasyon sa a pa ajoute nan siveyans. Men, kanmenm, li enpòtan pou gen sa a nan siveyans ou.

Menm bagay la tou aplike nan koòdone rezo. Gen enfòmasyon sou debi rezo a nan pake, an byte, men kanmenm pa gen okenn enfòmasyon sou latansi ak pa gen enfòmasyon sou itilizasyon, byenke sa a se enfòmasyon itil tou.

Prensip Fondamantal nan siveyans PostgreSQL. Alexey Lesovsky

Nenpòt siveyans gen dezavantaj. E pa gen pwoblèm ki kalite siveyans ou pran, li pral toujou pa satisfè kèk kritè. Men, kanmenm, yo ap devlope, nouvo karakteristik ak nouvo bagay yo te ajoute, kidonk chwazi yon bagay epi fini li.

Epi pou w fini, ou dwe toujou gen yon lide sou sa estatistik yo bay la vle di ak ki jan ou ka itilize yo pou rezoud pwoblèm.

Ak kèk pwen kle:

  • Ou ta dwe toujou kontwole disponiblite epi gen tablodbò pou ou ka byen vit evalye ke tout bagay anfòm ak baz done a.
  • Ou toujou bezwen gen yon lide sou sa kliyan yo ap travay ak baz done ou yo nan lòd yo retire move kliyan ak tire yo desann.
  • Li enpòtan pou evalye kijan kliyan sa yo travay ak done yo. Ou bezwen gen yon lide sou kantite travay ou.
  • Li enpòtan pou evalye kijan kantite travay sa a fòme, avèk èd ki demann. Ou ka evalye demann, ou ka optimize yo, refactorize yo, bati endis pou yo. Li enpòtan anpil.
  • Pwosesis background yo ka gen yon enpak negatif sou demann kliyan yo, kidonk li enpòtan pou kontwole ke yo pa itilize twòp resous.
  • Paramèt sistèm yo pèmèt ou fè plan pou monte ak ogmante kapasite serveurs ou yo, kidonk li enpòtan pou swiv ak evalye yo tou.

Prensip Fondamantal nan siveyans PostgreSQL. Alexey Lesovsky

Si w enterese nan sijè sa a, Lè sa a, ou ka swiv lyen sa yo.
http://bit.do/stats_collector - sa a se dokiman ofisyèl ki soti nan pèseptè a estatistik. Gen yon deskripsyon tout opinyon estatistik ak yon deskripsyon tout jaden yo. Ou ka li, konprann ak analize yo. Epi baze sou yo, bati graf ou yo epi ajoute yo nan siveyans ou.

Egzanp demann:
http://bit.do/dataegret_sql
http://bit.do/lesovsky_sql

Sa a se repozitwa antrepriz nou an ak pwòp mwen. Yo genyen kesyon egzanp. Pa gen okenn demann nan seleksyon an * nan seri la. Gen deja rekèt ki pare ak rantre, lè l sèvi avèk fonksyon enteresan ki pèmèt ou vire nimewo anvan tout koreksyon nan valè lizib, pratik, sa vle di sa yo se byte, tan. Ou ka ranmase yo, gade yo, analize yo, ajoute yo nan siveyans ou, bati siveyans ou ki baze sou yo.

Kesyon ou yo

Kesyon: Ou te di ke ou pa pral fè piblisite mak, men mwen toujou kirye - ki kalite tablodbò ou itilize nan pwojè ou yo?
Repons: Li varye. Sa rive ke nou vin jwenn yon kliyan epi li deja gen pwòp siveyans li. Epi nou konseye kliyan an sou sa ki bezwen ajoute nan siveyans yo. Pi move sitiyasyon an se ak Zabbix. Paske li pa gen kapasite pou konstwi graf TopN. Nou menm nou itilize Okmèt, paske nou t ap konsilte mesye sa yo sou siveyans. Yo kontwole PostgreSQL ki baze sou espesifikasyon teknik nou yo. Mwen ekri pwòp pwojè bèt kay mwen an, ki kolekte done atravè Prometheus epi rann li grafana. Travay mwen se kreye pwòp ekspòtatè mwen an nan Prometheus epi rann tout bagay nan Grafana.

Kesyon: Èske gen nenpòt analogue nan rapò AWR oswa... agrégation? èske w konnen yon bagay konsa?
Repons: Wi, mwen konnen ki sa AWR ye, li se yon bagay fre. Nan moman sa a gen yon varyete bisiklèt ki aplike apeprè modèl sa a. Nan kèk entèval tan, kèk liy debaz yo ekri nan menm PostgreSQL la oswa nan yon depo separe. Ou ka google yo sou entènèt la, yo la. Youn nan devlopè yo nan yon bagay konsa se chita sou fowòm nan sql.ru nan fil la PostgreSQL. Ou ka kenbe l 'la. Wi, gen bagay sa yo, yo ka itilize. Plus nan li pgCenter M ap ekri tou yon bagay ki pèmèt ou fè menm bagay la.

PS1 Si w ap itilize postgres_exporter, ki tablodbò w ap itilize? Gen plizyè nan yo. Yo deja demode. Petèt kominote a pral kreye yon modèl ajou?

PS2 Retire pganalyze paske li se yon òf propriétaires SaaS ki konsantre sou siveyans pèfòmans ak sijesyon otomatik akor.

Se sèlman itilizatè ki anrejistre ki ka patisipe nan sondaj la. Enskri, tanpri.

Ki siveyans postgresql endepandan (ak tablodbò) ou konsidere pi bon an?

  • 30,0%Zabbix + ajoute soti nan Alexey Lesovsky oswa zabbix 4.4 oswa libzbxpgsql + zabbix libzbxpgsql + zabbix3

  • 0,0%https://github.com/lesovsky/pgcenter0

  • 0,0%https://github.com/pg-monz/pg_monz0

  • 20,0%https://github.com/cybertec-postgresql/pgwatch22

  • 20,0%https://github.com/postgrespro/mamonsu2

  • 0,0%https://www.percona.com/doc/percona-monitoring-and-management/conf-postgres.html0

  • 10,0%pganalyze se yon SaaS propriétaire - mwen pa ka efase li1

  • 10,0%https://github.com/powa-team/powa1

  • 0,0%https://github.com/darold/pgbadger0

  • 0,0%https://github.com/darold/pgcluu0

  • 0,0%https://github.com/zalando/PGObserver0

  • 10,0%https://github.com/spotify/postgresql-metrics1

10 itilizatè yo te vote. 26 itilizatè te absteni.

Sous: www.habr.com

Add nouvo kòmantè