Pehea mākou i kūkulu ai i ka nānā ʻana ma Prometheus, Clickhouse a me ELK

ʻO Anton Baderin koʻu inoa. Hana wau ma ka High Technology Center a hana i ka hoʻokele ʻōnaehana. I hoʻokahi mahina i hala aku nei, ua pau kā mākou hui hui, kahi i hōʻike ai i kā mākou ʻike i hōʻiliʻili ʻia me ke kaiāulu IT o ko mākou kūlanakauhale. Ua kamaʻilio wau e pili ana i ka nānā ʻana i nā noi pūnaewele. Ua manaʻo ʻia ka mea no ka pae ʻōpio a waena paha, ʻaʻole i kūkulu i kēia kaʻina hana mai ka wā ʻōpala.

Pehea mākou i kūkulu ai i ka nānā ʻana ma Prometheus, Clickhouse a me ELK

ʻO ka pōhaku kihi i lalo o kēlā me kēia ʻōnaehana nānā e hoʻoponopono i nā pilikia ʻoihana. ʻO ka nānā ʻana no ka nānā ʻana he mea hoihoi ʻole i kekahi. He aha ka makemake o ka ʻoihana? No laila e holo wikiwiki nā mea a pau me ka hewa ʻole. Makemake nā ʻoihana e hoʻoikaika, i ʻike mākou iā mākou iho i nā pilikia i ka lawelawe a hoʻoponopono iā lākou i ka hiki. ʻO kēia, ʻoiaʻiʻo, nā pilikia aʻu i hoʻoponopono ai i ka makahiki i hala ma kahi papahana no kekahi o kā mākou mea kūʻai.

No ka papahana

ʻO ka papahana kekahi o nā papahana kūpaʻa nui loa ma ka ʻāina. Kōkua mākou i nā kaulahao hale kūʻai e hoʻonui i ka pinepine o ke kūʻai aku ma o nā mea kūʻai like ʻole e like me nā kāleka bonus. Ma ka huina, loaʻa i ka papahana nā noi 14 e holo ana ma nā kikowaena he ʻumi.

I ka wā o ke kaʻina ninaninau, ʻike pinepine au ʻaʻole i hoʻokokoke mau nā mea hoʻokele i ka nānā pono ʻana i nā noi pūnaewele: nui ka poʻe e nānā mau nei i nā metric ʻōnaehana hana a nānā i nā lawelawe i kekahi manawa.

I koʻu hihia, ua hoʻokumu mua ʻia ka ʻōnaehana nānā o ka mea kūʻai aku iā Icinga. ʻAʻole ia i hoʻoponopono i nā pilikia i luna ma kekahi ʻano. ʻO ka manawa pinepine ka mea kūʻai aku i haʻi mai iā mākou e pili ana i nā pilikia, a ʻoi aku ka nui ma mua o ka ʻole, ʻaʻole lawa kā mākou ʻikepili e hiki ai i lalo o ke kumu.

Eia hou, ua maopopo ka maopopo ole o ka makehewa o kona ulu hou ana. Manaʻo wau e maopopo iaʻu ka poʻe kamaʻāina iā Icinga. No laila, ua hoʻoholo mākou e hoʻolālā hou i ka ʻōnaehana nānā pono pūnaewele no ka papahana.

IHILA

Ua koho mākou iā Prometheus ma muli o ʻekolu mau hōʻailona nui:

  1. He helu nui o nā metric i loaʻa. I kā mākou hihia he 60 tausani o lākou. ʻOiaʻiʻo, pono e hoʻomaopopo ʻaʻole mākou e hoʻohana i ka hapa nui o lākou (ma kahi o 95%). Ma ka ʻaoʻao ʻē aʻe, he ʻuʻuku lākou a pau. No mākou, ʻo kēia ka mea ʻē aʻe i hoʻohālikelike ʻia i ka Icinga i hoʻohana mua ʻia. I loko o ia mea, ʻo ka hoʻohui ʻana i nā metric he mea ʻeha loa: he kumukūʻai nā mea i loaʻa (e nānā wale i ke kumu kumu o kekahi plugin). ʻO kēlā me kēia plugin he palapala ma Bash a i ʻole Python, ʻo ka hoʻomaka ʻana o ia mea he kumukūʻai e pili ana i nā kumuwaiwai i pau.
  2. Hoʻopau kēia ʻōnaehana i kahi liʻiliʻi o nā kumuwaiwai. 600 MB o RAM, 15% o hoʻokahi kumu a me ʻelua mau kakini IOPS ua lawa no kā mākou metric āpau. ʻOiaʻiʻo, pono ʻoe e holo i nā mea kūʻai aku, akā ua kākau ʻia lākou āpau ma Go a ʻaʻole pōloli loa. ʻAʻole wau i manaʻo i ka ʻoiaʻiʻo o kēia wā he pilikia kēia.
  3. Hāʻawi i ka hiki ke neʻe i Kubernetes. Ke noʻonoʻo nei i nā hoʻolālā o ka mea kūʻai aku, maopopo ke koho.

ELK

Ma mua, ʻaʻole mākou i hōʻiliʻili a hana i nā lāʻau. Ua maopopo nā hemahema i nā mea a pau. Ua koho mākou iā ELK no ka mea ua loaʻa iā mākou ka ʻike me kēia ʻōnaehana. Hoʻopaʻa wale mākou i nā palapala noi ma laila. ʻO nā pae koho nui he huli kikokikona piha a me kona wikiwiki.

Сlickhouse

I ka wā mua, ua hāʻule ka koho ma InfluxDB. Ua ʻike mākou i ka pono e hōʻiliʻili i nā log Nginx, nā helu mai pg_stat_statements, a mālama i ka ʻikepili mōʻaukala Prometheus. ʻAʻole mākou makemake iā Influx no ka mea ua hoʻomaka ia e hoʻopau i ka nui o ka hoʻomanaʻo a hāʻule. Eia hou, makemake au e hui pū i nā nīnau e remote_addr, akā ʻo ka hui ʻana i kēia DBMS ma nā inoa wale nō. He kumukūʻai (memo), kā lākou helu i kaupalena ʻia.

Hoʻomaka hou mākou i kā mākou ʻimi. ʻO ka mea i makemake ʻia he ʻikepili analytical me ka liʻiliʻi o ka hoʻohana waiwai, ʻoi aku ka maikaʻi me ka hoʻopili ʻana i ka ʻikepili ma ka disk.

Hoʻokō ʻo Clickhouse i kēia mau koina āpau, a ʻaʻole mākou i mihi i kā mākou koho. ʻAʻole mākou e kākau i nā helu ʻikepili i loko o ia mea (ʻo ka helu o nā hoʻokomo ʻana ma kahi o ʻelima tausani wale nō i hoʻokahi minuke).

NewRelic

Ua hele pū ʻo NewRelic me mākou no ka mea ʻo ia ke koho a ka mea kūʻai aku. Hoʻohana mākou iā ia ma ke ʻano he APM.

ʻO Zabbix

Hoʻohana wale mākou iā Zabbix e nānā i ka pahu ʻeleʻele o nā API like ʻole.

Ka wehewehe ʻana i kahi ala nānā

Makemake mākou e hoʻopau i ka hana a no laila e hoʻonohonoho i ke ʻano o ka nānā ʻana.

No ka hana ʻana i kēia, ua hoʻokaʻawale au i kā mākou ʻōnaehana i nā pae aʻe:

  • lako lako a me VMS;
  • ʻōnaehana hana;
  • nā lawelawe ʻōnaehana, hoʻonohonoho lako polokalamu;
  • palapala noi;
  • manaʻo pāʻoihana.

No ke aha he mea maʻalahi kēia ala:

  • ʻike mākou i ke kuleana o ka hana o kēlā me kēia pae a, ma muli o kēia, hiki iā mākou ke hoʻouna i nā leka;
  • hiki iā mākou ke hoʻohana i ka hoʻolālā i ka wā e hoʻopau ai i nā mākaʻikaʻi - he mea ʻē ke hoʻouna ʻana i kahi makaʻala e pili ana i ka loaʻa ʻole o ka waihona ke loaʻa ʻole ka mīkini virtual holoʻokoʻa.

No ka mea ʻo kā mākou hana ʻo ka ʻike ʻana i nā hewa i ka hana ʻana o ka ʻōnaehana, pono mākou ma kēlā me kēia pae e hōʻike i kekahi pūʻulu o nā metric pono e hoʻolohe i ke kākau ʻana i nā lula makaʻala. A laila, e hele kāua i nā pae "VMS", "Operating system" a me "System services, software stack".

Nā mīkini uila

Hāʻawi ʻo Hosting iā mākou i kahi mea hana, disk, hoʻomanaʻo a me ka pūnaewele. A ua pilikia mākou i nā mea mua ʻelua. No laila, nā metric:

Ka manawa ʻaihue ʻo CPU - ke kūʻai ʻoe i kahi mīkini virtual ma Amazon (t2.micro, no ka laʻana), pono ʻoe e hoʻomaopopo ʻaʻole ʻoe i hoʻokaʻawale ʻia i kahi ʻōnaehana holoʻokoʻa, akā he quota wale nō o kona manawa. A i ka pau ʻana o ia mea, e lawe ʻia ke kaʻina hana mai ou aku.

Hāʻawi kēia metric iā ʻoe e nānā i kēlā mau manawa a hoʻoholo. No ka laʻana, pono anei e lawe i ka uku momona a i ʻole ka hāʻawi ʻana i ka hana o nā hana hope a me nā noi API i nā kikowaena like ʻole?

IOPS + CPU iwait manawa - no kekahi kumu, nui nā kapuaʻi hoʻokipa i hewa ma ka hāʻawi ʻole ʻana i ka IOPS. Eia kekahi, ʻo kahi papa hana me ka IOPS haʻahaʻa ʻaʻole ia he hoʻopaʻapaʻa no lākou. No laila, pono e hōʻiliʻili i ka CPU iowait. Me kēia mau pakuhi - me ka IOPS haʻahaʻa a me ke kali I/O kiʻekiʻe - hiki iā ʻoe ke kamaʻilio me ka mea hoʻokipa a hoʻoponopono i ka pilikia.

pae'ōnaehana nenoaiu

Nā ana ʻōnaehana hana:

  • ka nui o ka hoʻomanaʻo i loaʻa ma %;
  • hana hoʻohana hoʻololi: vmstat swapin, swapout;
  • ka helu o nā inodes i loaʻa a me ka hakahaka manuahi ma ka ʻōnaehana waihona ma %
  • haawe awelika;
  • ka helu o nā pilina ma ka mokuʻāina tw;
  • conntrack papaʻaina piha;
  • Hiki ke nānā ʻia ka maikaʻi o ka pūnaewele me ka hoʻohana ʻana i ka ss utility, ka iproute2 package - e kiʻi i kahi hōʻailona o nā pilina RTT mai kāna hoʻopuka ʻana a hui pū ʻia e ka dest port.

Aia nō hoʻi ma ka pae ʻōnaehana hana i loaʻa iā mākou kahi hui e like me nā kaʻina hana. He mea nui e ʻike i loko o ka ʻōnaehana i kahi hoʻonohonoho o nā kaʻina hana e pāʻani nui i kāna hana. Inā, no ka laʻana, he mau pgpools kāu, a laila pono ʻoe e hōʻiliʻili i ka ʻike no kēlā me kēia.

ʻO ka hoʻonohonoho o nā metric penei:

  • PPU;
  • ʻO ka hoʻomanaʻo ka mea nui e noho nei;
  • IO - ʻoi aku ka maikaʻi ma IOPS;
  • FileFd - wehe a palena;
  • nā hemahema ʻaoʻao nui - ma kēia ala hiki iā ʻoe ke hoʻomaopopo i ke kaʻina hana e hoʻololi ʻia.

Hoʻonohonoho mākou i nā mākaʻikaʻi āpau ma Docker, a hoʻohana mākou i ka Advisor e hōʻiliʻili i ka ʻikepili metric. Ma nā mīkini ʻē aʻe mākou e hoʻohana ai i ka mea hoʻopuka kaʻina.

Nā lawelawe ʻōnaehana, hoʻopaʻa polokalamu

Loaʻa i kēlā me kēia noi kāna mau kikoʻī ponoʻī, a paʻakikī ke hoʻokaʻawale i kahi pūʻulu kikoʻī o nā metric.

ʻO ka hui honua:

  • ka helu noi;
  • ka nui o nā hewa;
  • ka lōʻihi;
  • hoʻopololei.

ʻO kā mākou mau hiʻohiʻona koʻikoʻi o ka nānā ʻana ma kēia pae ʻo Nginx a me PostgreSQL.

ʻO ka lawelawe ʻoi loa i kā mākou ʻōnaehana ʻo ka waihona. I ka wā ma mua, pilikia pinepine mākou i ka ʻike ʻana i ka hana a ka waihona.

Ua ʻike mākou i kahi haʻahaʻa kiʻekiʻe ma nā disks, akā ʻaʻole i hōʻike maoli nā lāʻau lohi. Ua hoʻoholo mākou i kēia pilikia me ka hoʻohana ʻana i nā pg_stat_statements, kahi ʻike e hōʻiliʻili ai i nā helu nīnau.

ʻO ia wale nō ka mea e pono ai ke admin.

Kūkulu mākou i nā kiʻi o ka hana o nā noi heluhelu a kākau:

Pehea mākou i kūkulu ai i ka nānā ʻana ma Prometheus, Clickhouse a me ELK
Pehea mākou i kūkulu ai i ka nānā ʻana ma Prometheus, Clickhouse a me ELK

He mea maʻalahi a maopopo nā mea a pau, loaʻa i kēlā me kēia noi kona kala pono'ī.

ʻO kahi hiʻohiʻona like ʻo Nginx logs. ʻAʻole ia he mea kupanaha no ka liʻiliʻi o ka poʻe e ʻōlelo iā lākou i ka papa inoa o nā mea pono. ʻAʻole ʻike nui ka ʻano maʻamau a pono e hoʻonui ʻia.

ʻO wau iho, ua hoʻohui au i ka manawa_ke noi, ka manawa_pane i luna, ke kino_bytes_sent, request_length, request_id. Hoʻolālā mākou i ka manawa pane a me ka helu o nā hewa:

Pehea mākou i kūkulu ai i ka nānā ʻana ma Prometheus, Clickhouse a me ELK
Pehea mākou i kūkulu ai i ka nānā ʻana ma Prometheus, Clickhouse a me ELK

Kūkulu mākou i nā pakuhi o ka manawa pane a me ka helu o nā hewa. Hoʻomanaʻo? Ua kamaʻilio wau e pili ana i nā hana ʻoihana? I ka wikiwiki a me ka hewa ʻole? Ua uhi mua mākou i kēia mau pilikia me nā pakuhi ʻelua. A hiki iā ʻoe ke kāhea aku i nā luna hoʻomalu ma ka hoʻohana ʻana iā lākou.

Akā hoʻokahi pilikia hou aʻe - e hōʻoia i ka hoʻopau wikiwiki ʻana i nā kumu o ka hanana.

Hoʻoholo pili

Hiki ke hoʻokaʻawale ʻia ke kaʻina hana holoʻokoʻa mai ka ʻike ʻana a hiki i ka hoʻoponopono ʻana i kahi pilikia i kekahi mau ʻanuʻu:

  • ʻike i ka pilikia;
  • hoolaha i ka luna hooponopono hana;
  • pane i kahi hanana;
  • ka hoopau ana i na kumu.

He mea nui e hana mākou i kēia me ka hikiwawe loa. A inā ma nā pae o ka ʻike ʻana i kahi pilikia a me ka hoʻouna ʻana i kahi leka hoʻomaopopo ʻaʻole hiki iā mākou ke loaʻa ka manawa nui - ʻelua mau minuke e hoʻopau ʻia ma luna o lākou i kēlā me kēia hihia, a laila ʻo nā mea ma hope e wehe wale ʻia no ka hoʻomaikaʻi.

E noʻonoʻo kākou ua kani ke kelepona o ka luna dute. He aha kāna e hana ai? E ʻimi i nā pane i nā nīnau - he aha ka mea i haki, ma hea i haki ai, pehea e hana ai? Penei kā mākou pane ʻana i kēia mau nīnau:

Pehea mākou i kūkulu ai i ka nānā ʻana ma Prometheus, Clickhouse a me ELK

Hoʻokomo wale mākou i kēia ʻike āpau i ka kikokikona o ka hoʻolaha, hāʻawi iā ia i kahi loulou i kahi ʻaoʻao wiki e wehewehe ana i ka pane ʻana i kēia pilikia, pehea e hoʻoponopono ai a hoʻonui.

ʻAʻole wau i ʻōlelo i kekahi mea e pili ana i ka papa noi a me ka loiloi ʻoihana. ʻO ka mea pōʻino, ʻaʻole hoʻokō kā mākou mau noi i ka hōʻiliʻili metric. ʻO ke kumu wale nō o nā ʻike mai kēia mau pae ʻo nā lāʻau.

ʻElua mau helu.

ʻO ka mua, e kākau i nā moʻolelo i kūkulu ʻia. ʻAʻole pono e hoʻokomo i ka pōʻaiapili ma ka kikokikona o ka memo. He mea paʻakikī kēia i ka hui ʻana a me ka nānā ʻana. He manawa lōʻihi ka Logstash e hoʻoponopono i kēia mau mea āpau.

ʻO ka lua, e hoʻohana pono i nā pae paʻakikī. He kūlana ponoʻī ko kēlā me kēia ʻōlelo. ʻO wau iho, hoʻokaʻawale wau i ʻehā mau pae:

  1. ʻaʻohe hewa;
  2. hewa ʻaoʻao o ka mea kūʻai;
  3. aia ka hewa ma ko mākou ʻaoʻao, ʻaʻole mākou e nalowale i ke kālā, ʻaʻole mākou e lawe i nā pilikia;
  4. Aia ka hewa ma ko mākou ʻaoʻao, nalowale ke kālā.

E hōʻuluʻulu au. Pono ʻoe e hoʻāʻo e kūkulu i ka nānā ʻana ma muli o ka loiloi ʻoihana. E ho'āʻo e nānā i ka noi ponoʻī a hana me nā metric e like me ka helu o ke kūʻai aku, ka helu o nā mea hoʻohana hou, ka helu o nā mea hoʻohana i kēia manawa, a pēlā aku.

Inā hoʻokahi pihi kāu ʻoihana holoʻokoʻa i ka polokalamu kele pūnaewele, pono ʻoe e nānā inā kaomi a hana pono. ʻAʻole pili nā mea i koe.

Inā ʻaʻole ʻoe i kēia, hiki iā ʻoe ke hoʻāʻo e hopu iā ia ma nā palapala noi, nā log Nginx, a pēlā aku, e like me kā mākou i hana ai. Pono ʻoe e pili kokoke i ka noi e like me ka hiki.

He mea koʻikoʻi nā ʻōnaehana ʻōnaehana, akā ʻaʻole makemake ka ʻoihana iā lākou, ʻaʻole mākou e uku ʻia no lākou.

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka