แƒ’แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒ Yandex.Cloud-แƒจแƒ˜ Grafana-แƒก แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—

แฒกแƒแƒšแƒแƒ›แƒ˜ แƒงแƒ•แƒ”แƒšแƒแƒก! แƒ แƒแƒ’แƒแƒ แƒช แƒฉแƒ”แƒ›แƒ˜ แƒ™แƒฃแƒ แƒกแƒ˜แƒก แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒก แƒœแƒแƒฌแƒ˜แƒšแƒ˜, แƒ›แƒ” แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒ™แƒ•แƒšแƒ˜แƒ” แƒ˜แƒกแƒ”แƒ—แƒ˜ แƒจแƒ˜แƒ“แƒ แƒฆแƒ แƒฃแƒ‘แƒšแƒแƒ•แƒแƒœแƒ˜ แƒžแƒšแƒแƒขแƒคแƒแƒ แƒ›แƒ˜แƒก แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ Yandex.Cloud. แƒžแƒšแƒแƒขแƒคแƒแƒ แƒ›แƒ แƒ’แƒ—แƒแƒ•แƒแƒ–แƒแƒ‘แƒ— แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒก แƒžแƒ แƒแƒฅแƒขแƒ˜แƒ™แƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ“แƒแƒกแƒแƒญแƒ แƒ”แƒšแƒแƒ“. แƒ—แƒฃแƒ›แƒชแƒ, แƒ–แƒแƒ’แƒฏแƒ”แƒ  แƒ’แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒแƒ— แƒกแƒแƒ™แƒฃแƒ—แƒแƒ แƒ˜ แƒฆแƒ แƒฃแƒ‘แƒšแƒแƒ•แƒแƒœแƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒแƒ› แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ–แƒ” แƒ“แƒแƒคแƒฃแƒซแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒแƒ™แƒ›แƒแƒแƒ“ แƒ•แƒ แƒชแƒ”แƒšแƒ˜ แƒ˜แƒœแƒคแƒ แƒแƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ˜แƒ—. แƒแƒ› แƒกแƒขแƒแƒขแƒ˜แƒแƒจแƒ˜ แƒ›แƒ˜แƒœแƒ“แƒ แƒ’แƒแƒ’แƒ˜แƒ–แƒ˜แƒแƒ แƒแƒ— แƒฉแƒ”แƒ›แƒ˜ แƒ’แƒแƒ›แƒแƒชแƒ“แƒ˜แƒšแƒ”แƒ‘แƒ แƒแƒกแƒ”แƒ—แƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘.

แƒ’แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒ Yandex.Cloud-แƒจแƒ˜ Grafana-แƒก แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—

แƒ แƒ˜แƒกแƒ˜ แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒ แƒ’แƒกแƒฃแƒ แƒ—?

แƒ’แƒ แƒแƒคแƒแƒœแƒ โ€” แƒ›แƒซแƒšแƒแƒ•แƒ แƒ˜ แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒ˜ แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ แƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒแƒœแƒแƒšแƒ˜แƒขแƒ˜แƒ™แƒฃแƒ แƒ˜ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ“แƒแƒกแƒแƒญแƒ แƒ”แƒšแƒแƒ“ แƒแƒœ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒœแƒ˜แƒขแƒแƒ แƒ˜แƒœแƒ’แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒ›แƒ˜แƒกแƒ˜ แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒ—, แƒ”แƒก แƒแƒ แƒ˜แƒก แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒแƒœแƒฅแƒแƒœแƒ Grafana แƒ•แƒ”แƒ‘ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒ—, แƒแƒกแƒ”แƒ•แƒ” แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ (ClickHouse, InfluxDB แƒ“แƒ แƒ.แƒจ.) แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒœแƒแƒ™แƒ แƒ”แƒ‘แƒ˜แƒ—, แƒ แƒแƒ›แƒ”แƒšแƒ–แƒ”แƒช แƒ“แƒแƒคแƒฃแƒซแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒแƒœแƒแƒšแƒ˜แƒขแƒ˜แƒ™แƒ.

แƒ•แƒ”แƒ‘ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒ— แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒแƒœแƒฅแƒแƒœแƒ˜แƒก แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ’แƒแƒ“แƒแƒฎแƒ•แƒ˜แƒ“แƒ”แƒ— แƒ›แƒ˜แƒก แƒฐแƒแƒกแƒขแƒจแƒ˜ แƒ“แƒ แƒ›แƒ˜แƒ˜แƒฆแƒแƒ— แƒšแƒแƒ›แƒแƒ–แƒ˜ แƒ˜แƒœแƒขแƒ”แƒ แƒคแƒ”แƒ˜แƒกแƒ˜, แƒ›แƒ˜แƒฃแƒ—แƒ˜แƒ—แƒแƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ”แƒ‘แƒ˜, แƒ แƒแƒ’แƒแƒ แƒช แƒฌแƒงแƒแƒ แƒแƒ”แƒ‘แƒ˜ แƒจแƒ”แƒ›แƒ“แƒ’แƒแƒ›แƒ˜ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒจแƒ”แƒฅแƒ›แƒœแƒแƒ— แƒ“แƒแƒคแƒ”แƒ‘แƒ˜ แƒ“แƒ แƒ’แƒ แƒแƒคแƒ˜แƒ™แƒ”แƒ‘แƒ˜.

แƒ’แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒ Yandex.Cloud-แƒจแƒ˜ Grafana-แƒก แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—

แƒกแƒแƒ‘แƒแƒ–แƒ˜แƒกแƒ แƒ•แƒ”แƒ แƒกแƒ˜แƒแƒก แƒแƒฅแƒ•แƒก แƒ”แƒ แƒ—แƒ˜ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒแƒœแƒ˜ แƒœแƒแƒ™แƒšแƒ˜ - แƒ˜แƒก แƒกแƒแƒ”แƒ แƒ—แƒแƒ“ แƒแƒ  แƒแƒ แƒ˜แƒก แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ˜แƒก แƒจแƒ”แƒ›แƒฌแƒงแƒœแƒแƒ แƒ”แƒ‘แƒšแƒแƒ‘แƒ. แƒแƒœแƒฃ, แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ›แƒ—แƒ”แƒšแƒ˜ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒœแƒ˜แƒ แƒ”แƒ‘แƒ แƒ“แƒแƒ›แƒแƒ™แƒ˜แƒ“แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ”แƒ แƒ—แƒ˜ แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒแƒœแƒฅแƒแƒœแƒ˜แƒก แƒกแƒ˜แƒชแƒแƒชแƒฎแƒšแƒ˜แƒกแƒฃแƒœแƒแƒ แƒ˜แƒแƒœแƒแƒ‘แƒแƒ–แƒ”. แƒ—แƒฃ แƒ˜แƒก แƒฃแƒแƒ แƒก แƒ˜แƒขแƒงแƒ•แƒ˜แƒก แƒแƒœ 10 แƒแƒ“แƒแƒ›แƒ˜แƒแƒœแƒ˜ แƒ’แƒแƒฎแƒกแƒœแƒ˜แƒก แƒ˜แƒœแƒขแƒ”แƒ แƒคแƒ”แƒ˜แƒกแƒก แƒ”แƒ แƒ—แƒ“แƒ แƒแƒฃแƒšแƒแƒ“, แƒ›แƒแƒจแƒ˜แƒœ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒฌแƒแƒ แƒ›แƒแƒ˜แƒฅแƒ›แƒœแƒ”แƒ‘แƒ.

แƒ›แƒแƒ—แƒ˜ แƒ›แƒแƒ’แƒ•แƒแƒ แƒ”แƒ‘แƒ แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜แƒ: แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒฃแƒœแƒ“แƒ... แƒ’แƒแƒœแƒแƒ—แƒแƒ•แƒกแƒแƒ— แƒ›แƒ แƒแƒ•แƒแƒšแƒ˜ แƒ˜แƒ“แƒ”แƒœแƒขแƒฃแƒ แƒ˜ แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒแƒœแƒฅแƒแƒœแƒ แƒ•แƒ”แƒ‘ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ—แƒแƒœ แƒ“แƒ แƒ›แƒแƒแƒ—แƒแƒ•แƒกแƒแƒ— แƒ˜แƒกแƒ˜แƒœแƒ˜ L3 แƒ‘แƒแƒšแƒแƒœแƒกแƒ”แƒ แƒ˜แƒก แƒฅแƒ•แƒ”แƒจ. แƒ›แƒแƒ’แƒ แƒแƒ› แƒแƒฅ แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒแƒกแƒ” แƒœแƒแƒ—แƒ”แƒšแƒ˜ แƒแƒ  แƒแƒ แƒ˜แƒก. Grafana แƒ˜แƒœแƒแƒฎแƒแƒ•แƒก แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ”แƒ‘แƒก (แƒ‘แƒ˜แƒšแƒ˜แƒ™แƒ”แƒ‘แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ”แƒ‘แƒ˜แƒกแƒ™แƒ”แƒœ, แƒ“แƒแƒคแƒ”แƒ‘แƒ˜, แƒ’แƒ แƒแƒคแƒ˜แƒ™แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒ.แƒจ.) แƒžแƒ˜แƒ แƒ“แƒแƒžแƒ˜แƒ  แƒ›แƒ˜แƒกแƒ˜ แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒแƒœแƒฅแƒแƒœแƒ˜แƒก แƒ“แƒ˜แƒกแƒ™แƒ–แƒ”. แƒแƒ›แƒ แƒ˜แƒ’แƒแƒ“, แƒ—แƒฃ แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ•แƒชแƒ•แƒšแƒ˜แƒ— แƒ–แƒแƒ’แƒ˜แƒ”แƒ แƒ— แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒก UI-แƒจแƒ˜, แƒ”แƒก แƒชแƒ•แƒšแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜ แƒแƒ˜แƒกแƒแƒฎแƒ”แƒ‘แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ  แƒ›แƒแƒœแƒฅแƒแƒœแƒแƒ–แƒ”, แƒกแƒแƒ“แƒแƒช แƒ‘แƒแƒšแƒแƒœแƒกแƒ”แƒ แƒ˜ แƒ’แƒแƒ›แƒแƒ’แƒ•แƒ˜แƒ’แƒ–แƒแƒ•แƒœแƒ. แƒ”แƒก แƒ’แƒแƒ›แƒแƒ˜แƒฌแƒ•แƒ”แƒ•แƒก แƒฉแƒ•แƒ”แƒœแƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒแƒ แƒแƒ—แƒแƒœแƒ›แƒ˜แƒ›แƒ“แƒ”แƒ•แƒ แƒฃแƒš แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ”แƒ‘แƒก, แƒ แƒแƒช แƒ’แƒแƒ›แƒแƒ˜แƒฌแƒ•แƒ”แƒ•แƒก แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒก แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒแƒกแƒ แƒ“แƒ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒแƒกแƒ—แƒแƒœ แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒ—.

แƒแƒฅ แƒกแƒฎแƒ•แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ แƒ›แƒแƒ•แƒ แƒกแƒแƒ›แƒแƒจแƒ•แƒ”แƒšแƒแƒจแƒ˜, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, MySQL แƒแƒœ แƒ›แƒ˜แƒกแƒ˜ แƒ”แƒฅแƒ•แƒ˜แƒ•แƒแƒšแƒ”แƒœแƒขแƒ˜. แƒฉแƒ•แƒ”แƒœ แƒ•แƒ”แƒฃแƒ‘แƒœแƒ”แƒ‘แƒ˜แƒ— แƒ’แƒ แƒแƒคแƒแƒœแƒแƒก, แƒ แƒแƒ› แƒ›แƒแƒœ แƒฃแƒœแƒ“แƒ แƒจแƒ”แƒ˜แƒœแƒแƒฎแƒแƒก แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ”แƒ‘แƒ˜ แƒแƒ› โ€žแƒกแƒแƒ—แƒแƒ“แƒแƒ แƒ˜แƒ’แƒโ€œ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒแƒจแƒ˜. แƒแƒ›แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒกแƒแƒ™แƒ›แƒแƒ แƒ˜แƒกแƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒš แƒ›แƒแƒœแƒฅแƒแƒœแƒแƒ–แƒ” แƒ”แƒ แƒ—แƒฎแƒ”แƒš แƒ›แƒ˜แƒฃแƒ—แƒ˜แƒ—แƒแƒ— แƒแƒ› แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก แƒ’แƒ–แƒ แƒ“แƒ แƒจแƒ”แƒชแƒ•แƒแƒšแƒแƒ— แƒงแƒ•แƒ”แƒšแƒ แƒกแƒฎแƒ•แƒ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ˜ แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒ›แƒ” แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ  แƒ›แƒแƒœแƒฅแƒแƒœแƒแƒ–แƒ”; แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒ’แƒแƒ•แƒ แƒชแƒ”แƒšแƒ“แƒ”แƒ‘แƒ แƒกแƒฎแƒ•แƒ”แƒ‘แƒ–แƒ”.

แƒแƒฅ แƒแƒ แƒ˜แƒก แƒกแƒแƒ‘แƒแƒšแƒแƒ แƒ’แƒแƒœแƒแƒชแƒฎแƒแƒ“แƒ˜แƒก แƒ˜แƒœแƒคแƒ แƒแƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ˜แƒก แƒ“แƒ˜แƒแƒ’แƒ แƒแƒ›แƒ:

แƒ’แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒ Yandex.Cloud-แƒจแƒ˜ Grafana-แƒก แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—

แƒ•แƒ˜แƒกแƒฌแƒแƒ•แƒšแƒแƒ— แƒฎแƒ”แƒšแƒ˜แƒ— แƒแƒฌแƒ”แƒ•แƒ

MySQL แƒ“แƒ ClickHouse

แƒฆแƒ˜แƒšแƒแƒ™แƒ–แƒ” แƒ“แƒแƒฌแƒ™แƒแƒžแƒฃแƒœแƒ”แƒ‘แƒ˜แƒ— แƒแƒกแƒ”แƒ—แƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ’แƒแƒœแƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒแƒ›แƒ“แƒ” แƒกแƒแƒญแƒ˜แƒ แƒ แƒ˜แƒงแƒ แƒ˜แƒ›แƒ˜แƒก แƒ’แƒแƒ’แƒ”แƒ‘แƒ, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ  แƒฃแƒœแƒ“แƒ แƒ“แƒแƒ›แƒฃแƒจแƒแƒ•แƒ“แƒ”แƒก แƒ›แƒ˜แƒกแƒ˜ แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒ™แƒแƒ›แƒžแƒแƒœแƒ”แƒœแƒขแƒ˜ แƒ“แƒ แƒ˜แƒœแƒขแƒ”แƒ’แƒ แƒ˜แƒ แƒ“แƒ”แƒก แƒ”แƒ แƒ—แƒ›แƒแƒœแƒ”แƒ—แƒ—แƒแƒœ.

แƒแƒฅ แƒ“แƒแƒ’แƒ•แƒ”แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ Yandex.Cloud, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ’แƒ—แƒแƒ•แƒแƒ–แƒแƒ‘แƒ— L3 แƒ‘แƒแƒšแƒแƒœแƒกแƒ”แƒ แƒ”แƒ‘แƒก, ClickHouse-แƒก แƒ“แƒ MySQL-แƒก, แƒ แƒแƒ’แƒแƒ แƒช แƒ›แƒแƒ แƒ—แƒฃแƒš แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒก. แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ›แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒฃแƒœแƒ“แƒ แƒ›แƒ˜แƒฃแƒ—แƒ˜แƒ—แƒแƒก แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒ“แƒแƒ”แƒšแƒแƒ“แƒแƒก, แƒกแƒแƒœแƒแƒ› แƒžแƒšแƒแƒขแƒคแƒแƒ แƒ›แƒ แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒก แƒ›แƒฃแƒจแƒ แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒแƒจแƒ˜ แƒ›แƒแƒแƒฅแƒ•แƒก.

แƒ›แƒ” แƒ“แƒแƒ•แƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒ˜แƒ แƒ“แƒ˜, แƒจแƒ”แƒ•แƒฅแƒ›แƒ”แƒœแƒ˜ แƒฆแƒ แƒฃแƒ‘แƒ”แƒšแƒ˜ แƒ“แƒ แƒ’แƒแƒ“แƒแƒฎแƒ“แƒ˜แƒก แƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒ˜. แƒแƒ›แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ›แƒ˜แƒ•แƒ”แƒ“แƒ˜ แƒฆแƒ แƒฃแƒ‘แƒ”แƒšแƒจแƒ˜ แƒ“แƒ แƒ“แƒแƒ•แƒแƒงแƒ”แƒœแƒ” MySQL แƒ“แƒ ClickHouse แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ”แƒ‘แƒ˜ แƒ›แƒ˜แƒœแƒ˜แƒ›แƒแƒšแƒฃแƒ แƒ˜ แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ”แƒ‘แƒ˜แƒ—. แƒ“แƒแƒ•แƒ”แƒšแƒแƒ“แƒ” แƒกแƒแƒœแƒแƒ› แƒ’แƒแƒแƒฅแƒขแƒ˜แƒฃแƒ แƒ“แƒœแƒ”แƒœ.

แƒ’แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒ Yandex.Cloud-แƒจแƒ˜ Grafana-แƒก แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—แƒ’แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒ Yandex.Cloud-แƒจแƒ˜ Grafana-แƒก แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—

แƒ—แƒฅแƒ•แƒ”แƒœ แƒแƒกแƒ”แƒ•แƒ” แƒฃแƒœแƒ“แƒ แƒ’แƒแƒฎแƒกแƒแƒ•แƒ“แƒ”แƒ—, แƒ แƒแƒ› แƒจแƒ”แƒฅแƒ›แƒœแƒแƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒš แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒจแƒ˜ แƒ“แƒ แƒ“แƒแƒแƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒ˜แƒ แƒแƒ— แƒ›แƒแƒกแƒ–แƒ” แƒฌแƒ•แƒ“แƒแƒ›แƒ แƒจแƒ”แƒกแƒ•แƒšแƒ˜แƒกแƒ แƒ“แƒ แƒžแƒแƒ แƒแƒšแƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—. แƒแƒฅ แƒ“แƒ”แƒขแƒแƒšแƒ”แƒ‘แƒจแƒ˜ แƒแƒ  แƒจแƒ”แƒ•แƒแƒš - แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒกแƒแƒ™แƒ›แƒแƒแƒ“ แƒแƒจแƒ™แƒแƒ แƒแƒ แƒ˜แƒœแƒขแƒ”แƒ แƒคแƒ”แƒ˜แƒกแƒจแƒ˜.

แƒแƒ แƒแƒแƒจแƒ™แƒแƒ แƒ แƒ“แƒ”แƒขแƒแƒšแƒ˜ แƒ˜แƒก แƒ˜แƒงแƒ, แƒ แƒแƒ› แƒแƒ› แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ”แƒ‘แƒก แƒ‘แƒ”แƒ•แƒ แƒ˜ แƒฐแƒแƒกแƒขแƒ˜ แƒฐแƒงแƒแƒ•แƒก, แƒ แƒแƒช แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒก แƒ›แƒแƒ— แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ˜แƒก แƒขแƒแƒšแƒ”แƒ แƒแƒœแƒขแƒแƒ‘แƒแƒก. แƒ—แƒฃแƒ›แƒชแƒ, Grafana แƒ›แƒแƒ˜แƒ—แƒฎแƒแƒ•แƒก แƒ–แƒฃแƒกแƒขแƒแƒ“ แƒ”แƒ แƒ— แƒฐแƒแƒกแƒขแƒก แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ—แƒแƒœแƒแƒช แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก. แƒฎแƒแƒœแƒ’แƒ แƒซแƒšแƒ˜แƒ•แƒ˜ แƒ™แƒ˜แƒ—แƒฎแƒ•แƒ แƒ“แƒแƒ™แƒฃแƒ›แƒ”แƒœแƒขแƒแƒชแƒ˜แƒ แƒฆแƒ แƒฃแƒ‘แƒšแƒ”แƒ‘แƒ›แƒ แƒ›แƒ˜แƒ›แƒ˜แƒงแƒ•แƒแƒœแƒ แƒ’แƒแƒ“แƒแƒฌแƒงแƒ•แƒ”แƒขแƒ˜แƒšแƒ”แƒ‘แƒแƒ›แƒ“แƒ”. แƒ’แƒแƒ›แƒแƒ“แƒ˜แƒก, แƒ แƒแƒ› แƒกแƒแƒฎแƒ”แƒแƒ‘แƒ˜แƒก แƒ›แƒแƒกแƒžแƒ˜แƒœแƒซแƒ”แƒšแƒ˜ c-<cluster_id>.rw.mdb.yandexcloud.net แƒแƒกแƒแƒฎแƒฃแƒšแƒ˜แƒ แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜แƒก แƒ›แƒ˜แƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ” แƒแƒฅแƒขแƒ˜แƒฃแƒ  แƒ›แƒ—แƒแƒ•แƒแƒ  แƒฐแƒแƒกแƒขแƒ–แƒ” แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒ˜ ID-แƒ˜แƒ—. แƒกแƒฌแƒแƒ แƒ”แƒ“ แƒแƒ›แƒแƒก แƒ›แƒ˜แƒ•แƒชแƒ”แƒ›แƒ— แƒ’แƒ แƒแƒคแƒแƒœแƒแƒก.

แƒ•แƒ”แƒ‘ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜

แƒแƒฎแƒšแƒ แƒกแƒแƒฅแƒ›แƒ” แƒ•แƒ”แƒ‘ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ–แƒ”แƒ. แƒ›แƒแƒ“แƒ˜แƒ— แƒ’แƒแƒ•แƒ–แƒแƒ แƒ“แƒแƒ— แƒฉแƒ•แƒ”แƒฃแƒšแƒ”แƒ‘แƒ แƒ˜แƒ•แƒ˜ แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒแƒœแƒฅแƒแƒœแƒ Linux-แƒ˜แƒ— แƒ“แƒ แƒฎแƒ”แƒšแƒ˜แƒ— แƒ“แƒแƒ•แƒแƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒ˜แƒ แƒแƒ— Grafana แƒ›แƒแƒกแƒ–แƒ”.

แƒ’แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒ Yandex.Cloud-แƒจแƒ˜ Grafana-แƒก แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—

แƒ’แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒ Yandex.Cloud-แƒจแƒ˜ Grafana-แƒก แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—

แƒ›แƒแƒ“แƒ˜แƒ— แƒ“แƒแƒ•แƒฃแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ“แƒ”แƒ— ssh-แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ— แƒ“แƒ แƒ“แƒแƒ•แƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒแƒ— แƒกแƒแƒญแƒ˜แƒ แƒ แƒžแƒแƒ™แƒ”แƒขแƒ”แƒ‘แƒ˜.

sudo apt-get install -y apt-transport-https software-properties-common wget
wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -
sudo add-apt-repository "deb https://packages.grafana.com/enterprise/deb stable main"
sudo apt-get update
sudo apt-get install -y grafana-enterprise 

แƒแƒ›แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒ›แƒแƒ“แƒ˜แƒ— แƒ’แƒแƒ•แƒฃแƒจแƒ•แƒแƒ— Grafana systemctl แƒฅแƒ•แƒ”แƒจ แƒ“แƒ แƒ“แƒแƒ•แƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒแƒ— แƒ›แƒแƒ“แƒฃแƒšแƒ˜ ClickHouse-แƒ—แƒแƒœ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก (แƒ“แƒ˜แƒแƒฎ, แƒ˜แƒก แƒแƒ  แƒแƒ แƒ˜แƒก แƒ›แƒแƒฌแƒแƒ“แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“ แƒžแƒแƒ™แƒ”แƒขแƒจแƒ˜).

sudo systemctl start grafana-server
sudo systemctl enable grafana-server
sudo grafana-cli plugins install vertamedia-clickhouse-datasource

แƒ”แƒกแƒ” แƒ˜แƒ’แƒ˜, แƒแƒ›แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜ แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ˜แƒ—

sudo service grafana-server start

แƒฉแƒ•แƒ”แƒœ แƒ“แƒแƒ•แƒ˜แƒฌแƒงแƒ”แƒ‘แƒ— แƒ•แƒ”แƒ‘ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒก. แƒแƒฎแƒšแƒ แƒ—แƒฅแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ‘แƒ แƒแƒฃแƒ–แƒ”แƒ แƒจแƒ˜ แƒจแƒ”แƒ˜แƒงแƒ•แƒแƒœแƒแƒ— แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒแƒœแƒฅแƒแƒœแƒ˜แƒก แƒ’แƒแƒ แƒ” IP แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ˜, แƒ›แƒ˜แƒฃแƒ—แƒ˜แƒ—แƒแƒ— แƒžแƒแƒ แƒขแƒ˜ 3000 แƒ“แƒ แƒœแƒแƒฎแƒแƒ— แƒšแƒแƒ›แƒแƒ–แƒ˜ Grafana UI.
แƒ’แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒ Yandex.Cloud-แƒจแƒ˜ Grafana-แƒก แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—

แƒ›แƒแƒ’แƒ แƒแƒ› แƒแƒ  แƒ˜แƒฉแƒฅแƒแƒ แƒแƒ—, แƒกแƒแƒœแƒแƒ› Grafana-แƒก แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒแƒ›แƒ“แƒ” แƒฃแƒœแƒ“แƒ แƒ’แƒแƒฎแƒกแƒแƒ•แƒ“แƒ”แƒ—, แƒ แƒแƒ› แƒฃแƒ—แƒฎแƒ แƒแƒ— แƒ›แƒแƒก MySQL-แƒ˜แƒกแƒ™แƒ”แƒœ แƒ›แƒ˜แƒ›แƒแƒ•แƒแƒšแƒ˜ แƒ’แƒ–แƒ, แƒ แƒแƒ—แƒ แƒ˜แƒฅ แƒจแƒ”แƒ˜แƒœแƒแƒฎแƒแƒ— แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ”แƒ‘แƒ˜.

Grafana แƒ•แƒ”แƒ‘ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก แƒ›แƒ—แƒ”แƒšแƒ˜ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ แƒคแƒแƒ˜แƒšแƒจแƒ˜แƒ /etc/grafana/grafana.ini. แƒกแƒแƒญแƒ˜แƒ แƒ แƒฎแƒแƒ–แƒ˜ แƒแƒกแƒ” แƒ’แƒแƒ›แƒแƒ˜แƒงแƒฃแƒ แƒ”แƒ‘แƒ:

;url =

แƒฉแƒ•แƒ”แƒœ แƒ“แƒแƒ•แƒแƒงแƒ”แƒœแƒ”แƒ— แƒฐแƒแƒกแƒขแƒ˜ MySQL แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ–แƒ”. แƒ˜แƒ’แƒ˜แƒ•แƒ” แƒคแƒแƒ˜แƒšแƒ˜ แƒจแƒ”แƒ˜แƒชแƒแƒ•แƒก แƒšแƒแƒ’แƒ˜แƒœแƒก แƒ“แƒ แƒžแƒแƒ แƒแƒšแƒก Grafana-แƒ–แƒ” แƒฌแƒ•แƒ“แƒแƒ›แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ–แƒ”แƒ›แƒแƒ— แƒ›แƒแƒชแƒ”แƒ›แƒฃแƒš แƒกแƒฃแƒ แƒแƒ—แƒ–แƒ”, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒœแƒแƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒแƒ“ แƒแƒ แƒ˜แƒ•แƒ” แƒ—แƒแƒœแƒแƒ‘แƒแƒ แƒ˜แƒ admin.

แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒ— sed แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ”แƒ‘แƒ˜:

sudo sed -i "s#.*;url =.*#url = mysql://${MYSQL_USERNAME}:${MYSQL_PASSWORD}@${MYSQL_CLUSTER_URI}#" /etc/grafana/grafana.ini
sudo sed -i "s#.*;admin_user =.*#admin_user = ${GRAFANA_USERNAME}#" /etc/grafana/grafana.ini
sudo sed -i "s#.*;admin_password =.*#admin_password = ${GRAFANA_PASSWORD}#" /etc/grafana/grafana.ini

แƒ“แƒ แƒแƒ แƒ’แƒแƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒแƒ— แƒ•แƒ”แƒ‘ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜!

sudo service grafana-server restart

แƒแƒฎแƒšแƒ Grafana UI-แƒจแƒ˜ แƒฉแƒ•แƒ”แƒœ แƒ“แƒแƒ•แƒแƒ–แƒฃแƒกแƒขแƒ”แƒ‘แƒ— ClickHouse-แƒก, แƒ แƒแƒ’แƒแƒ แƒช DataSource.

แƒ›แƒ” แƒ›แƒแƒ•แƒแƒฎแƒ”แƒ แƒฎแƒ” แƒกแƒแƒ›แƒฃแƒจแƒแƒ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒ›แƒ˜แƒฆแƒฌแƒ”แƒ•แƒ แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ”แƒ‘แƒ˜แƒ—:

แƒ’แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒ Yandex.Cloud-แƒจแƒ˜ Grafana-แƒก แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—

แƒ›แƒ” แƒ›แƒ˜แƒ•แƒฃแƒ—แƒ˜แƒ—แƒ”, แƒ แƒแƒ’แƒแƒ แƒช URL https://c-<cluster_id>.rw.mdb.yandexcloud.net:8443

แƒงแƒ•แƒ”แƒšแƒ! แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒแƒฅแƒ•แƒก แƒ”แƒ แƒ—แƒ˜ แƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒ˜ แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒแƒœแƒฅแƒแƒœแƒ แƒ•แƒ”แƒ‘ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒ—, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ CH แƒ“แƒ MySQL-แƒ—แƒแƒœ. แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒ™แƒ•แƒ” แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒแƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒœแƒแƒ™แƒ แƒ”แƒ‘แƒ˜ ClickHouse-แƒจแƒ˜ แƒ“แƒ แƒจแƒ”แƒฅแƒ›แƒœแƒแƒ— แƒ“แƒแƒคแƒ”แƒ‘แƒ˜. แƒ—แƒฃแƒ›แƒชแƒ, แƒฉแƒ•แƒ”แƒœ แƒฏแƒ”แƒ  แƒ•แƒ”แƒ  แƒ›แƒ˜แƒ•แƒแƒฆแƒฌแƒ˜แƒ”แƒ— แƒ“แƒแƒกแƒแƒฎแƒฃแƒš แƒ›แƒ˜แƒ–แƒแƒœแƒก แƒ“แƒ แƒแƒ  แƒ’แƒ•แƒแƒฅแƒ•แƒก แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒ แƒฃแƒšแƒคแƒแƒกแƒแƒ•แƒแƒœแƒ˜ แƒ˜แƒœแƒคแƒ แƒแƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ.

Packer

Yandex.Cloud แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— แƒจแƒ”แƒฅแƒ›แƒœแƒแƒ— แƒแƒ แƒกแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒแƒœแƒฅแƒแƒœแƒ˜แƒก แƒ“แƒ˜แƒกแƒ™แƒ˜แƒก แƒ’แƒแƒ›แƒแƒกแƒแƒฎแƒฃแƒšแƒ”แƒ‘แƒ แƒ“แƒ แƒ›แƒ˜แƒก แƒกแƒแƒคแƒฃแƒซแƒ•แƒ”แƒšแƒ–แƒ” - แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ แƒ˜ แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ˜แƒก แƒ›แƒแƒœแƒฅแƒแƒœแƒ แƒ”แƒ แƒ—แƒ›แƒแƒœแƒ”แƒ—แƒ˜แƒก แƒ˜แƒ“แƒ”แƒœแƒขแƒฃแƒ แƒ˜. แƒ”แƒก แƒแƒ แƒ˜แƒก แƒ–แƒฃแƒกแƒขแƒแƒ“ แƒ˜แƒก, แƒ แƒแƒกแƒแƒช แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ—. แƒ’แƒแƒ›แƒแƒกแƒแƒฎแƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒกแƒแƒฎแƒ”แƒ แƒฎแƒ”แƒ‘แƒšแƒแƒ“ แƒแƒกแƒแƒฌแƒงแƒแƒ‘แƒแƒ“, แƒแƒ˜แƒฆแƒ”แƒ— แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒ˜ Packer HashiCorp-แƒ˜แƒกแƒ’แƒแƒœ. แƒ˜แƒก แƒ˜แƒฆแƒ”แƒ‘แƒก json แƒคแƒแƒ˜แƒšแƒก แƒ’แƒแƒ›แƒแƒกแƒแƒฎแƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒก แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒ—.

แƒฉแƒ•แƒ”แƒœแƒ˜ json แƒคแƒแƒ˜แƒšแƒ˜ แƒจแƒ”แƒ“แƒ’แƒ”แƒ‘แƒ แƒแƒ แƒ˜ แƒ‘แƒšแƒแƒ™แƒ˜แƒกแƒ’แƒแƒœ: แƒ›แƒจแƒ”แƒœแƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜ แƒ“แƒ แƒžแƒ แƒแƒ•แƒแƒ˜แƒ“แƒ”แƒ แƒ”แƒ‘แƒ˜. แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒ‘แƒšแƒแƒ™แƒ˜ แƒแƒฆแƒฌแƒ”แƒ แƒก แƒ—แƒแƒ•แƒแƒ“ แƒกแƒฃแƒ แƒแƒ—แƒ˜แƒก แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ”แƒ‘แƒก, แƒ แƒแƒ’แƒแƒ แƒช แƒ”แƒ แƒ—แƒ”แƒฃแƒšแƒก, แƒฎแƒแƒšแƒ แƒ›แƒ”แƒแƒ แƒ” แƒ‘แƒšแƒแƒ™แƒ˜ แƒแƒฆแƒฌแƒ”แƒ แƒก แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒฅแƒชแƒ˜แƒ”แƒ‘แƒก แƒ›แƒ˜แƒกแƒ˜ แƒกแƒแƒญแƒ˜แƒ แƒ แƒจแƒ˜แƒœแƒแƒแƒ แƒกแƒ˜แƒ— แƒจแƒ”แƒ•แƒกแƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒ–แƒœแƒ˜แƒ—.

Builders

{
"builders": [
    {
      "type": "yandex",
      "endpoint": "{{user `endpoint`}}",
      "folder_id": "<folder_id>",
      "subnet_id": "{{user `subnet_id`}}",
      "zone": "{{user `zone`}}",
      "labels": {},
      "use_ipv4_nat": true,
      "use_internal_ip": false,
      "service_account_key_file": "<service_account_key_file>",
      "image_name": "grafana-{{timestamp}}",
      "image_family": "grafana",
      "image_labels": {},
      "image_description": "GRAFANA",
      "source_image_family": "ubuntu-1804-lts",
      "disk_size_gb": 3,
      "disk_type": "network-hdd",
      "ssh_username": "ubuntu"
    }
  ],
...
}

แƒแƒ› แƒจแƒแƒ‘แƒšแƒแƒœแƒจแƒ˜, แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒ“แƒแƒแƒงแƒ”แƒœแƒแƒ— แƒฆแƒ แƒฃแƒ‘แƒ”แƒšแƒจแƒ˜ แƒ’แƒแƒœแƒงแƒแƒคแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒ˜แƒ“แƒ”แƒœแƒขแƒ˜แƒคแƒ˜แƒ™แƒแƒขแƒแƒ แƒ˜, แƒกแƒแƒ“แƒแƒช แƒ’แƒกแƒฃแƒ แƒ— แƒกแƒฃแƒ แƒแƒ—แƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ, แƒแƒกแƒ”แƒ•แƒ” แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒ’แƒ–แƒ แƒแƒ› แƒ’แƒแƒœแƒงแƒแƒคแƒ˜แƒšแƒ”แƒ‘แƒแƒจแƒ˜ แƒแƒ“แƒ แƒ” แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒšแƒ˜ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒ˜แƒ“แƒแƒœ แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒ—. แƒ—แƒฅแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒแƒ— แƒ›แƒ”แƒขแƒ˜ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒ”แƒ‘แƒ˜แƒก แƒ“แƒ แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒกแƒแƒฎแƒ˜แƒ— แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒก แƒ’แƒแƒœแƒงแƒแƒคแƒ˜แƒšแƒ”แƒ‘แƒแƒจแƒ˜ แƒ“แƒแƒ™แƒฃแƒ›แƒ”แƒœแƒขแƒแƒชแƒ˜แƒ.

แƒ”แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ แƒแƒ›แƒ‘แƒแƒ‘แƒก, แƒ แƒแƒ› แƒ“แƒ˜แƒกแƒ™แƒ˜แƒก แƒกแƒฃแƒ แƒแƒ—แƒ˜ แƒแƒจแƒ”แƒœแƒ“แƒ”แƒ‘แƒ แƒžแƒšแƒแƒขแƒคแƒแƒ แƒ›แƒแƒ–แƒ” แƒ“แƒแƒงแƒ แƒ“แƒœแƒแƒ‘แƒ˜แƒ— ubuntu-1804-lts, แƒ’แƒแƒœแƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ’แƒแƒ›แƒแƒกแƒแƒฎแƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒแƒฏแƒแƒฎแƒ˜แƒก แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒก แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒ’แƒแƒœแƒงแƒแƒคแƒ˜แƒšแƒ”แƒ‘แƒแƒจแƒ˜ GRAFANA แƒกแƒแƒฎแƒ”แƒšแƒ˜แƒก แƒฅแƒ•แƒ”แƒจ grafana-{{timestamp}}.

แƒžแƒ แƒแƒ•แƒแƒ˜แƒ“แƒ”แƒ แƒ”แƒ‘แƒ˜

แƒแƒฎแƒšแƒ แƒ›แƒแƒ“แƒ˜แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒฃแƒคแƒ แƒ แƒกแƒแƒ˜แƒœแƒขแƒ”แƒ แƒ”แƒกแƒ แƒœแƒแƒฌแƒ˜แƒšแƒ˜. แƒ˜แƒ’แƒ˜ แƒแƒฆแƒฌแƒ”แƒ แƒก แƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒ—แƒแƒœแƒ›แƒ˜แƒ›แƒ“แƒ”แƒ•แƒ แƒแƒ‘แƒแƒก, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒฃแƒœแƒ“แƒ แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ“แƒ”แƒก แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ  แƒ›แƒแƒœแƒฅแƒแƒœแƒแƒ–แƒ”, แƒกแƒแƒœแƒแƒ› แƒ›แƒ˜แƒกแƒ˜ แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒ แƒ“แƒ˜แƒกแƒ™แƒ˜แƒก แƒกแƒฃแƒ แƒแƒ—แƒจแƒ˜ แƒ’แƒแƒงแƒ˜แƒœแƒ•แƒแƒก.

{
...,
"provisioners": [
    {
            "type": "shell",
            "pause_before": "5s",
            "scripts": [
                "prepare-ctg.sh"
            ]
        },
    {
            "type": "file",
            "source": "setup.sh",
            "destination": "/opt/grafana/setup.sh"
        },
        {
            "type": "shell",
        "execute_command": "sudo {{ .Vars }} bash '{{ .Path }}'",
            "pause_before": "5s",
            "scripts": [
                "install-packages.sh",
                "grafana-setup.sh",
                "run-setup-at-reboot.sh"
        ]
        }
  ]
}

แƒแƒฅ แƒงแƒ•แƒ”แƒšแƒ แƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒ แƒ“แƒแƒงแƒแƒคแƒ˜แƒšแƒ˜แƒ 3 แƒ”แƒขแƒแƒžแƒแƒ“. แƒžแƒ˜แƒ แƒ•แƒ”แƒš แƒ”แƒขแƒแƒžแƒ–แƒ” แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜ แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒฅแƒ›แƒœแƒ˜แƒก แƒ“แƒแƒ›แƒฎแƒ›แƒแƒ แƒ” แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒแƒ แƒ˜แƒแƒก.

แƒ›แƒแƒ›แƒ–แƒแƒ“แƒ”แƒ‘แƒ-ctg.sh:

#!/bin/bash
sudo mkdir -p /opt/grafana
sudo chown -R ubuntu:ubuntu /opt/grafana

แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ”แƒขแƒแƒžแƒ–แƒ” แƒแƒ› แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒแƒ แƒ˜แƒแƒจแƒ˜ แƒ•แƒแƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒ— แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒก, แƒ แƒแƒ›แƒšแƒ˜แƒก แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ แƒกแƒแƒญแƒ˜แƒ แƒ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒแƒœแƒฅแƒแƒœแƒ˜แƒก แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ˜แƒกแƒ—แƒแƒœแƒแƒ•แƒ”. แƒ”แƒก แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜ แƒ›แƒแƒแƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒก แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒชแƒ•แƒšแƒแƒ“แƒ”แƒ‘แƒก, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒฃแƒœแƒ“แƒ แƒ“แƒแƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒ˜แƒ แƒ“แƒ”แƒก Grafana-แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒแƒจแƒ˜ แƒ“แƒ แƒ’แƒแƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒแƒก แƒ•แƒ”แƒ‘ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜.

setup.sh:

#!/bin/bash
CLUSTER_ID="<cluster_id>"
USERNAME="<username>"
PASSWORD="<password>"
sudo sed -i "s#.*;url =.*#url = mysql://${USERNAME}:${PASSWORD}@c-${CLUSTER_ID}.rw.mdb.yandexcloud.net#" /etc/grafana/grafana.ini
sudo sed -i "s#.*;admin_user =.*#admin_user = ${USERNAME}#" /etc/grafana/grafana.ini
sudo sed -i "s#.*;admin_password =.*#admin_password = ${PASSWORD}#" /etc/grafana/grafana.ini
sudo service grafana-server restart

แƒแƒ›แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ“แƒแƒ แƒฉแƒ”แƒœแƒ˜แƒšแƒ˜แƒ 3 แƒกแƒแƒฅแƒ›แƒ”:
1) แƒ“แƒแƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒ”แƒ— แƒžแƒแƒ™แƒ”แƒขแƒ”แƒ‘แƒ˜
2) แƒ’แƒแƒฃแƒจแƒ•แƒ˜แƒ— Grafana systemctl แƒฅแƒ•แƒ”แƒจ แƒ“แƒ แƒ“แƒแƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒ”แƒ— ClickHouse แƒ›แƒแƒ“แƒฃแƒšแƒ˜
3) แƒฉแƒแƒกแƒ•แƒ˜แƒ— setup.sh แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜ แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ˜แƒก แƒ แƒ˜แƒ’แƒจแƒ˜ แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒแƒœแƒฅแƒแƒœแƒ˜แƒก แƒฉแƒแƒ แƒ—แƒ•แƒ˜แƒกแƒ—แƒแƒœแƒแƒ•แƒ”.

install-packages.sh:

#!/bin/bash
sudo systemd-run --property='After=apt-daily.service apt-daily-upgrade.service' --wait /bin/true
sudo apt-get install -y apt-transport-https
sudo apt-get install -y software-properties-common wget
wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -
sudo add-apt-repository "deb https://packages.grafana.com/enterprise/deb stable main"
sudo apt-get update
sudo apt-get install -y grafana-enterprise 

grafana-setup.sh:

#!/bin/bash
sudo systemctl start grafana-server
sudo systemctl enable grafana-server
sudo grafana-cli plugins install vertamedia-clickhouse-datasource

run-setup-at-reboot.sh:

#!/bin/bash
chmod +x /opt/grafana/setup.sh
cat > /etc/cron.d/first-boot <<EOF
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
@reboot root /bin/bash /opt/grafana/setup.sh > /var/log/yc-setup.log 2>&1
EOF
chmod +x /etc/cron.d/first-boot;

แƒแƒฎแƒšแƒ แƒ แƒฉแƒ”แƒ‘แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ Packer-แƒ˜แƒก แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ แƒ“แƒ แƒ’แƒแƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒ˜ แƒ’แƒแƒ›แƒแƒกแƒแƒฎแƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒ แƒ›แƒ˜แƒ—แƒ˜แƒ—แƒ”แƒ‘แƒฃแƒš แƒ’แƒแƒœแƒงแƒแƒคแƒ˜แƒšแƒ”แƒ‘แƒแƒจแƒ˜. แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒแƒœแƒฅแƒแƒœแƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒกแƒแƒก แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒแƒ˜แƒ แƒฉแƒ˜แƒแƒ— แƒ˜แƒก แƒฉแƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒ“แƒ˜แƒกแƒ™แƒแƒ“ แƒ“แƒ แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ›แƒ˜แƒ˜แƒฆแƒ”แƒ‘แƒ— แƒ›แƒ–แƒ Grafana แƒ•แƒ”แƒ‘ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒก.

แƒ’แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒ Yandex.Cloud-แƒจแƒ˜ Grafana-แƒก แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—
แƒ’แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒ Yandex.Cloud-แƒจแƒ˜ Grafana-แƒก แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—

แƒ˜แƒœแƒกแƒขแƒแƒœแƒชแƒ˜แƒ˜แƒก แƒฏแƒ’แƒฃแƒคแƒ˜ แƒ“แƒ แƒ‘แƒแƒšแƒแƒœแƒกแƒ”แƒ แƒ˜

แƒ›แƒแƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ แƒแƒช แƒ’แƒ•แƒ”แƒฅแƒœแƒ”แƒ‘แƒ แƒ“แƒ˜แƒกแƒ™แƒ˜แƒก แƒกแƒฃแƒ แƒแƒ—แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒ•แƒแƒซแƒšแƒ”แƒ•แƒก แƒจแƒ”แƒ•แƒฅแƒ›แƒœแƒแƒ— แƒ›แƒ แƒแƒ•แƒแƒšแƒ˜ แƒ˜แƒ“แƒ”แƒœแƒขแƒฃแƒ แƒ˜ Grafana แƒ•แƒ”แƒ‘ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜, แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒจแƒ”แƒ•แƒฅแƒ›แƒœแƒแƒ— แƒ˜แƒœแƒกแƒขแƒแƒœแƒชแƒ˜แƒ˜แƒก แƒฏแƒ’แƒฃแƒคแƒ˜. Yandex.Cloud แƒžแƒšแƒแƒขแƒคแƒแƒ แƒ›แƒแƒ–แƒ” แƒ”แƒก แƒขแƒ”แƒ แƒ›แƒ˜แƒœแƒ˜ แƒ”แƒฎแƒ”แƒ‘แƒ แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒแƒœแƒฅแƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ”แƒ แƒ—แƒ˜แƒแƒœแƒ”แƒ‘แƒแƒก, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒกแƒแƒช แƒแƒฅแƒ•แƒ— แƒ˜แƒ’แƒ˜แƒ•แƒ” แƒ›แƒแƒฎแƒแƒกแƒ˜แƒแƒ—แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜. แƒ˜แƒœแƒกแƒขแƒแƒœแƒชแƒ˜แƒ˜แƒก แƒฏแƒ’แƒฃแƒคแƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒกแƒแƒก, แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒแƒ› แƒฏแƒ’แƒฃแƒคแƒ˜แƒก แƒงแƒ•แƒ”แƒšแƒ แƒแƒžแƒแƒ แƒแƒขแƒ˜แƒก แƒžแƒ แƒแƒขแƒแƒขแƒ˜แƒžแƒ˜, แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ™แƒ˜ แƒ—แƒแƒ•แƒแƒ“ แƒฏแƒ’แƒฃแƒคแƒ˜แƒก แƒ›แƒแƒฎแƒแƒกแƒ˜แƒแƒ—แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜ (แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒแƒฅแƒขแƒ˜แƒฃแƒ แƒ˜ แƒ›แƒแƒœแƒฅแƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒœแƒ˜แƒ›แƒแƒšแƒฃแƒ แƒ˜ แƒ“แƒ แƒ›แƒแƒฅแƒกแƒ˜แƒ›แƒแƒšแƒฃแƒ แƒ˜ แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ). แƒ—แƒฃ แƒแƒ›แƒŸแƒแƒ›แƒ˜แƒœแƒ“แƒ”แƒšแƒ˜ แƒœแƒแƒ›แƒ”แƒ แƒ˜ แƒแƒ  แƒแƒ™แƒ›แƒแƒงแƒแƒคแƒ˜แƒšแƒ”แƒ‘แƒก แƒแƒ› แƒ™แƒ แƒ˜แƒขแƒ”แƒ แƒ˜แƒฃแƒ›แƒ”แƒ‘แƒก, แƒ›แƒแƒจแƒ˜แƒœ แƒ˜แƒœแƒกแƒขแƒแƒœแƒชแƒ˜แƒ˜แƒก แƒฏแƒ’แƒฃแƒคแƒ˜ แƒ—แƒแƒ•แƒแƒ“ แƒแƒ›แƒแƒ˜แƒฆแƒ”แƒ‘แƒก แƒแƒ แƒแƒกแƒแƒญแƒ˜แƒ แƒ แƒ›แƒแƒœแƒฅแƒแƒœแƒ”แƒ‘แƒก แƒแƒœ แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒก แƒแƒฎแƒแƒšแƒก แƒกแƒแƒ™แƒฃแƒ—แƒแƒ แƒ˜ แƒกแƒฃแƒ แƒแƒ—แƒ˜แƒ—.

แƒ แƒแƒ’แƒแƒ แƒช แƒฉแƒ•แƒ”แƒœแƒ˜ แƒแƒ›แƒแƒชแƒแƒœแƒ˜แƒก แƒœแƒแƒฌแƒ˜แƒšแƒ˜, แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ•แƒฅแƒ›แƒœแƒ˜แƒ— แƒ•แƒ”แƒ‘ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ”แƒ‘แƒ˜แƒก แƒฏแƒ’แƒฃแƒคแƒก, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ’แƒ”แƒœแƒ”แƒ แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒแƒ“แƒ แƒ” แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒšแƒ˜ แƒ“แƒ˜แƒกแƒ™แƒ˜แƒก แƒกแƒฃแƒ แƒแƒ—แƒ˜แƒ“แƒแƒœ.

แƒ’แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒ Yandex.Cloud-แƒจแƒ˜ Grafana-แƒก แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—

แƒ’แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒ Yandex.Cloud-แƒจแƒ˜ Grafana-แƒก แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—

แƒ แƒแƒช แƒœแƒแƒ›แƒ“แƒ•แƒ˜แƒšแƒแƒ“ แƒแƒฆแƒกแƒแƒœแƒ˜แƒจแƒœแƒแƒ•แƒ˜แƒ แƒแƒ แƒ˜แƒก แƒ‘แƒแƒšแƒ แƒ˜แƒœแƒกแƒขแƒแƒœแƒชแƒ˜แƒ˜แƒก แƒฏแƒ’แƒฃแƒคแƒ˜แƒก แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ. Load Balancer-แƒ—แƒแƒœ แƒ˜แƒœแƒขแƒ”แƒ’แƒ แƒแƒชแƒ˜แƒ˜แƒก แƒกแƒแƒ›แƒ˜แƒ–แƒœแƒ” แƒฏแƒ’แƒฃแƒคแƒ˜ แƒ“แƒแƒ’แƒ”แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒแƒ— แƒแƒ› แƒฏแƒ’แƒฃแƒคแƒ˜แƒก แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒแƒœแƒฅแƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒ—แƒแƒ•แƒ–แƒ” L3 แƒ‘แƒแƒšแƒแƒœแƒกแƒ”แƒ แƒ˜แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒแƒจแƒ˜ แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒฆแƒ˜แƒšแƒแƒ™แƒ–แƒ” แƒ“แƒแƒฌแƒ™แƒแƒžแƒฃแƒœแƒ”แƒ‘แƒ˜แƒ—.

แƒ’แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒ Yandex.Cloud-แƒจแƒ˜ Grafana-แƒก แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—

แƒ‘แƒแƒšแƒแƒœแƒกแƒ”แƒ แƒ˜แƒก แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒกแƒแƒก แƒ›แƒ” แƒ’แƒแƒœแƒ•แƒแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ” แƒแƒ แƒ˜ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒแƒœแƒ˜ แƒžแƒฃแƒœแƒฅแƒขแƒ˜:

  1. แƒ›แƒ” แƒ•แƒแƒ˜แƒซแƒฃแƒšแƒ”แƒ‘แƒ“แƒ˜ แƒ‘แƒแƒšแƒแƒœแƒกแƒ”แƒ แƒก แƒ›แƒ˜แƒ”แƒฆแƒ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒขแƒ แƒแƒคแƒ˜แƒ™แƒ˜ 80-แƒ” แƒžแƒแƒ แƒขแƒ–แƒ” แƒ“แƒ แƒ’แƒแƒ“แƒแƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ“แƒ˜ แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒแƒœแƒฅแƒแƒœแƒ”แƒ‘แƒ˜แƒก 3000 แƒžแƒแƒ แƒขแƒ–แƒ”, แƒ–แƒฃแƒกแƒขแƒแƒ“ แƒ˜แƒฅ, แƒกแƒแƒ“แƒแƒช Grafana แƒชแƒฎแƒแƒ•แƒ แƒแƒ‘แƒก.
  2. แƒ›แƒ” แƒ“แƒแƒ•แƒแƒงแƒ”แƒœแƒ” แƒ›แƒแƒœแƒฅแƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒชแƒแƒชแƒฎแƒšแƒ˜แƒกแƒฃแƒœแƒแƒ แƒ˜แƒแƒœแƒแƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒ 3000 แƒžแƒแƒ แƒขแƒ–แƒ” แƒžแƒ˜แƒœแƒ’แƒ˜แƒ—.

แƒ’แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒ Yandex.Cloud-แƒจแƒ˜ Grafana-แƒก แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—

แƒ›แƒ˜แƒœแƒ˜ แƒ แƒ”แƒ–แƒ˜แƒฃแƒ›แƒ”

แƒกแƒแƒ‘แƒแƒšแƒแƒแƒ“, แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ•แƒซแƒ”แƒšแƒ˜แƒ— แƒกแƒแƒกแƒฃแƒ แƒ•แƒ”แƒšแƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ˜แƒœแƒคแƒ แƒแƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ˜แƒก แƒฎแƒ”แƒšแƒ˜แƒ— แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ แƒ“แƒ แƒแƒฎแƒšแƒ แƒ’แƒ•แƒแƒฅแƒ•แƒก แƒฃแƒแƒฆแƒ แƒ”แƒกแƒแƒ“ แƒ’แƒแƒ›แƒซแƒšแƒ” Grafana แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜. แƒ—แƒฅแƒ•แƒ”แƒœ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒฃแƒœแƒ“แƒ แƒ˜แƒชแƒแƒ“แƒ”แƒ— แƒ‘แƒแƒšแƒแƒœแƒกแƒ”แƒ แƒ˜แƒก IP แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ˜, แƒ แƒแƒ’แƒแƒ แƒช แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒจแƒ˜ แƒจแƒ”แƒกแƒ•แƒšแƒ˜แƒก แƒฌแƒ”แƒ แƒขแƒ˜แƒšแƒ˜ แƒ“แƒ ClickHouse แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜แƒก แƒฐแƒแƒกแƒขแƒ˜, แƒ แƒแƒ—แƒ แƒฉแƒแƒขแƒ•แƒ˜แƒ แƒ—แƒแƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒœแƒแƒ™แƒ แƒ”แƒ‘แƒ˜ แƒ›แƒแƒกแƒจแƒ˜.

แƒ แƒแƒ’แƒแƒ แƒช แƒฉแƒแƒœแƒก, แƒ’แƒแƒ›แƒแƒ แƒฏแƒ•แƒ”แƒ‘แƒแƒ? แƒ“แƒ˜แƒแƒฎ, แƒ’แƒแƒ›แƒแƒ แƒฏแƒ•แƒ”แƒ‘แƒ. แƒ›แƒแƒ’แƒ แƒแƒ› แƒ แƒแƒฆแƒแƒช แƒ›แƒแƒ˜แƒœแƒช แƒ›แƒแƒ‘แƒœแƒ”แƒ•แƒก. แƒ–แƒ”แƒ›แƒแƒแƒฆแƒœแƒ˜แƒจแƒœแƒฃแƒšแƒ˜ แƒ›แƒ—แƒ”แƒšแƒ˜ แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜ แƒ›แƒแƒ˜แƒ—แƒฎแƒแƒ•แƒก แƒฃแƒแƒ›แƒ แƒแƒ• แƒกแƒแƒฎแƒ”แƒšแƒ›แƒซแƒฆแƒ•แƒแƒœแƒ”แƒšแƒ แƒœแƒแƒ‘แƒ˜แƒฏแƒก แƒ“แƒ แƒกแƒแƒ”แƒ แƒ—แƒแƒ“ แƒแƒ  แƒแƒ แƒ˜แƒก แƒ›แƒแƒกแƒจแƒขแƒแƒ‘แƒ˜แƒ แƒ”แƒ‘แƒแƒ“แƒ˜; แƒ›แƒกแƒฃแƒ แƒก แƒ›แƒ˜แƒกแƒ˜ แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒ˜แƒ–แƒแƒชแƒ˜แƒ, แƒ—แƒฃ แƒ”แƒก แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ. แƒกแƒฌแƒแƒ แƒ”แƒ“ แƒแƒ›แƒแƒก แƒ“แƒแƒ”แƒ—แƒ›แƒแƒ‘แƒ แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒ’แƒแƒœแƒงแƒแƒคแƒ˜แƒšแƒ”แƒ‘แƒ.

แƒขแƒ”แƒ แƒแƒคแƒแƒ แƒ›แƒฃแƒšแƒ˜ แƒ˜แƒœแƒขแƒ”แƒ’แƒ แƒแƒชแƒ˜แƒ

แƒฉแƒ•แƒ”แƒœ แƒ™แƒ•แƒšแƒแƒ• แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ— แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒก HashiCorp-แƒ˜แƒกแƒ’แƒแƒœ แƒ”.แƒฌ Terraform. แƒ˜แƒก แƒ“แƒแƒ’แƒ”แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒแƒ— แƒ’แƒแƒœแƒแƒ—แƒแƒ•แƒกแƒแƒ— แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ›แƒ—แƒ”แƒšแƒ˜ แƒ˜แƒœแƒคแƒ แƒแƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ แƒฆแƒ˜แƒšแƒแƒ™แƒ˜แƒก แƒ“แƒแƒญแƒ”แƒ แƒ˜แƒ—, แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒ›แƒ˜แƒ”แƒ  แƒ’แƒแƒ“แƒแƒชแƒ”แƒ›แƒฃแƒšแƒ˜ แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒชแƒ•แƒšแƒแƒ“แƒ˜แƒก แƒกแƒแƒคแƒฃแƒซแƒ•แƒ”แƒšแƒ–แƒ”. แƒ›แƒแƒ“แƒ˜แƒ— แƒ“แƒแƒ•แƒฌแƒ”แƒ แƒแƒ— แƒ แƒ”แƒชแƒ”แƒžแƒขแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ›แƒ แƒแƒ•แƒแƒšแƒฏแƒ”แƒ  แƒ’แƒแƒฃแƒจแƒ•แƒแƒ— แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒ’แƒแƒœแƒงแƒแƒคแƒ˜แƒšแƒ”แƒ‘แƒแƒจแƒ˜.

Terraform-แƒ—แƒแƒœ แƒ›แƒ—แƒ”แƒšแƒ˜ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ แƒ›แƒ—แƒแƒ•แƒ แƒ“แƒ”แƒ‘แƒ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒ“แƒแƒฌแƒ”แƒ แƒแƒ–แƒ” (*.tf) แƒ“แƒ แƒ›แƒแƒกแƒ–แƒ” แƒ“แƒแƒคแƒฃแƒซแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ˜แƒœแƒคแƒ แƒแƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ.

แƒชแƒ•แƒšแƒแƒ“แƒ”แƒ‘แƒ˜

แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒ“แƒแƒกแƒแƒฌแƒงแƒ˜แƒกแƒจแƒ˜แƒ•แƒ”, แƒฉแƒ•แƒ”แƒœ แƒฉแƒแƒ•แƒ แƒ—แƒแƒ•แƒ— แƒชแƒ•แƒšแƒแƒ“แƒ”แƒ‘แƒก, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ’แƒแƒœแƒกแƒแƒ–แƒฆแƒ•แƒ แƒแƒ•แƒ”แƒœ แƒกแƒแƒ“ แƒ“แƒ แƒ แƒแƒ’แƒแƒ  แƒ’แƒแƒœแƒšแƒแƒ’แƒ“แƒ”แƒ‘แƒ แƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒ˜ แƒ˜แƒœแƒคแƒ แƒแƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ.

variable "oauth_token" {
    type = string
    default = "<oauth-token>"
}
variable "cloud_id" {
    type = string
    default = "<cloud-id>"
}
variable "folder_id" {
    type = string
    default = "<folder_id>"
}
variable "service_account_id" {
    type = string
    default = "<service_account_id>"
}
variable "image_id" {
    type = string
    default = "<image_id>"
}
variable "username" {
    type = string
    default = "<username>"
}
variable "password" {
    type = string
    default = "<password>"
}
variable "dbname" {
    type = string
    default = "<dbname>"
}
variable "public_key_path" {
    type = string
    default = "<path to ssh public key>"
}

แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ—แƒ”แƒšแƒ˜ แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜ แƒ›แƒ˜แƒ“แƒ˜แƒก แƒ“แƒ˜แƒกแƒ™แƒ˜แƒก แƒกแƒฃแƒ แƒแƒ—แƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒแƒ–แƒ” แƒ“แƒ แƒแƒ› แƒชแƒ•แƒšแƒแƒ“แƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒแƒ–แƒ”. แƒœแƒ”แƒ‘แƒ แƒ›แƒแƒ›แƒ”แƒชแƒ˜แƒ— แƒแƒ’แƒ˜แƒฎแƒกแƒœแƒแƒ— แƒ แƒแƒ–แƒ” แƒแƒ แƒ˜แƒแƒœ แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒžแƒแƒกแƒฃแƒฎแƒ˜แƒกแƒ›แƒ’แƒ”แƒ‘แƒ”แƒšแƒ˜:

oauth_token - แƒฆแƒ แƒฃแƒ‘แƒ”แƒšแƒ–แƒ” แƒฌแƒ•แƒ“แƒแƒ›แƒ˜แƒก แƒœแƒ˜แƒจแƒแƒœแƒ˜. แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒ แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒšแƒ˜แƒœแƒ™แƒ”แƒ‘แƒ˜.
cloud_id โ€” แƒฆแƒ แƒฃแƒ‘แƒšแƒ˜แƒก แƒ˜แƒ“แƒ”แƒœแƒขแƒ˜แƒคแƒ˜แƒ™แƒแƒขแƒแƒ แƒ˜, แƒกแƒแƒ“แƒแƒช แƒ’แƒแƒœแƒ•แƒแƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒ— แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒก
folder_id โ€” แƒกแƒ”แƒฅแƒชแƒ˜แƒ˜แƒก แƒ˜แƒ“แƒ”แƒœแƒขแƒ˜แƒคแƒ˜แƒ™แƒแƒขแƒแƒ แƒ˜, แƒกแƒแƒ“แƒแƒช แƒ’แƒแƒœแƒ•แƒแƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒ— แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒก
service_account_id โ€” แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒ˜แƒก แƒ˜แƒ“แƒ”แƒœแƒขแƒ˜แƒคแƒ˜แƒ™แƒแƒขแƒแƒ แƒ˜ แƒฆแƒ แƒฃแƒ‘แƒšแƒ˜แƒก แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒก แƒ’แƒแƒœแƒงแƒแƒคแƒ˜แƒšแƒ”แƒ‘แƒแƒจแƒ˜.
image_id โ€” Packer-แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ“แƒ˜แƒกแƒ™แƒ˜แƒก แƒ’แƒแƒ›แƒแƒกแƒแƒฎแƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ˜แƒ“แƒ”แƒœแƒขแƒ˜แƒคแƒ˜แƒ™แƒแƒขแƒแƒ แƒ˜
แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒ˜ ะธ แƒ“แƒแƒ’แƒแƒ•แƒ˜แƒฌแƒงแƒ“แƒแƒ— โ€” แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒ˜ แƒ“แƒ แƒžแƒแƒ แƒแƒšแƒ˜ แƒแƒ แƒ˜แƒ•แƒ” แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ”แƒ‘แƒ–แƒ” แƒ“แƒ Grafana แƒ•แƒ”แƒ‘ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ–แƒ” แƒฌแƒ•แƒ“แƒแƒ›แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก
dbname - แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒ˜ CH แƒ“แƒ MySQL แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ”แƒ‘แƒจแƒ˜
แƒกแƒแƒฏแƒแƒ แƒ_แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜แƒก_แƒ’แƒ–แƒ โ€” แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒ’แƒ–แƒ แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒกแƒแƒฏแƒแƒ แƒ ssh แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜แƒ—, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒ— แƒกแƒแƒฎแƒ”แƒšแƒ˜แƒก แƒฅแƒ•แƒ”แƒจ แƒ“แƒแƒกแƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒšแƒแƒ“ ubuntu แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ  แƒ›แƒแƒœแƒฅแƒแƒœแƒ”แƒ‘แƒ–แƒ” แƒ•แƒ”แƒ‘ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ”แƒ‘แƒ˜แƒ—

แƒžแƒ แƒแƒ•แƒแƒ˜แƒ“แƒ”แƒ แƒ˜แƒก แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ

แƒแƒฎแƒšแƒ แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒ“แƒแƒแƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒ˜แƒ แƒแƒ— Terraform แƒžแƒ แƒแƒ•แƒแƒ˜แƒ“แƒ”แƒ แƒ˜ - แƒฉแƒ•แƒ”แƒœแƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, Yandex:

provider "yandex" {
  token     = var.oauth_token
  cloud_id  = var.cloud_id
  folder_id = var.folder_id
  zone      = "ru-central1-a"
}

แƒจแƒ”แƒแƒ›แƒฉแƒœแƒ”แƒ•แƒ—, แƒ แƒแƒ› แƒแƒฅ แƒฉแƒ•แƒ”แƒœ แƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ— แƒ–แƒ”แƒ›แƒแƒ— แƒ’แƒแƒœแƒกแƒแƒ–แƒฆแƒ•แƒ แƒฃแƒš แƒชแƒ•แƒšแƒแƒ“แƒ”แƒ‘แƒก.

แƒฅแƒกแƒ”แƒšแƒ˜ แƒ“แƒ แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ”แƒ‘แƒ˜

แƒแƒฎแƒšแƒ แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ•แƒฅแƒ›แƒœแƒ˜แƒ— แƒฅแƒกแƒ”แƒšแƒก, แƒ แƒแƒ›แƒ”แƒšแƒจแƒ˜แƒช แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ˜แƒœแƒคแƒ แƒแƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ˜แƒก แƒ”แƒšแƒ”แƒ›แƒ”แƒœแƒขแƒ”แƒ‘แƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒ™แƒแƒ›แƒฃแƒœแƒ˜แƒ™แƒแƒชแƒ˜แƒ, แƒกแƒแƒ›แƒ˜ แƒฅแƒ•แƒ”แƒฅแƒกแƒ”แƒšแƒ˜ (แƒ—แƒ˜แƒ—แƒ แƒ แƒ”แƒ’แƒ˜แƒแƒœแƒจแƒ˜) แƒ“แƒ แƒ’แƒแƒ–แƒ แƒ“แƒ˜แƒก CH แƒ“แƒ MySQL แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ”แƒ‘แƒก.


resource "yandex_vpc_network" "grafana_network" {}

resource "yandex_vpc_subnet" "subnet_a" {
  zone           = "ru-central1-a"
  network_id     = yandex_vpc_network.grafana_network.id
  v4_cidr_blocks = ["10.1.0.0/24"]
}

resource "yandex_vpc_subnet" "subnet_b" {
  zone           = "ru-central1-b"
  network_id     = yandex_vpc_network.grafana_network.id
  v4_cidr_blocks = ["10.2.0.0/24"]
}

resource "yandex_vpc_subnet" "subnet_c" {
  zone           = "ru-central1-c"
  network_id     = yandex_vpc_network.grafana_network.id
  v4_cidr_blocks = ["10.3.0.0/24"]
}

resource "yandex_mdb_clickhouse_cluster" "ch_cluster" {
  name        = "grafana-clickhouse"
  environment = "PRODUCTION"
  network_id  = yandex_vpc_network.grafana_network.id

  clickhouse {
    resources {
      resource_preset_id = "s2.micro"
      disk_type_id       = "network-ssd"
      disk_size          = 16
    }
  }

  zookeeper {
    resources {
      resource_preset_id = "s2.micro"
      disk_type_id       = "network-ssd"
      disk_size          = 10
    }
  }

  database {
    name = var.dbname
  }

  user {
    name     = var.username
    password = var.password
    permission {
      database_name = var.dbname
    }
  }

  host {
    type      = "CLICKHOUSE"
    zone      = "ru-central1-a"
    subnet_id = yandex_vpc_subnet.subnet_a.id
  }

  host {
    type      = "CLICKHOUSE"
    zone      = "ru-central1-b"
    subnet_id = yandex_vpc_subnet.subnet_b.id
  }

  host {
    type      = "CLICKHOUSE"
    zone      = "ru-central1-c"
    subnet_id = yandex_vpc_subnet.subnet_c.id
  }

  host {
    type      = "ZOOKEEPER"
    zone      = "ru-central1-a"
    subnet_id = yandex_vpc_subnet.subnet_a.id
  }

  host {
    type      = "ZOOKEEPER"
    zone      = "ru-central1-b"
    subnet_id = yandex_vpc_subnet.subnet_b.id
  }

  host {
    type      = "ZOOKEEPER"
    zone      = "ru-central1-c"
    subnet_id = yandex_vpc_subnet.subnet_c.id
  }
}

resource "yandex_mdb_mysql_cluster" "mysql_cluster" {
  name        = "grafana_mysql"
  environment = "PRODUCTION"
  network_id  = yandex_vpc_network.grafana_network.id
  version     = "8.0"

  resources {
    resource_preset_id = "s2.micro"
    disk_type_id       = "network-ssd"
    disk_size          = 16
  }

  database {
    name = var.dbname
  }

  user {
    name     = var.username
    password = var.password
    permission {
      database_name = var.dbname
      roles         = ["ALL"]
    }
  }

  host {
    zone      = "ru-central1-a"
    subnet_id = yandex_vpc_subnet.subnet_a.id
  }
  host {
    zone      = "ru-central1-b"
    subnet_id = yandex_vpc_subnet.subnet_b.id
  }
  host {
    zone      = "ru-central1-c"
    subnet_id = yandex_vpc_subnet.subnet_c.id
  }
}

แƒ แƒแƒ’แƒแƒ แƒช แƒฎแƒ”แƒ“แƒแƒ•แƒ—, แƒแƒ แƒ˜ แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜แƒ“แƒแƒœ แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒ˜แƒฅแƒ›แƒœแƒ”แƒ‘แƒ แƒกแƒแƒ™แƒ›แƒแƒแƒ“ แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ˜แƒกแƒแƒ“แƒ›แƒ˜ แƒขแƒแƒšแƒ”แƒ แƒแƒœแƒขแƒฃแƒšแƒ˜ แƒกแƒแƒ›แƒ˜ แƒฎแƒ”แƒšแƒ›แƒ˜แƒกแƒแƒฌแƒ•แƒ“แƒแƒ›แƒแƒ‘แƒ˜แƒก แƒ–แƒแƒœแƒแƒจแƒ˜ แƒ›แƒ“แƒ”แƒ‘แƒแƒ แƒ”แƒแƒ‘แƒ˜แƒ—.

แƒ•แƒ”แƒ‘ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ”แƒ‘แƒ˜

แƒ แƒแƒ’แƒแƒ แƒช แƒฉแƒแƒœแƒก, แƒ˜แƒ’แƒ˜แƒ•แƒ” แƒกแƒฃแƒšแƒ˜แƒกแƒ™แƒ•แƒ”แƒ—แƒ”แƒ‘แƒ˜แƒ— แƒจแƒ”แƒ’แƒ•แƒ”แƒซแƒšแƒ แƒ’แƒแƒ’แƒ แƒซแƒ”แƒšแƒ”แƒ‘แƒ, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ’แƒแƒ›แƒ˜แƒญแƒ˜แƒ แƒ“แƒ. แƒ›แƒแƒœแƒแƒ›แƒ“แƒ” แƒ›แƒ” แƒฏแƒ”แƒ  แƒแƒ•แƒฌแƒ˜แƒ” MySQL แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜ แƒ“แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒแƒ›แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒ›แƒ˜แƒกแƒ˜ ID-แƒ˜แƒก แƒชแƒแƒ“แƒœแƒ˜แƒ—, แƒจแƒ”แƒ•แƒแƒ’แƒ แƒแƒ•แƒ” แƒ“แƒ˜แƒกแƒ™แƒ˜แƒก แƒ’แƒแƒ›แƒแƒกแƒแƒฎแƒฃแƒšแƒ”แƒ‘แƒ แƒกแƒแƒญแƒ˜แƒ แƒ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒ—, แƒกแƒแƒ“แƒแƒช แƒ“แƒแƒ•แƒแƒ–แƒฃแƒกแƒขแƒ” แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜แƒก แƒฐแƒแƒกแƒขแƒ˜. แƒ›แƒแƒ’แƒ แƒแƒ› แƒแƒฎแƒšแƒ แƒฉแƒ•แƒ”แƒœ แƒแƒ  แƒ•แƒ˜แƒชแƒ˜แƒ— แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜แƒก ID Terraform-แƒ˜แƒก แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒแƒ›แƒ“แƒ”, แƒ›แƒแƒ— แƒจแƒแƒ แƒ˜แƒก แƒกแƒฃแƒ แƒแƒ—แƒ˜แƒก แƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒ“แƒ แƒแƒก. แƒแƒ›แƒ˜แƒขแƒแƒ› แƒ›แƒแƒ›แƒ˜แƒฌแƒ˜แƒ แƒ›แƒ˜แƒ›แƒ”แƒ›แƒแƒ แƒ—แƒ แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒฎแƒ แƒ˜แƒ™แƒ˜.

แƒแƒ›แƒแƒ–แƒแƒœแƒ˜แƒก แƒ›แƒ”แƒขแƒแƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ  แƒ›แƒแƒœแƒฅแƒแƒœแƒแƒก แƒ’แƒแƒ“แƒแƒ•แƒชแƒ”แƒ›แƒ— แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒก, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒ˜แƒก แƒ›แƒ˜แƒ˜แƒฆแƒ”แƒ‘แƒก แƒ“แƒ แƒ“แƒแƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒก. แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ แƒ›แƒแƒœแƒฅแƒแƒœแƒ แƒ’แƒแƒ“แƒแƒ•แƒ˜แƒ“แƒ”แƒก แƒ›แƒ”แƒขแƒแƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ–แƒ” MySQL แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜แƒก แƒฐแƒแƒกแƒขแƒ˜แƒก แƒ“แƒ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒ˜-แƒžแƒแƒ แƒแƒšแƒ˜แƒก แƒฃแƒ™แƒแƒœ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ›แƒ แƒ›แƒ˜แƒฃแƒ—แƒ˜แƒ—แƒ Terraform แƒคแƒแƒ˜แƒšแƒจแƒ˜, แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’. แƒ›แƒแƒ“แƒ˜แƒ— แƒแƒ“แƒœแƒแƒ• แƒจแƒ”แƒ•แƒชแƒ•แƒแƒšแƒแƒ— แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒจแƒ˜แƒœแƒแƒแƒ แƒกแƒ˜ setup.sh, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒแƒœแƒฅแƒแƒœแƒ˜แƒก แƒฉแƒแƒ แƒ—แƒ•แƒ˜แƒกแƒแƒก.

setup.sh:

#!/bin/bash
CLUSTER_URI="$(curl -H 'Metadata-Flavor:Google' http://169.254.169.254/computeMetadata/v1/instance/attributes/mysql_cluster_uri)"
USERNAME="$(curl -H 'Metadata-Flavor:Google' http://169.254.169.254/computeMetadata/v1/instance/attributes/username)"
PASSWORD="$(curl -H 'Metadata-Flavor:Google' http://169.254.169.254/computeMetadata/v1/instance/attributes/password)"
sudo sed -i "s#.*;url =.*#url = mysql://${USERNAME}:${PASSWORD}@${CLUSTER_URI}#" /etc/grafana/grafana.ini
sudo sed -i "s#.*;admin_user =.*#admin_user = ${USERNAME}#" /etc/grafana/grafana.ini
sudo sed -i "s#.*;admin_password =.*#admin_password = ${PASSWORD}#" /etc/grafana/grafana.ini
sudo service grafana-server restart

แƒ˜แƒœแƒกแƒขแƒแƒœแƒชแƒ˜แƒ˜แƒก แƒฏแƒ’แƒฃแƒคแƒ˜ แƒ“แƒ แƒ‘แƒแƒšแƒแƒœแƒกแƒ”แƒ แƒ˜

แƒแƒฎแƒแƒšแƒ˜ แƒ“แƒ˜แƒกแƒ™แƒ˜แƒก แƒกแƒฃแƒ แƒแƒ—แƒ˜แƒก แƒแƒฆแƒ“แƒ’แƒ”แƒœแƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒฉแƒ•แƒ”แƒœ แƒกแƒแƒ‘แƒแƒšแƒแƒแƒ“ แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒ“แƒแƒ•แƒแƒ›แƒแƒขแƒแƒ— แƒฉแƒ•แƒ”แƒœแƒ˜ แƒคแƒแƒ˜แƒšแƒ˜ Terraform-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.

แƒ›แƒแƒ“แƒ˜แƒ— แƒแƒฆแƒ•แƒœแƒ˜แƒจแƒœแƒแƒ—, แƒ แƒแƒ› แƒ’แƒ•แƒ˜แƒœแƒ“แƒ แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒงแƒ”แƒœแƒแƒ— แƒแƒ แƒกแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ“แƒ˜แƒกแƒ™แƒ˜แƒก แƒกแƒฃแƒ แƒแƒ—แƒ˜:

data "yandex_compute_image" "grafana_image" {
  image_id = var.image_id
}

แƒแƒฎแƒšแƒ แƒจแƒ”แƒ•แƒฅแƒ›แƒœแƒแƒ— แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ”แƒ‘แƒ˜แƒก แƒฏแƒ’แƒฃแƒคแƒ˜:

resource "yandex_compute_instance_group" "grafana_group" {
  name               = "grafana-group"
  folder_id          = var.folder_id
  service_account_id = var.service_account_id
  instance_template {
    platform_id = "standard-v1"
    resources {
      memory = 1
      cores  = 1
    }
    boot_disk {
      mode = "READ_WRITE"
      initialize_params {
        image_id = data.yandex_compute_image.grafana_image.id
        size     = 4
      }
    }
    network_interface {
      network_id = yandex_vpc_network.grafana_network.id
      subnet_ids = [yandex_vpc_subnet.subnet_a.id, yandex_vpc_subnet.subnet_b.id, yandex_vpc_subnet.subnet_c.id]
      nat = "true"
    }
    metadata = {
      mysql_cluster_uri = "c-${yandex_mdb_mysql_cluster.mysql_cluster.id}.rw.mdb.yandexcloud.net:3306/${var.dbname}"
      username = var.username
      password = var.password
      ssh-keys = "ubuntu:${file("${var.public_key_path}")}"
    }
    network_settings {
      type = "STANDARD"
    }
  }

  scale_policy {
    fixed_scale {
      size = 6
    }
  }

  allocation_policy {
    zones = ["ru-central1-a", "ru-central1-b", "ru-central1-c"]
  }

  deploy_policy {
    max_unavailable = 2
    max_creating    = 2
    max_expansion   = 2
    max_deleting    = 2
  }

  load_balancer {
    target_group_name = "grafana-target-group"
  }
}

แƒฆแƒ˜แƒ แƒก แƒงแƒฃแƒ แƒแƒ“แƒฆแƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒฅแƒชแƒ”แƒ•แƒ, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ  แƒ’แƒแƒ“แƒแƒ•แƒ˜แƒขแƒแƒœแƒ”แƒ— แƒ˜แƒ’แƒ˜ แƒ›แƒ”แƒขแƒแƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒจแƒ˜ cluster_uri, username ะธ password. แƒกแƒฌแƒแƒ แƒ”แƒ“ แƒ›แƒแƒ— แƒแƒ›แƒแƒ˜แƒฆแƒ”แƒ‘แƒก แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒแƒœแƒฅแƒแƒœแƒ แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ˜แƒกแƒแƒก แƒ“แƒ แƒฉแƒแƒ“แƒ”แƒ‘แƒก Grafana-แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒแƒจแƒ˜.

แƒ”แƒก แƒ‘แƒแƒšแƒแƒœแƒกแƒ˜แƒ แƒ–แƒ”แƒ แƒ“แƒแƒ›แƒแƒ™แƒ˜แƒ“แƒ”แƒ‘แƒฃแƒšแƒ˜.

resource "yandex_lb_network_load_balancer" "grafana_balancer" {
  name = "grafana-balancer"

  listener {
    name = "grafana-listener"
    port = 80
    target_port = 3000
    external_address_spec {
      ip_version = "ipv4"
    }
  }

  attached_target_group {
    target_group_id = yandex_compute_instance_group.grafana_group.load_balancer.0.target_group_id

    healthcheck {
      name = "healthcheck"
      tcp_options {
        port = 3000
      }
    }
  }
}

แƒชแƒแƒขแƒ แƒจแƒแƒฅแƒแƒ แƒ˜

แƒกแƒฃแƒš แƒชแƒแƒขแƒ แƒ“แƒแƒ แƒฉแƒ. แƒ˜แƒœแƒคแƒ แƒแƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ˜แƒก แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒ’แƒแƒ“แƒแƒฎแƒ•แƒ˜แƒ“แƒ”แƒ— Grafana UI-แƒ–แƒ” แƒ“แƒ แƒฎแƒ”แƒšแƒ˜แƒ— แƒ“แƒแƒแƒ›แƒแƒขแƒแƒ— CH แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜ (แƒ แƒแƒ›แƒšแƒ˜แƒก ID แƒฏแƒ”แƒ  แƒ™แƒ˜แƒ“แƒ”แƒ• แƒฃแƒœแƒ“แƒ แƒ›แƒ˜แƒ˜แƒฆแƒแƒ—), แƒ แƒแƒ’แƒแƒ แƒช แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒฌแƒงแƒแƒ แƒ. แƒ›แƒแƒ’แƒ แƒแƒ› Terraform-แƒ›แƒ แƒ˜แƒชแƒ˜แƒก แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜แƒก ID. แƒ›แƒแƒ“แƒ˜แƒ—, แƒ›แƒแƒก แƒ›แƒ˜แƒ•แƒแƒœแƒ“แƒแƒ— แƒกแƒแƒฅแƒ›แƒ˜แƒก แƒ‘แƒแƒšแƒแƒ›แƒ“แƒ” แƒ›แƒ˜แƒงแƒ•แƒแƒœแƒ.

แƒ“แƒแƒ•แƒแƒ›แƒแƒขแƒแƒ— แƒแƒฎแƒแƒšแƒ˜ แƒžแƒ แƒแƒ•แƒแƒ˜แƒ“แƒ”แƒ แƒ˜ - Grafana แƒ“แƒ แƒ›แƒ˜แƒ•แƒชแƒ”แƒ— แƒ›แƒแƒก แƒ‘แƒแƒšแƒแƒœแƒกแƒ”แƒ แƒ˜แƒก IP แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ˜, แƒ แƒแƒ’แƒแƒ แƒช แƒ›แƒแƒกแƒžแƒ˜แƒœแƒซแƒ”แƒšแƒ˜. แƒงแƒ•แƒ”แƒšแƒ แƒชแƒ•แƒšแƒ˜แƒšแƒ”แƒ‘แƒ, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช Terraform แƒแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒก แƒ›แƒแƒœแƒฅแƒแƒœแƒแƒ–แƒ”, แƒกแƒแƒ“แƒแƒช แƒ›แƒ˜แƒกแƒ˜ แƒ‘แƒแƒšแƒแƒœแƒกแƒ”แƒ แƒ˜ แƒ’แƒแƒœแƒกแƒแƒ–แƒฆแƒ•แƒ แƒแƒ•แƒก, แƒ’แƒแƒ˜แƒ–แƒ แƒ“แƒ”แƒ‘แƒ MySQL-แƒจแƒ˜ แƒ“แƒ, แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒแƒ“, แƒงแƒ•แƒ”แƒšแƒ แƒกแƒฎแƒ•แƒ แƒแƒžแƒแƒ แƒแƒขแƒ–แƒ”.

provider "grafana" {
  url  = "http://${[for s in yandex_lb_network_load_balancer.grafana_balancer.listener: s.external_address_spec.0.address].0}"
  auth = "${var.username}:${var.password}"
}

resource "grafana_data_source" "ch_data_source" {
  type          = "vertamedia-clickhouse-datasource"
  name          = "grafana"
  url           = "https://c-${yandex_mdb_clickhouse_cluster.ch_cluster.id}.rw.mdb.yandexcloud.net:8443"
  basic_auth_enabled = "true"
  basic_auth_username = var.username
  basic_auth_password = var.password
  is_default = "true"
  access_mode = "proxy"
}

แƒ›แƒแƒ“แƒ˜แƒ—, แƒ—แƒ›แƒ แƒ“แƒแƒ•แƒ˜แƒ•แƒแƒ แƒชแƒฎแƒœแƒแƒ—

แƒ›แƒแƒ“แƒ˜แƒ— แƒแƒฉแƒ•แƒ”แƒœแƒแƒ— แƒ‘แƒแƒšแƒแƒœแƒกแƒ”แƒ แƒ˜แƒก IP แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ˜ แƒ“แƒ ClickHouse แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜แƒก แƒฐแƒแƒกแƒขแƒ˜

output "grafana_balancer_ip_address" {
  value = [for s in yandex_lb_network_load_balancer.grafana_balancer.listener: s.external_address_spec.0.address].0
}

output "clickhouse_cluster_host" {
  value = "https://c-${yandex_mdb_clickhouse_cluster.ch_cluster.id}.rw.mdb.yandexcloud.net:8443"
}

แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒกแƒ˜แƒ แƒ‘แƒ˜แƒšแƒ˜

แƒงแƒ•แƒ”แƒšแƒ! แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒคแƒแƒ˜แƒšแƒ˜ แƒ›แƒ–แƒแƒ“ แƒแƒ แƒ˜แƒก แƒ“แƒ แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ, แƒชแƒ•แƒšแƒแƒ“แƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—, แƒ•แƒฃแƒ—แƒฎแƒ แƒแƒ— Terraform-แƒก, แƒ’แƒแƒ–แƒแƒ แƒ“แƒแƒก แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜, แƒ แƒแƒช แƒ–แƒ”แƒ›แƒแƒ— แƒแƒฆแƒ•แƒฌแƒ”แƒ แƒ”แƒ—. แƒ›แƒ—แƒ”แƒšแƒ˜ แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜ แƒ“แƒแƒแƒฎแƒšแƒแƒ”แƒ‘แƒ˜แƒ— 15 แƒฌแƒฃแƒ—แƒ˜ แƒ“แƒแƒ›แƒญแƒ˜แƒ แƒ“แƒ.
แƒ“แƒแƒกแƒแƒกแƒ แƒฃแƒšแƒก แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒœแƒแƒฎแƒแƒ— แƒšแƒแƒ›แƒแƒ–แƒ˜ แƒจแƒ”แƒขแƒงแƒแƒ‘แƒ˜แƒœแƒ”แƒ‘แƒ:

Apply complete! Resources: 9 added, 0 changed, 0 destroyed.
Outputs:

clickhouse_cluster_host = https://c-c9q14ipa2ngadqsbp2iq.rw.mdb.yandexcloud.net:8443
grafana_balancer_ip_address = 130.193.50.25

แƒฆแƒ แƒฃแƒ‘แƒ”แƒšแƒจแƒ˜ แƒ™แƒ˜ แƒแƒ›แƒแƒฆแƒšแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ˜แƒœแƒคแƒ แƒแƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ˜แƒก แƒ”แƒšแƒ”แƒ›แƒ”แƒœแƒขแƒ”แƒ‘แƒ˜ แƒ’แƒแƒ›แƒแƒฉแƒœแƒ“แƒ”แƒ‘แƒ:

แƒ’แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒ Yandex.Cloud-แƒจแƒ˜ Grafana-แƒก แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—

แƒจแƒ”แƒแƒฏแƒแƒ›แƒ”แƒ‘แƒก

แƒแƒฎแƒšแƒ, Grafana-แƒก แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—, แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒš แƒ—แƒฅแƒ•แƒ”แƒœแƒ’แƒแƒœแƒก แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒ’แƒแƒœแƒแƒ—แƒแƒ•แƒกแƒแƒก แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜ แƒคแƒแƒ แƒ—แƒ แƒฆแƒ แƒฃแƒ‘แƒšแƒแƒ•แƒแƒœแƒ˜ แƒแƒ แƒฅแƒ˜แƒขแƒ”แƒฅแƒขแƒฃแƒ แƒ˜แƒ— Yandex.Cloud แƒžแƒšแƒแƒขแƒคแƒแƒ แƒ›แƒแƒ–แƒ”. แƒแƒ›แƒแƒจแƒ˜ แƒ“แƒแƒ’แƒ”แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒแƒ— HashiCorp-แƒ˜แƒก แƒ˜แƒกแƒ”แƒ—แƒ˜ แƒกแƒแƒกแƒแƒ แƒ’แƒ”แƒ‘แƒšแƒ แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒ”แƒ‘แƒ˜, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ Packer แƒ“แƒ Terraform. แƒ•แƒ˜แƒ›แƒ”แƒ“แƒแƒ•แƒœแƒ”แƒ‘ แƒ•แƒ˜แƒœแƒ›แƒ”แƒก แƒ”แƒก แƒกแƒขแƒแƒขแƒ˜แƒ แƒ’แƒแƒ›แƒแƒแƒ“แƒ’แƒ”แƒ‘แƒ :)

PS แƒฅแƒ•แƒ”แƒ›แƒแƒ— แƒ“แƒแƒ•แƒ“แƒ”แƒ‘ แƒšแƒ˜แƒœแƒ™แƒก แƒกแƒแƒชแƒแƒ•แƒ–แƒ”, แƒกแƒแƒ“แƒแƒช แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ˜แƒžแƒแƒ•แƒแƒ— แƒ›แƒ–แƒ แƒ แƒ”แƒชแƒ”แƒžแƒขแƒ”แƒ‘แƒ˜ Packer-แƒ˜แƒกแƒ แƒ“แƒ Terraform-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒ›แƒ”แƒšแƒ—แƒ แƒคแƒ แƒแƒ’แƒ›แƒ”แƒœแƒขแƒ”แƒ‘แƒ˜ แƒ›แƒ” แƒ›แƒแƒ’แƒแƒฌแƒแƒ“แƒ”แƒ— แƒแƒ› แƒกแƒขแƒแƒขแƒ˜แƒแƒจแƒ˜.

แƒกแƒแƒชแƒแƒ•แƒ˜

แƒฌแƒงแƒแƒ แƒ: www.habr.com

แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ