ʻ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.
ʻ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:
- 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.
- 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.
- 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:
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:
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:
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:
- ʻaʻohe hewa;
- hewa ʻaoʻao o ka mea kūʻai;
- 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;
- 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