Ua make ka nānā ʻana? — Ka nānā ʻana i ke ola lōʻihi

Ua make ka nānā ʻana? — Ka nānā ʻana i ke ola lōʻihi

Mai ka makahiki 2008, ua hana nui kā mākou hui i ka hoʻokele waiwai a me ke kākoʻo ʻenehana a puni ka manawa no nā papahana pūnaewele: loaʻa iā mākou ma mua o 400 mau mea kūʻai aku, ʻo ia ka 15% o ka e-commerce Lūkini. No laila, kākoʻo ʻia kahi hoʻolālā like ʻole. Inā hāʻule kekahi mea, pono mākou e hoʻoponopono i loko o 15 mau minuke. Akā no ka hoʻomaopopo ʻana ua hiki mai kahi pōʻino, pono ʻoe e nānā i ka papahana a pane i nā hanana. Pehea e hana ai i keia?

Manaʻo wau aia kahi pilikia i ka hoʻonohonoho ʻana i kahi ʻōnaehana nānā pono. Inā ʻaʻohe pilikia, a laila ʻo kaʻu kamaʻilio ʻana i hoʻokahi thesis: "E ʻoluʻolu e hoʻokomo iā Prometheus + Grafana a me nā plugins 1, 2, 3." ʻO ka mea pōʻino, ʻaʻole hiki ke hana pēlā. A ʻo ka pilikia nui, ʻo ia ka manaʻoʻiʻo o nā mea a pau i kekahi mea i loaʻa i ka makahiki 2008, e pili ana i nā ʻāpana polokalamu.

E pili ana i ka hoʻonohonoho ʻana o ka ʻōnaehana nānā, makemake wau e ʻōlelo ʻaʻole i loaʻa nā papahana me ka mākaʻikaʻi mākaukau. A maikaʻi loa ke kūlana inā hāʻule kekahi mea, aia ka pilikia e ʻike ʻole ʻia - ma hope o nā mea a pau, maopopo ka poʻe āpau "mālama ʻia nā mea āpau."
Ke nānā ʻia nei paha nā mea a pau. Akā pehea?

Ua ʻike mākou a pau i kahi moʻolelo e like me kēia: kekahi devops, ke hana nei kekahi admin, hele mai kahi hui hoʻomohala iā lākou a ʻōlelo - "ua hoʻokuʻu ʻia mākou, nānā i kēia manawa." Nānā i ke aha? Pehea ia hana?

OK. Mālama mākou i ke ala kahiko. A ke hoʻololi nei ia, a ua ʻike ʻoe ua nānā ʻoe i ka lawelawe A, i lilo i lawelawe B, i hui pū me ka lawelawe C. Akā ke haʻi aku nei ka hui hoʻomohala iā ʻoe: "E hoʻouka i ka polokalamu, pono e nānā i nā mea āpau!"

No laila he aha ka mea i loli? - Ua loli nā mea a pau!

2008 Ua maikaʻi nā mea a pau

Aia kekahi mau mea hoʻomohala, hoʻokahi kikowaena, hoʻokahi kikowaena waihona. Hele nā ​​mea a pau mai ʻaneʻi. Loaʻa iā mākou kekahi ʻike, hoʻokomo mākou i ka zabbix, Nagios, cacti. A laila hoʻonoho mākou i nā mākaʻikaʻi ma ka CPU, ma ka hana disk, a ma kahi ākea. Hana mākou i ʻelua mau loiloi lima e hōʻoia i ka pane ʻana o ka pūnaewele a ke hōʻea nei nā kauoha i ka waihona. A ʻo ia - ʻoi aku ka palekana a i ʻole mākou.

Inā mākou e hoʻohālikelike i ka nui o ka hana i hana ʻia e ka luna hoʻomalu no ka hoʻolako ʻana i ka nānā ʻana, a laila ʻo 98% ka mea maʻalahi: ʻo ka mea nāna e nānā pono e hoʻomaopopo i ka hoʻokomo ʻana iā Zabbix, pehea e hoʻonohonoho ai a hoʻonohonoho i nā mākaʻikaʻi. A ʻo 2% - no ka nānā ʻana i waho: e pane ka pūnaewele a noi i ka waihona, ua hiki mai nā kauoha hou.

Ua make ka nānā ʻana? — Ka nānā ʻana i ke ola lōʻihi

2010 Ke ulu nei ka ukana

Ke hoʻomaka nei mākou e hoʻonui i ka pūnaewele, e hoʻohui i kahi ʻenekini huli. Makemake mākou e hōʻoia i ka ʻatikala huahana nā huahana āpau. A hana kēlā ʻimi huahana. Ke hana nei ka waihona, ke hana ʻia nei nā kauoha, pane ka pūnaewele ma waho a pane mai nā kikowaena ʻelua a ʻaʻole kipaku ʻia ka mea hoʻohana mai ka pūnaewele ʻoiai e hoʻoponopono hou ʻia i kahi kikowaena ʻē aʻe, etc. Nui aʻe nā hui.

Eia kekahi, ʻo ka hui e pili ana i ka ʻoihana ka mea nui loa i ke poʻo o ka luna. Aia kekahi manaʻo i loko o koʻu poʻo ʻo ka mea e hana ana i ka nānā ʻana ʻo ia ka mea nāna e hoʻokomo iā zabbix a hiki iā ia ke hoʻonohonoho.

Akā i ka manawa like, ʻike ʻia ka hana ma ka hoʻokō ʻana i nā loiloi o waho, i ka hana ʻana i kahi pūʻulu o nā ʻatikala hulina hulina hulina, kahi pūʻulu o nā palapala e nānā i ka loli ʻana o ka huli ʻana i ka wā o ke kaʻina kuhikuhi, kahi pūʻulu o nā palapala e nānā i ka lawe ʻia ʻana o nā waiwai i ka lawelawe lawe, etc. a laila.

Ua make ka nānā ʻana? — Ka nānā ʻana i ke ola lōʻihi

'Ōlelo Aʻo: Ua kākau au i "kahi set of scripts" 3 manawa. ʻO ia hoʻi, ʻaʻole ʻo ka mea nāna e nānā i ka mea nāna e hoʻokomo i ka zabbix. He kanaka kēia e hoʻomaka ana i ka coding. Akā ʻaʻohe mea i loli i ka manaʻo o ka hui.

Akā ke loli nei ka honua, e lilo ana i mea paʻakikī. Hoʻohui ʻia kahi papa virtualization a me nā ʻōnaehana hou. Hoʻomaka lākou e launa pū kekahi me kekahi. ʻO wai ka mea i ʻōlelo "he ʻala e like me nā microservices?" Akā ʻo kēlā me kēia lawelawe e like me kahi pūnaewele hoʻokahi. Hiki iā mākou ke huli iā ia a hoʻomaopopo i ka hāʻawi ʻana i ka ʻike pono a hana iā ia iho. A inā he luna hoʻomalu ʻoe e komo mau ana i kahi papahana i hoʻomohala ʻia no nā makahiki 5-7-10, hōʻiliʻili kēia ʻike: ʻike ʻia kahi pae hou - ʻike ʻoe, ʻike ʻia kahi pae ʻē aʻe - ʻike ʻoe ...

Ua make ka nānā ʻana? — Ka nānā ʻana i ke ola lōʻihi

Akā ʻaʻole hiki i kekahi ke hele pū me kahi papahana no 10 mau makahiki.

Ka hoʻomau 'ana o Monitoringman

Inā paha ua hele mai ʻoe i kahi hoʻomaka hou i hoʻolimalima koke i nā mea hoʻomohala 20, kākau i nā microservices 15, a he admin ʻoe i ʻōlelo ʻia: "Kūkulu CI / CD. E ʻoluʻolu." Ua kūkulu ʻoe iā CI/CD a lohe koke ʻoe: "He mea paʻakikī iā mākou ke hana me ka hana ʻana i loko o kahi" cube, me ka maopopo ʻole pehea e hana ai ka noi i loko. E hana mākou i pahu one i loko o ka "cube" like.
Hana ʻoe i kahi pahu one ma kēia pahu. Haʻi koke lākou iā ʻoe: "Makemake mākou i kahi waihona kahua e hoʻonui ʻia i kēlā me kēia lā mai ka hana ʻana, i maopopo iā mākou e hana ana ia ma ka waihona, akā i ka manawa like ʻaʻole e hoʻopau i ka ʻikepili hana."

Noho ʻoe i kēia mau mea a pau. He 2 mau pule i koe ma mua o ka hoʻokuʻu ʻana, haʻi lākou iā ʻoe: "E nānā kākou i kēia mau mea a pau ..." ʻO ia. e nānā i ka ʻōnaehana cluster, e nānā i ka hoʻolālā microservice, e nānā i ka hana me nā lawelawe o waho...

A lawe kaʻu mau hoa hana i ka hoʻolālā maʻamau mai ko lākou poʻo a ʻōlelo: "ʻAe, ua maopopo nā mea āpau ma aneʻi! E hoʻouka i kahi polokalamu e nānā i kēia mau mea a pau. ʻAe, ʻae: Prometheus + Grafana + plugins.
A hoʻohui lākou: "He ʻelua pule kāu, e hōʻoia i ka palekana o nā mea āpau."

I ka nui o nā papahana a mākou e ʻike nei, hoʻokahi kanaka i hoʻokaʻawale ʻia no ka nānā ʻana. E noʻonoʻo e makemake mākou e hoʻolimalima i kahi kanaka e hana i ka nānā ʻana no 2 mau pule, a kākau mākou i kahi resume nona. He aha nā mākau e loaʻa i kēia kanaka, no nā mea a pau a mākou i ʻōlelo ai i kēia manawa?

  • Pono ʻo ia e hoʻomaopopo i ka nānā ʻana a me nā kikoʻī o ka hana o ka ʻoihana hao.
  • Pono ʻo ia e hoʻomaopopo i nā kikoʻī o ka nānā ʻana i nā Kubernetes (a makemake nā mea a pau e hele i ka "cube", no ka mea hiki iā ʻoe ke abstract mai nā mea āpau, hūnā, no ka mea e hana ka luna i ke koena) - ʻo ia iho, kona ʻōnaehana, a hoʻomaopopo i ka nānā ʻana i nā noi. i loko.
  • Pono ʻo ia e hoʻomaopopo i ke kamaʻilio ʻana o nā lawelawe kekahi i kekahi ma nā ala kūikawā, a ʻike i nā kikoʻī o ke ʻano o ka lawelawe ʻana o nā lawelawe me kekahi. Hiki ke ʻike i kahi papahana kahi e kamaʻilio pū ai kekahi mau lawelawe, no ka mea ʻaʻohe ala ʻē aʻe. No ka laʻana, hele ka hope ma REST, ma o gRPC i ka lawelawe catalog, loaʻa kahi papa inoa o nā huahana a hoʻihoʻi. ʻAʻole hiki iā ʻoe ke kali ma ʻaneʻi. A me nā lawelawe ʻē aʻe e hana asynchronously. Hoʻololi i ke kauoha i ka lawelawe hoʻouna, hoʻouna i kahi leka, etc.
    Ua ʻau mua paha ʻoe mai kēia mau mea a pau? A ʻo ka luna hoʻomalu, ka mea pono e nānā i kēia, ua lilo i mea huikau.
  • Pono ʻo ia e hoʻolālā a hoʻonohonoho pono - ʻoiai e ulu aʻe ka hana.
  • No laila pono ʻo ia e hana i kahi hoʻolālā mai ka lawelawe i hana ʻia i mea e hoʻomaopopo ai pehea e nānā pono ai. Pono ʻo ia i ka hoʻomaopopo ʻana i ka hoʻolālā ʻana o ka papahana a me kona hoʻomohala ʻana + kahi ʻike o nā ʻenehana i hoʻohana ʻia i ka hoʻomohala ʻana.

E hoʻomanaʻo kākou i kahi hihia maʻamau: aia kekahi mau lawelawe ma PHP, aia kekahi mau lawelawe ma Go, aia kekahi mau lawelawe ma JS. Hana pū kekahi me kekahi. ʻO kēia kahi i loaʻa mai ai ka huaʻōlelo "microservice": nui nā ʻōnaehana hoʻokahi i hiki ʻole i nā mea hoʻomohala ke hoʻomaopopo i ka papahana holoʻokoʻa. Hoʻokahi ʻāpana o ka hui e kākau i nā lawelawe ma JS e hana ana iā lākou iho a ʻaʻole ʻike i ka hana ʻana o ke koena o ka ʻōnaehana. ʻO ka ʻaoʻao ʻē aʻe e kākau i nā lawelawe ma Python a ʻaʻole keakea i ka hana ʻana o nā lawelawe ʻē aʻe; ua kaʻawale lākou i ko lākou wahi ponoʻī. ʻO ke kolu ka lawelawe kākau ʻana ma PHP a i ʻole kekahi mea ʻē aʻe.
Ua māhele ʻia kēia poʻe 20 a pau i 15 mau lawelawe, a hoʻokahi wale nō admin e hoʻomaopopo i kēia mau mea āpau. Kāohi! Māhele wale mākou i ka ʻōnaehana i 15 microservices no ka mea ʻaʻole hiki i ka poʻe 20 ke hoʻomaopopo i ka ʻōnaehana holoʻokoʻa.

Akā, pono e nānā ʻia ma kekahi ʻano ...

He aha ka hopena? ʻO ka hopena, aia hoʻokahi kanaka e hele mai me nā mea a pau ʻaʻole hiki i ka hui holoʻokoʻa ke hoʻomaopopo, a i ka manawa like pono ʻo ia e ʻike a hiki iā ia ke hana i nā mea a mākou i hōʻike ai ma luna - ʻoihana ʻenehana, ʻoihana Kubernetes, etc.

He aha kaʻu e ʻōlelo ai... ʻO Houston, pilikia mākou.

ʻO ka nānā ʻana i kahi papahana polokalamu hou he papahana polokalamu ponoʻī iā ia iho

Mai ka manaʻo wahaheʻe ʻo ka nānā ʻana he polokalamu, hoʻomohala mākou i ka manaʻoʻiʻo i nā hana mana. Akā, ʻaʻole hiki mai nā hana mana. ʻAʻole hiki iā ʻoe ke hoʻokomo i ka zabbix a manaʻo e hana nā mea āpau. ʻAʻohe kumu o ka hoʻokomo ʻana iā Grafana a me ka manaʻolana e maikaʻi nā mea a pau. E hoʻohana ʻia ka hapa nui o ka manawa ma ka hoʻonohonoho ʻana i nā loiloi o ka hana o nā lawelawe a me kā lākou launa pū ʻana me kekahi, e nānā i ka hana ʻana o nā ʻōnaehana waho. ʻO kaʻoiaʻiʻo, 90% o ka manawa e lilo ʻaʻole ma ke kākau ʻana i nā palapala, akā ma ka hoʻomohala ʻana i nā polokalamu. A pono e mālama ʻia e kahi hui i hoʻomaopopo i ka hana o ka papahana.
Inā ma kēia kūlana e hoʻolei ʻia kekahi kanaka i ka nānā ʻana, a laila hiki mai ka pōʻino. ʻO ia ka mea e hana nei ma nā wahi a pau.

No ka laʻana, aia kekahi mau lawelawe e kamaʻilio me kekahi ma o Kafka. Ua hōʻea mai ke kauoha, ua hoʻouna mākou i kahi leka e pili ana i ke kauoha iā Kafka. Aia kahi lawelawe e hoʻolohe i ka ʻike e pili ana i ke kauoha a hoʻouna i nā waiwai. Aia kahi lawelawe e hoʻolohe i ka ʻike e pili ana i ke kauoha a hoʻouna i kahi leka i ka mea hoʻohana. A laila ʻike hou ʻia nā lawelawe, a hoʻomaka mākou e huikau.

A inā hāʻawi ʻoe i kēia i ka admin a me nā mea hoʻomohala ma ke kahua i ka manawa pōkole i koe ma mua o ka hoʻokuʻu ʻana, pono ke kanaka e hoʻomaopopo i kēia protocol holoʻokoʻa. ʻO kēlā mau. ʻO kahi papahana o kēia pālākiō he nui ka manawa, a pono e helu ʻia kēia i ka hoʻomohala ʻana i ka ʻōnaehana.
Akā ʻo ka pinepine, ʻoi aku hoʻi i nā hoʻomaka, ʻike mākou i ke ʻano o ka nānā ʻana a hiki i hope. "I kēia manawa e hana mākou i kahi hōʻoia o ka manaʻo, e hoʻomaka mākou me ia, e hāʻule - ua mākaukau mākou e mōhai. A laila e nānā mākou i nā mea a pau. " Ke hoʻomaka (a inā paha) e hoʻomaka ka pāhana e loaʻa kālā, makemake ka ʻoihana e hoʻohui i nā hiʻohiʻona hou aʻe - no ka mea ua hoʻomaka ʻo ia e hana, no laila pono e ʻōwili hou ʻia! A aia ʻoe ma kahi e pono ai ʻoe e nānā i nā mea āpau ma mua, ʻaʻole ia e lawe i ka 1% o ka manawa, akā ʻoi aku ka nui. A ma ke ala, pono nā mea hoʻomohala no ka nānā ʻana, a ʻoi aku ka maʻalahi o ka ʻae iā lākou e hana i nā hiʻohiʻona hou. ʻO ka hopena, ua kākau ʻia nā hiʻohiʻona hou, ua hoʻopau ʻia nā mea āpau, a aia ʻoe i kahi paʻa pau ʻole.

No laila, pehea e nānā ai i kahi papahana e hoʻomaka ana mai ka hoʻomakaʻana, a he aha kāu e hana ai inā loaʻa iāʻoe kahi papahana e pono ke nānāʻia, akāʻaʻoleʻoe iʻike i kahi e hoʻomaka ai?

ʻO ka mea mua, pono ʻoe e hoʻolālā.

Lyrical digression: hoʻomaka pinepine lākou me ka nānā ʻana i ka ʻōnaehana. No ka laʻana, loaʻa iā mākou nā Kubernetes. E hoʻomaka kākou ma ke kau ʻana iā Prometheus me Grafana, e hoʻokomo i nā plugins no ka nānā ʻana i ka "cube". ʻAʻole wale nā ​​​​mea hoʻomohala, akā ua loaʻa i nā luna hoʻomalu ka hana pōʻino o: "E hoʻokomo mākou i kēia plugin, akā ʻike paha ka plugin pehea e hana ai." Makemake nā kānaka e hoʻomaka me ka maʻalahi a me ka pololei, ma mua o nā hana nui. A maʻalahi ka nānā ʻana i nā ʻōnaehana.

ʻO ka mea mua, e hoʻoholo i ka mea a pehea ʻoe e nānā ai, a laila koho i kahi mea hana, no ka mea ʻaʻole hiki i nā poʻe ʻē aʻe ke noʻonoʻo iā ʻoe. A pono anei? Ua noʻonoʻo nā poʻe ʻē aʻe iā lākou iho, e pili ana i kahi ʻōnaehana honua - a ʻaʻole i noʻonoʻo iki i ka wā i kākau ʻia ai kēia plugin. A no ka loaʻa ʻana o kēia plugin he 5 tausani mau mea hoʻohana, ʻaʻole ia he manaʻo he hoʻohana. Malia paha e lilo ʻoe i ka 5001st ma muli o ka 5000 poʻe ma laila ma mua.

Inā hoʻomaka ʻoe e nānā i ka ʻōnaehana a pau ka hope o kāu noi i ka pane ʻana, e nalowale nā ​​​​mea hoʻohana a pau i ka pilina me ka polokalamu kelepona. E ʻike ʻia kahi hewa. E hele mai lākou iā ʻoe a ʻōlelo "ʻAʻole hana ka noi, he aha kāu hana ma ʻaneʻi?" - "Ke nānā nei mākou." — "Pehea ʻoe e nānā ai inā ʻaʻole ʻoe e ʻike ʻaʻole hana ka noi?!"

  1. Manaʻo wau pono ʻoe e hoʻomaka i ka nānā pono mai ka wahi komo o ka mea hoʻohana. Inā ʻaʻole ʻike ka mea hoʻohana i ka hana ʻana o ka noi, ʻo ia, he hemahema. A pono e ʻōlelo mua ka ʻōnaehana nānā e pili ana i kēia.
  2. A laila hiki iā mākou ke nānā i ka ʻōnaehana. A i ʻole e hana like. ʻOi aku ka maʻalahi me ka ʻoihana - eia hiki iā mākou ke hoʻokomo i ka zabbix.
  3. A i kēia manawa pono ʻoe e hele i ke kumu o ka noi e hoʻomaopopo i kahi e hana ʻole ai nā mea.

ʻO koʻu manaʻo nui ʻo ka nānā ʻana e hele like me ke kaʻina hana hoʻomohala. Inā hoʻohuli ʻoe i ka hui kiaʻi no nā hana ʻē aʻe (ka hana ʻana i ka CI/CD, sandboxing, hoʻonohonoho hou ʻana i nā ʻōnaehana), e hoʻomaka ana ka nānā ʻana a ʻaʻole hiki iā ʻoe ke loaʻa i ka hoʻomohala ʻana (a i ʻole e hoʻōki ʻoe iā ia).

ʻO nā mea a pau ma nā pae

ʻO kēia kaʻu e ʻike ai i ka hoʻonohonoho ʻana o kahi ʻōnaehana nānā.

1) pae noi:

  • ka nānā ʻana i ka loiloi pāʻoihana noi;
  • ka nānā ʻana i nā ana olakino o nā lawelawe;
  • nānā hoʻohui.

2) pae hoʻolālā:

  • ka nānā ʻana i ka pae orchestration;
  • ka nānā ʻana i nā polokalamu ʻōnaehana;
  • ka nānā ʻana i ka pae hao.

3) Eia hou ka pae noi - akā ma ke ʻano he huahana ʻenekinia:

  • ʻohi a nānā i nā moʻolelo noi;
  • APM;
  • ka ʻimi ʻana.

4) Makaala:

  • hoʻonohonoho ʻana i kahi ʻōnaehana hoʻolaha;
  • hoʻonohonoho ʻana i kahi ʻōnaehana hana;
  • ka hoʻonohonoho ʻana i kahi "kumu ʻike" a me ke kaʻina hana no ka hoʻoili ʻana i nā hanana.

nui: hiki mākou i ka makaʻala ʻaʻole ma hope, akā koke koke! ʻAʻohe pono e hoʻomaka i ka nānā ʻana a "ma hope" e ʻike i ka mea e loaʻa nā mākaʻikaʻi. Ma hope o nā mea a pau, he aha ka hana o ka nānā ʻana: e hoʻomaopopo i kahi o ka ʻōnaehana e hana hewa ana, a e ʻike i ka poʻe kūpono. Inā haʻalele ʻoe i kēia a hiki i ka hopena, a laila ʻike ka poʻe kūpono e hele hewa ana kekahi mea ma ke kāhea ʻana "ʻaʻohe mea e hana ana no mākou."

Layer Application - Nānā Logic Pāʻoihana

Eia mākou e kamaʻilio e pili ana i ka nānā ʻana i ka ʻoiaʻiʻo e hana ana ka noi no ka mea hoʻohana.

Pono e hana ʻia kēia pae i ka wā o ka hoʻomohala ʻana. No ka laʻana, loaʻa iā mākou kahi Prometheus kūlana: hele ʻo ia i ka server nāna e nānā, huki i ka hopena, a hele ka hopena a nānā i ka API.

Ke noi pinepine ʻia e nānā i ka ʻaoʻao home e hōʻoia i ka hana ʻana o ka pūnaewele, hāʻawi nā mea papahana i kahi lima hiki ke huki ʻia i kēlā me kēia manawa pono lākou e hōʻoia i ka hana ʻana o ka API. A ʻo nā mea polokalamu polokalamu i kēia manawa e lawe a kākau i /api/test/helloworld
ʻO ke ala wale nō e hōʻoia i ka holo ʻana o nā mea āpau? - ʻAʻole!

  • ʻO ka hana ʻana i ia mau loiloi ka hana nui a nā mea hoʻomohala. Pono e kākau ʻia nā hoʻāʻo ʻāpana e nā mea papahana nāna i kākau i ke code. No ka mea inā ʻoe e hoʻokuʻu iā ia i ke alakaʻi, "E ka hoa, eia kahi papa inoa o nā protocols API no nā hana 25 āpau, e ʻoluʻolu e nānā i nā mea āpau!" - ʻaʻohe mea e hana.
  • Inā paʻi ʻoe i ka "hello world", ʻaʻohe mea e ʻike he pono a hana ka API. Pono kēlā me kēia hoʻololi API e hoʻololi i nā loiloi.
  • Inā loaʻa iā ʻoe kahi pilikia, e kāpae i nā hiʻohiʻona a hoʻokaʻawale i nā mea hoʻomohala nāna e kākau i kēia mau loiloi, a i ʻole e ʻae i nā poho, e ʻae ʻaʻohe mea i nānā ʻia a hāʻule.

Manaʻo ʻenehana:

  • Pono e hoʻonohonoho i kahi kikowaena waho e hoʻonohonoho i nā loiloi - pono ʻoe e hōʻoia i hiki ke loaʻa kāu papahana i ka honua o waho.
  • E hoʻonohonoho i nā mākaʻikaʻi ma ka protocol API holoʻokoʻa, ʻaʻole i nā helu hoʻokahi wale nō.
  • E hana i kahi prometheus-endpoint me nā hopena hōʻike.

Papa noi - kiaʻi ʻana i nā metric olakino

I kēia manawa ke kamaʻilio nei mākou e pili ana i nā metric olakino o waho o nā lawelawe.

Ua hoʻoholo mākou e nānā mākou i nā "lima" āpau o ka noi me ka hoʻohana ʻana i nā loiloi waho, a mākou e kāhea nei mai kahi ʻōnaehana nānā waho. Akā ʻo kēia nā "lima" i ʻike ʻia e ka mea hoʻohana. Makemake mākou e hōʻoia i kā mākou lawelawe ponoʻī. Aia kekahi moʻolelo maikaʻi aʻe ma ʻaneʻi: Loaʻa nā K8s i nā loiloi olakino, i hiki ai i ka "cube" ke hōʻoiaʻiʻo e hana ana ka lawelawe. Akā ʻo ka hapalua o nā loiloi aʻu i ʻike ai he paʻi like ia "hello world". ʻO kēlā mau. No laila huki ʻo ia i hoʻokahi manawa ma hope o ke kau ʻana, pane ʻo ia ua maikaʻi nā mea āpau - ʻo ia wale nō. A ʻo ka lawelawe, inā hāʻawi ʻo ia i kāna API ponoʻī, he nui nā helu komo no kēlā API like, pono nō hoʻi e nānā ʻia, no ka mea makemake mākou e ʻike i ka hana. A ke nānā nei mākou i loko.

Pehea e hoʻokō pono ai i kēia me ka ʻenehana: hōʻike kēlā me kēia lawelawe i kahi hopena e pili ana i kāna hana o kēia manawa, a ma nā kiʻi o Grafana (a i ʻole kekahi noi ʻē aʻe) ʻike mākou i ke kūlana o nā lawelawe āpau.

  • Pono kēlā me kēia hoʻololi API e hoʻololi i nā loiloi.
  • E hana koke i kahi lawelawe hou me nā ana olakino.
  • Hiki i kahi luna ke hele mai i nā mea hoʻomohala a nīnau "e hoʻohui iaʻu i ʻelua mau hiʻohiʻona i maopopo iaʻu nā mea āpau a hoʻohui i ka ʻike e pili ana i kēia i kaʻu ʻōnaehana nānā." Akā, pane pinepine nā mea hoʻomohala, "ʻAʻole mākou e hoʻohui i kekahi mea i ʻelua pule ma mua o ka hoʻokuʻu ʻana."
    E ʻike nā luna hoʻomohala e loaʻa ana ia mau poho, e ʻike pū i ka hoʻokele o nā luna hoʻomohala. No ka mea i ka wā e hāʻule ai nā mea āpau, e kāhea kekahi a koi e nānā i ka "lawelawe hāʻule mau" (c)
  • Ma ke ala, e hoʻokaʻawale i nā mea hoʻomohala e kākau i nā plugins no Grafana - he kōkua maikaʻi kēia no nā admin.

Lapa noi - Hoʻohui ʻia ka nānā ʻana

Hoʻopili ka nānā ʻana i ka hoʻohui ʻana i ka nānā ʻana i nā kamaʻilio ma waena o nā ʻōnaehana koʻikoʻi ʻoihana.

Eia kekahi laʻana, aia nā lawelawe 15 e kamaʻilio me kekahi. ʻAʻole kēia mau pūnaewele kaʻawale. ʻO kēlā mau. ʻAʻole hiki iā mākou ke huki i ka lawelawe ma kāna iho, loaʻa /helloworld a hoʻomaopopo i ka holo ʻana o ka lawelawe. No ka mea pono e hoʻouna ka lawelawe pūnaewele kauoha i ka ʻike e pili ana i ke kauoha i ke kaʻa - mai ke kaʻa, pono e loaʻa i ka lawelawe hale kūʻai kēia leka a hana pū me ia. A pono ka lawelawe leka uila e hoʻoponopono i kēia ma kahi ʻē aʻe, etc.

No laila, ʻaʻole hiki iā mākou ke hoʻomaopopo, ʻo ka poʻe ʻana i kēlā me kēia lawelawe pilikino, ua hana nā mea āpau. No ka mea, loaʻa iā mākou kekahi kaʻa kaʻa e kamaʻilio ai nā mea a pau.
No laila, pono e hōʻailona kēia pae i ka pae o nā lawelawe hoʻāʻo no ka launa pū ʻana me nā lawelawe ʻē aʻe. ʻAʻole hiki ke hoʻonohonoho i ka nānā ʻana i ke kamaʻilio ʻana ma o ka nānā ʻana i ka mea hoʻolaha leka. Inā loaʻa kahi lawelawe e hoʻopuka ana i ka ʻikepili a me kahi lawelawe i loaʻa iā ia, i ka nānā ʻana i ka mea hoʻolimalima e ʻike wale mākou i ka ʻikepili e lele ana mai kēlā ʻaoʻao a i kēia ʻaoʻao. ʻOiai inā hiki iā mākou ke nānā i ka pilina o kēia ʻikepili i loko - ua hoʻopuka kekahi mea hana i ka ʻikepili, heluhelu kekahi iā ia, e hoʻomau ana kēia kahe i Kafka - ʻaʻole naʻe e hāʻawi iā mākou i ka ʻike inā hoʻouna kekahi lawelawe i ka leka i hoʻokahi mana. , akā, ʻaʻole i manaʻo ka lawelawe ʻē aʻe i kēia mana a lele ʻole. ʻAʻole mākou e ʻike e pili ana i kēia, no ka mea e haʻi mai nā lawelawe iā mākou e hana ana nā mea a pau.

ʻO kaʻu e paipai nei e hana:

  • No ke kamaʻilio synchronous: hana ka hopena i nā noi i nā lawelawe pili. ʻO kēlā mau. Lawe mākou i kēia hopena, huki i kahi palapala i loko o ka lawelawe, e hele ana i nā helu āpau a ʻōlelo "Hiki iaʻu ke huki i laila, a huki i laila, hiki iaʻu ke huki i laila ..."
  • No ke kamaʻilio asynchronous: nā memo e hiki mai ana - nānā ka hopena i ke kaʻa no nā leka hoʻāʻo a hōʻike i ke kūlana hana.
  • No ke kamaʻilio asynchronous: nā memo i waho - hoʻouna ka hopena i nā leka hoʻāʻo i ke kaʻa.

E like me ka mea maʻamau: loaʻa iā mākou kahi lawelawe e hoʻolei i ka ʻikepili i ke kaʻa. Hele mākou i kēia lawelawe a noi iā ʻoe e haʻi iā mākou e pili ana i kona olakino hoʻohui. A inā pono ka lawelawe e hoʻopuka i kahi memo ma kahi ʻē aʻe (WebApp), a laila e hoʻopuka i kēia leka hoʻāʻo. A inā mākou e holo i kahi lawelawe ma ka ʻaoʻao OrderProcessing, hoʻopuka mua ʻo ia i ka mea hiki iā ia ke kau kūʻokoʻa, a inā aia kekahi mau mea hilinaʻi, a laila heluhelu ia i kahi pūʻulu o nā leka hoʻāʻo mai ke kaʻa, hoʻomaopopo hiki iā ia ke hana iā lākou, hōʻike a , inā pono, e hoʻouna hou aku iā lākou, a e pili ana i kēia - ua maikaʻi nā mea a pau, ke ola nei au.

Lohe pinepine mākou i ka nīnau "pehea e hiki ai iā mākou ke hoʻāʻo i kēia ma ka ʻikepili kaua?" Eia kekahi laʻana, ke kamaʻilio nei mākou e pili ana i ka lawelawe kauoha like. Hoʻouna ke kauoha i nā leka i ka hale kūʻai kahi i kākau ʻia ai nā waiwai: ʻaʻole hiki iā mākou ke hoʻāʻo i kēia ma ka ʻikepili kaua, no ka mea "e pau kaʻu mau waiwai!" Pane: E hoʻolālā i kēia hoʻokolohua holoʻokoʻa ma ka hoʻomaka. Loaʻa iā ʻoe nā hoʻokolohua ʻāpana e hana hoʻomāʻewaʻewa. No laila, e hana i kahi pae hohonu kahi āu i loaʻa ai kahi ala kamaʻilio e hōʻino ʻole i ka hana o ka ʻoihana.

pae hoʻolālā

ʻO ka nānā ʻana i nā ʻoihana kahi mea i manaʻo ʻia he nānā ʻana iā ia iho.

  • Hiki a pono ke hoʻomaka ʻia ka nānā ʻana i nā ʻoihana ma ke ʻano he kaʻina kaʻawale.
  • ʻAʻole pono ʻoe e hoʻomaka me ka nānā ʻana i nā ʻōnaehana ma kahi papahana holo, ʻoiai inā makemake ʻoe. He ʻeha kēia no nā devops a pau. "E nānā mua wau i ka pūʻulu, e nānā au i ka ʻōnaehana" - i.e. ʻO ka mea mua, e nānā ʻo ia i ka mea e waiho nei ma lalo, akā ʻaʻole ia e hele i ka noi. No ka mea he mea hiki ʻole ke hoʻomaopopo ʻia ka noi no nā devops. Ua hoʻokuʻu ʻia iā ia, a ʻaʻole maopopo ʻo ia i ka hana ʻana. A hoʻomaopopo ʻo ia i ka ʻōnaehana a hoʻomaka me ia. Akā ʻaʻole - pono ʻoe e nānā mua i ka noi.
  • Mai hoʻonui i ka nui o nā leka. Ke noʻonoʻo nei i ka paʻakikī o nā ʻōnaehana hou, lele mau nā mākaʻikaʻi, a pono ʻoe e noho me kēia pūʻulu o nā makaʻala. A ʻo ka mea kelepona, i ka nānā ʻana i hoʻokahi haneli o nā leka e hiki mai ana, e hoʻoholo "ʻAʻole wau makemake e noʻonoʻo e pili ana." Pono e haʻi aku nā mākaʻikaʻi e pili ana i nā mea koʻikoʻi.

Ka pae noi ma ke ʻano he ʻoihana ʻoihana

Nā helu nui:

  • ELK. ʻO kēia ke kūlanaʻoihana. Inā no kekahi kumu ʻaʻole ʻoe e hōʻuluʻulu i nā lāʻau, e hoʻomaka e hana koke.
  • APM. ʻO nā APM waho ke ala e pani koke ai i ka nānā ʻana i ka noi (NewRelic, BlackFire, Datadog). Hiki iā ʻoe ke hoʻokomo i kēia mea no ka manawa pōkole e hoʻomaopopo i ka mea e hana nei me ʻoe.
  • Ka ʻimi ʻana. I ka nui o nā microservices, pono ʻoe e ʻimi i nā mea āpau, no ka mea, ʻaʻole ola ka noi iā ia iho. He paʻakikī loa ka hoʻohui ʻana ma hope, no laila ʻoi aku ka maikaʻi o ka hoʻonohonoho koke ʻana i ka hoʻomohala ʻana - ʻo ia ka hana a me ka pono o nā mea hoʻomohala. Inā ʻaʻole ʻoe i hoʻokō, e hoʻokō! E ʻike iā Jaeger/Zipkin

Alakai

  • Ka hoʻonohonoho ʻana o kahi ʻōnaehana hoʻolaha: i nā kūlana o ka nānā ʻana i kahi hui o nā mea, pono e loaʻa kahi ʻōnaehana hui no ka hoʻouna ʻana i nā leka. Hiki iā ʻoe ma Grafana. Ma ke Komohana, hoʻohana nā mea a pau iā PagerDuty. Pono e akaka nā mākaʻikaʻi (e laʻa, no hea lākou i hele mai ai...). A he mea pono e hoʻomalu i ka loaʻa ʻana o nā leka hoʻomaopopo
  • ʻO ka hoʻonohonoho ʻana i kahi ʻōnaehana hana: ʻaʻole pono e hoʻouna ʻia nā mākaʻikaʻi i kēlā me kēia kanaka (a i ʻole e pane nā mea a pau i ka lehulehu, a i ʻole kekahi e pane). Pono nā mea hoʻomohala e oncall: e hōʻoia e wehewehe i nā wahi o ke kuleana, e hana i nā ʻōlelo aʻoaʻo a kākau i loko o ka mea e kāhea pono i ka Pōʻakahi a me ka Pōʻakolu, a ʻo wai e kāhea i ka Pōʻalua a me ka Pōʻalima (i ʻole, ʻaʻole lākou e kāhea i kekahi a i ka pilikia nui - makaʻu lākou e hoʻāla iā ʻoe a hoʻopilikia paha: ʻaʻole makemake ka poʻe e kāhea a hoʻāla i nā poʻe ʻē aʻe, ʻoi aku ka pō). A wehewehe ʻo ka noi ʻana i ke kōkua ʻaʻole ia he hōʻailona o ka hiki ʻole ("Noi au i ke kōkua, ʻo ia hoʻi he kanaka hana ʻino wau"), paipai i nā noi no ke kōkua.
  • ʻO ka hoʻonohonoho ʻana i kahi "kumu ʻike" a me ke kaʻina hana no ka hoʻoponopono hanana: no kēlā me kēia hanana koʻikoʻi, pono e hoʻolālā ʻia kahi post-mortem, a ma ke ʻano he manawa pōkole, pono e hoʻopaʻa ʻia nā hana e hoʻoholo ai i ka hanana. A e hoʻomaʻamaʻa i ka hoʻomaopopo pinepine ʻana he hewa ia; pono lākou e hoʻopaʻa ʻia ma ke code a i ʻole ka hana ʻoihana.

Puʻu ʻenehana

E noʻonoʻo kākou penei kā mākou waihona:

  • hōʻiliʻili ʻikepili - Prometheus + Grafana;
  • kālai lāʻau - ELK;
  • no APM a i ʻole Tracing - Jaeger (Zipkin).

Ua make ka nānā ʻana? — Ka nānā ʻana i ke ola lōʻihi

ʻAʻole koʻikoʻi ka koho o nā koho. No ka mea inā i ka hoʻomaka ʻana ua maopopo ʻoe i ka nānā ʻana i ka ʻōnaehana a kākau i kahi hoʻolālā, a laila hoʻomaka ʻoe e koho i nā mea hana e kūpono i kāu mau koi. ʻO ka nīnau ka mea āu i koho ai e nānā ma kahi mua. No ka mea, ʻaʻole kūpono paha ka hāmeʻa āu i koho ai i ka hoʻomaka ʻana i kāu mau koi.

ʻO kekahi mau mea ʻenehana aʻu i ʻike ai ma nā wahi āpau i kēia mau lā:

Ke koi ʻia nei ʻo Prometheus i loko o Kubernetes - ʻo wai ka mea i hoʻopuka mai i kēia?! Inā hāʻule kāu pūpū, he aha kāu e hana ai? Inā loaʻa iā ʻoe kahi pūʻulu paʻakikī i loko, pono e loaʻa kekahi ʻano o ka ʻōnaehana nānā i loko o ka pūʻulu, a ʻo kekahi ma waho, e hōʻiliʻili i ka ʻikepili mai loko mai o ka pūʻulu.

I loko o ka hui e hōʻiliʻili mākou i nā lāʻau a me nā mea ʻē aʻe. Akā ʻo ka ʻōnaehana nānā pono ma waho. ʻO ka pinepine, i loko o kahi hui kahi i hoʻokomo ʻia ai ʻo Promtheus i loko, aia kekahi mau ʻōnaehana e hana i nā loiloi waho o ka hana o ka pūnaewele. He aha inā inā ua hāʻule kāu mau pilina me ka honua o waho a ʻaʻole hana ka noi? ʻIke ʻia ua maikaʻi nā mea a pau i loko, akā ʻaʻole ia e maʻalahi i nā mea hoʻohana.

haʻina

  • ʻO ka nānā ʻana i ka hoʻomohala ʻana ʻaʻole ia ka hoʻokomo ʻana i nā pono hana, akā ʻo ka hoʻomohala ʻana i kahi huahana polokalamu. ʻO 98% o ka nānā ʻana i kēia lā he coding. Hoʻopili i nā lawelawe, hoʻopili i nā loiloi waho, nānā i nā lawelawe o waho, a ʻo ia wale nō.
  • Mai hoʻonele i ka manawa o kāu mea hoʻomohala i ka nānā ʻana: hiki ke lawe i ka 30% o kā lākou hana, akā pono ia.
  • E nā Devops, mai hopohopo ʻaʻole hiki iā ʻoe ke nānā i kekahi mea, no ka mea, ʻokoʻa loa kekahi mau mea. ʻAʻole ʻoe he polokalamu, a ʻo ka nānā ʻana i ka hana ʻo ia kā lākou hana.
  • Inā holo ka papahana a ʻaʻole nānā ʻia (a he luna ʻoe), e hoʻokaʻawale i nā kumuwaiwai no ka nānā ʻana.
  • Inā hoʻomaka ka huahana, a he devops ʻoe i ʻōlelo ʻia e "hoʻonohonoho i ka nānā ʻana" - e hoʻāʻo e wehewehe i ka hoʻokele i kaʻu mea i kākau ai i kēia mau mea āpau.

He mana lōʻihi kēia o ka hōʻike ma ka hālāwai kūkā o Saint Highload++.

Inā makemake ʻoe i kaʻu mau manaʻo a me kaʻu mau manaʻo ma ia mea a me nā kumuhana pili, a laila hiki iā ʻoe ke heluhelu i ke kanal 🙂

Source: www.habr.com

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