เบชเบฐเบเบฒเบเบเบตเบเบธเบเบเบปเบ! เปเบเบฑเบเบชเปเบงเบเบซเบเบถเปเบเบเบญเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบซเบผเบฑเบเบชเบนเบเบเบญเบเบเปเบญเบ, เบเปเบญเบเปเบเปเบเบปเปเบเบเบงเปเบฒเบเบงเบฒเบกเบชเบฒเบกเบฒเบเบเบญเบเปเบงเบเบตเบเบฑเบเบเบฒเบเปเบเบเบฐเปเบเบเปเบเบฑเปเบ:
เปเบเบปเปเบฒเบขเบฒเบเปเบเปเบซเบเบฑเบ?
เบซเบผเบฑเบเบเบฒเบเปเบเบตเบเบเบปเบงเปเบเบทเปเบญเบ virtual เบเบฑเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเปเบงเบฑเบเปเบเบเป, เบเปเบฒเบเบชเบฒเบกเบฒเบเปเบเบซเบฒเปเบเบปเปเบฒเบเบฒเบเบเบญเบเบกเบฑเบเปเบฅเบฐเปเบเปเบฎเบฑเบ UI เบเบตเปเบชเบงเบเบเบฒเบก, เบฅเบฐเบเบธเบเบฒเบเบเปเปเบกเบนเบเปเบเบฑเบเปเบซเบผเปเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเปเปเปเบ, เบชเปเบฒเบ dashboards เปเบฅเบฐเบเบฒเบ.
เบชเบฐโเบเบฑเบโเบเบทเปเบโเบเบฒเบโเบกเบตโเบเบธเบโเบญเปเบญเบโเบเบตเปโเบชเปเบฒโเบเบฑเบโเบซเบเบถเปเบ - เบกเบฑเบโเบเปเปโเปเบกเปเบโเบเบงเบฒเบกโเบเบดเบโเบเบปเบโเบเบฒเบโเบเปเปโเบเบฑเบโเบซเบกเบปเบโ. เบเบฑเปเบเปเบกเปเบ, เบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบฑเบเบซเบกเบปเบเบเบญเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเปเบกเปเบเบเบถเปเบเบเบฑเบเบเบงเบฒเบกเปเบเบฑเบเปเบเปเบเปเบเบญเบเปเบเบทเปเบญเบเบเบฑเบ virtual เบซเบเบถเปเบ. เบเปเบฒเบกเบฑเบเบเบฐเบเบดเปเบชเบเบซเบผเบท 10 เบเบปเบเปเบเบตเบ UI เปเบเปเบงเบฅเบฒเบเบฝเบงเบเบฑเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบฑเบเบซเบฒเบเบฐเปเบเบตเบเบเบทเปเบ.
เบเบงเบเปเบเบปเบฒเบชเบฒเบกเบฒเบเปเบเปเปเบเปเบเปเบเปเบฒเบเป: เบเปเบฒเบเบเบฝเบเปเบเปเบเปเบญเบเบเบฒเบ ... เบเปเบฒเปเบเปเปเบเบทเปเบญเบเบเบฑเบ virtual เบเบตเปเบเปเบฒเบเบเบทเบเบฑเบเบซเบผเบฒเบเบเบฑเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเปเบงเบฑเบเปเบฅเบฐเบงเบฒเบเบเบงเบเบกเบฑเบเบเบฒเบเปเบเปเบเบปเบงเบเบธเปเบเบเปเบฝเบ L3. เปเบเปเบเปเปเปเบกเปเบเบเบธเบเบขเปเบฒเบเบเบฐเปเบเปเบเบขเบนเปเบเบตเปเบเบตเป. Grafana เปเบเบฑเบเบฎเบฑเบเบชเบฒเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบนเปเปเบเป (เปเบชเบฑเปเบเบเบฒเบเปเบเบซเบฒเบเบฒเบเบเปเปเบกเบนเบ, dashboards, graphs, เปเบฅเบฐเบญเบทเปเบเป) เปเบเบเบเบปเบเปเบเปเบเปเบเบเบญเบเปเบเบทเปเบญเบ virtual เบเบญเบเบกเบฑเบ. เบเบฑเปเบเบเบฑเปเบ, เบเปเบฒเบเบงเบเปเบฎเบปเบฒเบเปเบฝเบเบเบฒเบเบเบฒเบเบเบฑเปเบเบเปเบฒเปเบ UI, เบเบฒเบเบเปเบฝเบเปเบเบเปเบซเบผเบปเปเบฒเบเบตเปเบเบฐเบชเบฐเบเปเบญเบเปเบซเปเปเบซเบฑเบเบเบฝเบเปเบเปเปเบเปเบเบทเปเบญเบ virtual เบเบตเป balancer เบชเบปเปเบเปเบซเปเบเบงเบเปเบฎเบปเบฒ. เบเบตเปเบเบฐเบเปเบฒเปเบเบชเบนเปเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบตเปเบเปเปเบชเบญเบเบเปเบญเบเบชเปเบฒเบฅเบฑเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบญเบเบเบงเบเปเบฎเบปเบฒ, เปเบเบดเปเบเบเปเปเปเบซเปเปเบเบตเบเบเบฑเบเบซเบฒเบเบฑเบเบเบฒเบเปเบเบตเบเบเบปเบงเปเบฅเบฐเบเบฒเบเบเปเบฒเปเบเป.
เบเบตเปเบเบตเปเบเบฒเบเบเปเปเบกเบนเบเบญเบทเปเบเบเบฐเบกเบฒเปเบเบดเบเบเบนเปเปเบ, เบเบปเบงเบขเปเบฒเบ, MySQL เบซเบผเบทเบเบฝเบเปเบเบปเปเบฒเบเบญเบเบกเบฑเบ. เบเบงเบเปเบฎเบปเบฒเบเบญเบ Grafana เบงเปเบฒเบเบฒเบเบเบงเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบนเปเปเบเปเบขเบนเปเปเบเบเบฒเบเบเปเปเบกเบนเบ " spare" เบเบตเป. เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เบกเบฑเบเบเบฐเบเบฝเบเบเปเบเบตเปเบเบฐเบฅเบฐเบเบธเปเบชเบฑเปเบเบเบฒเบเปเบเบซเบฒเบเบฒเบเบเปเปเบกเบนเบเบเบตเปเบเบฑเปเบเบเบฝเบงเปเบเปเบเปเบฅเบฐเปเบเบทเปเบญเบ, เปเบฅเบฐเปเบเปเปเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบนเปเปเบเปเบญเบทเปเบเปเบเบฑเบเบซเบกเบปเบเปเบเปเบเบทเปเบญเบ virtual; เบเบงเบเบกเบฑเบเบเบฐเบเบฐเบซเบเบฒเบเปเบเบซเบฒเปเบเบทเปเบญเบเบญเบทเปเบเป.
เบเบตเปเปเบกเปเบเปเบเบเบงเบฒเบเบเบญเบเปเบเบเบชเปเบฒเบเบเบทเปเบเบเบฒเบเบเบญเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเบชเบธเบเบเปเบฒเบ:
เปเบซเปเปเบฎเบปเบฒเบฎเบฝเบเบฎเบนเปเบเบตเปเบเบฐเบเบปเบเบเปเบงเบเบกเบทเบเบญเบเบเบงเบเปเบฎเบปเบฒ
MySQL เปเบฅเบฐ ClickHouse
เบเปเบญเบเบเบตเปเบเบฐเบเปเบฒเปเบเปเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบฑเปเบเบเปเบฒเบงเบเปเบงเบเบเบฒเบเบเบปเบเบเบธเปเบก, เบกเบฑเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบเปเบฎเบฝเบเบฎเบนเปเบงเบดเบเบตเบเบฒเบเบเบฑเบเบเบฒเบเปเบเปเบฅเบฐเบญเบปเบเบเบฐเบเบญเบเบเบญเบเบกเบฑเบเปเบฅเบฐเบเบฐเบชเบปเบกเบเบฐเบชเบฒเบเบเบฑเบเบเบฑเบเปเบฅเบฐเบเบฑเบ.
เบเบตเปเบเบตเป Yandex.Cloud เบเบฐเบเปเบงเบเปเบซเปเบเบงเบเปเบฎเบปเบฒ, เปเบเบดเปเบเบชเบฐเบซเบเบญเบ L3 balancers, ClickHouse เปเบฅเบฐ MySQL เปเบเบฑเบเบเปเบฅเบดเบเบฒเบเบเบธเปเบกเบเบญเบ. เบเบนเปเปเบเปเบเบฝเบเปเบเปเบเปเบญเบเบเบฒเบเบเปเบฒเบเบปเบเบเบฒเบฅเบฒเบกเบดเปเบเบตเปเบฅเบฐเบฅเปเบเปเบฒเบเบปเบเบเปเบงเบฒเปเบงเบเบตเบเปเบฒเปเบญเบปเบฒเบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเปเบเบปเปเบฒเปเบเปเบเบเปเบฒเบชเบฑเปเบ.
เบเปเบญเบเบฅเบปเบเบเบฐเบเบฝเบ, เบชเปเบฒเบเปเบกเบ เปเบฅเบฐเบเบฑเบเบเบตเบเบฒเบเบเปเบฒเบเปเบเบดเบ. เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเปเบเบซเบฒเบเบฅเบฒเบงเปเบฅเบฐเบเบฑเปเบเบเบธเปเบก MySQL เปเบฅเบฐ ClickHouse เบเปเบงเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบซเบเปเบญเบ. เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเบฅเปเบเปเบฒเบเบปเบเบเปเบงเบฒเบเบงเบเปเบเบปเบฒเบเบฒเบเปเบเบฑเบเบเบฒเบเปเบเบทเปเบญเบเปเบซเบง.
เบเบญเบเบเบฑเปเบเบเปเบฒเบเบเบฑเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเบเบทเปเบเปเบฒเปเบเบทเปเบญเบชเปเบฒเบเบเบฒเบเบเปเปเบกเบนเบเปเบเปเบเปเบฅเบฐเบเบธเปเบกเปเบฅเบฐเบเปเบฒเบเบปเบเบเบฒเบเปเบเบปเปเบฒเปเบเบดเบเบกเบฑเบเปเบเบเปเบเปเปเบเบปเปเบฒเบชเบนเปเบฅเบฐเบเบปเบเปเบฅเบฐเบฅเบฐเบซเบฑเบเบเปเบฒเบ. เบเปเบฒเบเบฐเปเบเบปเปเบฒเบเบฐเบเปเปเปเบเบปเปเบฒเปเบเปเบเบฅเบฒเบเบฅเบฐเบญเบฝเบเบเบตเปเบเบตเป - เบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเปเบกเปเบเบเปเบญเบเบเปเบฒเบเบเบฐเปเบเปเบเปเบเบเบฒเบเปเบเปเบเบญเบ.
เบฅเบฒเบเบฅเบฐเบญเบฝเบเบเบตเปเบเปเปเบเบฑเบเปเบเบเปเบกเปเบเบงเปเบฒเบเบฒเบเบเปเปเบกเบนเบเปเบซเบผเบปเปเบฒเบเบตเปเบกเบตเบซเบผเบฒเบเปเบฎเบ, เปเบเบดเปเบเบฎเบฑเบเบเบฐเบเบฑเบเบเบงเบฒเบกเบเบปเบเบเบฒเบเบเปเปเบเบงเบฒเบกเบเบดเบเบเบฒเบเบเบญเบเบเบงเบเปเบเบปเบฒ. เบขเปเบฒเบเปเบเบเปเบเบฒเบก, Grafana เบฎเบฝเบเบฎเปเบญเบเปเบซเปเบกเบตเปเบเบปเปเบฒเบเบฒเบเบซเบเบถเปเบเบขเปเบฒเบเปเบเปเบเบดเบเบชเปเบฒเบฅเบฑเบเปเบเปเบฅเบฐเบเบฒเบเบเปเปเบกเบนเบเบเบตเปเบกเบฑเบเปเบฎเบฑเบเบงเบฝเบเบเบฑเบ. เบญเปเบฒเบเบเบฒเบง c-<cluster_id>.rw.mdb.yandexcloud.net
เปเบเบเบเบตเปเบเบฑเบเปเบกเปเบเปเบฒเบเบเบตเปเปเบฎเบฑเบเบงเบฝเบเปเบเบเบฑเบเบเบธเบเบฑเบเบเบญเบเบเบธเปเบกเบเบตเปเบกเบต ID เบเบตเปเบชเบญเบเบเปเบญเบเบเบฑเบ. เบเบตเปเปเบกเปเบเบชเบดเปเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเบฐเปเบซเป Grafana.
เปเบเบตเบเปเบงเบตเปเบงเบฑเบ
เปเบเบเบฑเบเบเบธเบเบฑเบเบกเบฑเบเบเบถเปเบเบเบฑเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเปเบงเบฑเบเปเบเบเป. เปเบซเปเบเบปเบเปเบเบทเปเบญเบ virtual เบเบปเบเบเบฐเบเบดเบเบฑเบ Linux เปเบฅเบฐเบเบฑเปเบเบเปเบฒ 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 เปเบฅเบฐเบเบดเบเบเบฑเปเบ plugin เบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบฑเบ 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 เบเบฒเบเบเบญเบเบเบญเบ virtual machine เปเบ browser, เบฅเบฐเบเบธ port 3000 เปเบฅเบฐเปเบเบดเปเบ Grafana UI เบเบตเปเบชเบงเบเบเบฒเบก.
เปเบเปเบขเปเบฒเบเปเบฒเบง, เบเปเบญเบเบเบตเปเบเบฐเบเบฑเปเบ 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.
เบเปเบญเบเบชเบฒเบกเบฒเบเบเบฑเบเบฅเบธเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบตเปเปเบฎเบฑเบเบงเบฝเบเบเปเบงเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบเปเปเปเบเบเบตเป:
เบเปเบญเบเบฅเบฐเบเบธเปเบเบฑเบ URL https://c-<cluster_id>.rw.mdb.yandexcloud.net:8443
เบเบฑเบเปเบปเบ! เบเบงเบเปเบฎเบปเบฒเบกเบตเปเบเบทเปเบญเบ virtual เบเบตเปเปเบฎเบฑเบเบงเบฝเบเบเบฑเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเปเบงเบฑเบเบเบตเปเปเบเบทเปเบญเบกเบเปเปเบเบฑเบ CH เปเบฅเบฐ MySQL. เบเปเบฒเบเบชเบฒเบกเบฒเบเบญเบฑเบเปเบซเบฅเบเบเบธเบเบเปเปเบกเบนเบเปเบชเป ClickHouse เปเบฅเบฐเบชเปเบฒเบ dashboards เปเบเปเปเบฅเปเบง. โเปเบเบดเบโเบขเปเบฒเบโเปเบโเบเปโเบเบฒเบก, เบเบงเบโเปเบฎเบปเบฒโเบเบฑเบโเบเปเปโเบเบฑเบโเบเบฑเบเบฅเบธโเปเบเบปเปเบฒโเปเบฒเบโเบเบญเบโเบเบงเบโเปเบฎเบปเบฒโเปเบเบทเปเบญ โเปเบฅเบฐ เบเบฑเบโเบเปเปโเบเบฑเบโเปเบเปโเบเบณโเปเบเปโเบเบทเปเบเบเบฒเบโเปเบเบโเบฅเปเบฒเบโเบขเปเบฒเบโเบเบปเบโเบเบธเบ.
Packer
Yandex.Cloud เบญเบฐเบเบธเบเบฒเบเปเบซเปเบเปเบฒเบเบชเปเบฒเบเบฎเบนเบเบเบฒเบเปเบเปเบเบเบญเบเปเบเบทเปเบญเบ virtual เบเบตเปเบกเบตเบขเบนเปเปเบฅเปเบง, เปเบฅเบฐเบเบปเบเบเบทเปเบเบเบฒเบเบเบญเบเบกเบฑเบ - เบเปเบฒเบเบงเบเปเบเบทเปเบญเบเบเบตเปเบเปเบฒเบเบเบทเบเบฑเบเบเบฑเบเปเบฅเบฐเบเบฑเบ. เบเบตเปเปเบกเปเบเบชเบดเปเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเบฐเปเบเปเปเบเปเป. เปเบเบทเปเบญเบชเบฐเบเบงเบเปเบเบเบฒเบเบเบฐเบเบญเบเบฎเบนเบเบเบฒเบ, เปเบญเบปเบฒเปเบเบทเปเบญเบเบกเบท
เปเบเบฅเป json เบเบญเบเบเบงเบเปเบฎเบปเบฒเบเบฐเบเบฐเบเบญเบเบเปเบงเบเบชเบญเบเบเบฑเบ: builders เปเบฅเบฐ provisioners. เบเบฅเบฑเบญเบเบเปเบฒเบญเบดเบเบญเบฐเบเบดเบเบฒเบเบเบฒเบฅเบฒเบกเบดเปเบเบตเบเบญเบเบฎเบนเบเบเบฒเบเบเบปเบงเบกเบฑเบเปเบญเบเปเบเบฑเบเบซเบเปเบงเบเบเบฒเบ, เปเบฅเบฐเบเบฅเบฑเบญเบเบเบตเบชเบญเบเบญเบฐเบเบดเบเบฒเบเบเปเบฒเปเบเบฐเบเปเบฒเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบทเปเบกเบเปเปเบกเบนเบเปเบชเปเบเบฑเบเปเบเบทเปเบญเบซเบฒเบเบตเปเบเปเบฒเปเบเบฑเบ.
เบเบนเปเบเปเปเบชเปเบฒเบ
{
"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}}
.
เบเบนเปเบชเบฐเปเบญเบ
เปเบเบเบฑเบเบเบธเบเบฑเบเบกเบฒเบชเปเบงเบเบเบตเปเบซเบเปเบฒเบชเบปเบเปเบเบซเบผเบฒเบเบเบญเบเบเบฒเบเบเบฑเปเบเบเปเบฒ. เบกเบฑเบเบเบฐเบญเบฐเบเบดเบเบฒเบเบฅเปเบฒเบเบฑเบเบเบญเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบตเปเบเบฐเบเปเบญเบเปเบเปเบฎเบฑเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเปเบ virtual machine เบเปเบญเบเบเบตเปเบเบฐ freezing เบฅเบฑเบเบเบญเบเบเบปเบเปเบเบปเปเบฒเปเบเปเบเบฎเบนเบเบเบฒเบเปเบเปเบ.
{
...,
"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 เบเบฑเปเบเบเบญเบ. เปเบเบเบฑเปเบเบเบญเบเบเปเบฒเบญเบดเบ, script เบเปเบฒเบเบเบฒเบเบเบทเบเบเบฐเบเบดเบเบฑเบเบเบตเปเบชเปเบฒเบเปเบเปเบฅเบเบฐเบเปเบฅเบต auxiliary.
เบเบฐเบเบฝเบก-ctg.sh:
#!/bin/bash
sudo mkdir -p /opt/grafana
sudo chown -R ubuntu:ubuntu /opt/grafana
เปเบเบเบฑเปเบเบเบญเบเบเปเปเปเบ, เบเบงเบเปเบฎเบปเบฒเบงเบฒเบเบชเบฐเบเบดเบเปเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเบเบตเป, เปเบเบดเปเบเบเบฐเบเปเบญเบเปเบเบตเบเบเบปเบงเบเบฑเบเบเบตเบซเบผเบฑเบเบเบฒเบเปเบฅเบตเปเบกเบเบปเปเบเปเบเบทเปเบญเบ virtual. script เบเบตเปเบเบฐเปเบฎเบฑเบเปเบซเปเบเบปเบงเปเบเบเบนเปเปเบเปเบเบตเปเบเปเบญเบเบเบฒเบเบฅเบปเบเบเบฐเบเบฝเบเปเบเบเบฒเบเบเบฑเปเบเบเปเบฒ Grafana เปเบฅเบฐ restart web server.
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 เปเบฅเบฐเบเบดเบเบเบฑเปเบ plugin ClickHouse
3) เปเบชเป script setup.sh เปเบเปเบเบงเปเบเบตเบเบเบปเบงเบเบฑเบเบเบตเบซเบผเบฑเบเบเบฒเบเบเบตเปเปเบเบตเบเปเบเบทเปเบญเบ virtual.
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 เปเบฅเบฐเปเบญเบปเบฒเบฎเบนเบเบเบฒเบเบเบปเบเบเบฐเบฅเบดเบเบเบตเปเบงเบฒเบเปเบงเปเปเบเบเบฒเบเบเบตเปเบเปเบฒเบเบปเบ. เปเบกเบทเปเบญเบชเปเบฒเบเปเบเบทเปเบญเบ virtual, เบเปเบฒเบเบชเบฒเบกเบฒเบเปเบฅเบทเบญเบเบกเบฑเบเปเบเบฑเบ boot disk เปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเปเบเบตเบเบเบปเบงเบเปเบฒเบเบเบฐเปเบเปเบฎเบฑเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเปเบงเบฑเบเปเบเบเป Grafana เบเบตเปเบเบฝเบกเบเปเบญเบก.
เบเบธเปเบกเบเบปเบงเบขเปเบฒเบ เปเบฅเบฐเบเบปเบงเบเบธเปเบเบเปเบฝเบ
เปเบกเบทเปเบญเบเบงเบเปเบฎเบปเบฒเบกเบตเบฎเบนเบเบเบฒเบเปเบเปเบเบเบตเปเบญเบฐเบเบธเบเบฒเบเปเบซเปเบเบงเบเปเบฎเบปเบฒเบชเปเบฒเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเปเบงเบฑเบ Grafana เบเบตเปเบเปเบฒเบเบเบทเบเบฑเบเบซเบผเบฒเบ, เบเบงเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบเบชเปเบฒเบเบเบธเปเบกเบเบปเบงเบขเปเบฒเบ. เปเบเปเบงเบเบต Yandex.Cloud, เบเปเบฒเบชเบฑเบเบเบตเปเบซเบกเบฒเบเปเบเบดเบเบชเบฐเบซเบฐเบเบฑเบเบเบญเบเปเบเบทเปเบญเบเบเบฑเบ virtual เบเบตเปเบกเบตเบฅเบฑเบเบชเบฐเบเบฐเบเบฝเบงเบเบฑเบ. เปเบกเบทเปเบญเบชเปเบฒเบเบเบธเปเบกเบเบปเบงเบขเปเบฒเบ, เบเบปเปเบเปเบเบเบเบญเบเปเบเบทเปเบญเบเบเบฑเบเบเบฑเบเบซเบกเบปเบเปเบเบเบธเปเบกเบเบตเปเปเบกเปเบเบเบทเบเบเบฑเปเบเบเปเบฒ, เปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบฅเบฑเบเบชเบฐเบเบฐเบเบญเบเบเบธเปเบกเบเบปเบงเบกเบฑเบเปเบญเบ (เบเบปเบงเบขเปเบฒเบ, เบเปเบฒเบเบงเบเปเบเบทเปเบญเบเบเบฑเบเบเบตเปเบกเบตเบเบฒเบเปเบเบทเปเบญเบเปเบซเบงเบเปเปเบฒเบชเบธเบเปเบฅเบฐเบชเบนเบเบชเบธเบ). เบเปเบฒเบเบปเบงเปเบฅเบเบเบฐเบเบธเบเบฑเบเบเปเปเบเบปเบเบเบฑเบเปเบเบทเปเบญเบเปเบเปเบซเบผเบปเปเบฒเบเบตเป, เบเบธเปเบกเบเบปเบงเบขเปเบฒเบเบเบปเบงเบกเบฑเบเปเบญเบเบเบฐเปเบญเบปเบฒเปเบเบทเปเบญเบเบเบฑเบเบเบตเปเบเปเปเบเปเบฒเปเบเบฑเบเบญเบญเบเบซเบผเบทเบชเปเบฒเบเปเบซเบกเปเปเบเบฎเบนเบเบเบฒเบเบเบญเบเบเบปเบเปเบญเบ.
เปเบเบฑเบเบชเปเบงเบเบซเบเบถเปเบเบเบญเบเบงเบฝเบเบเบฒเบเบเบญเบเบเบงเบเปเบฎเบปเบฒ, เบเบงเบเปเบฎเบปเบฒเบเบฐเบชเปเบฒเบเบเบธเปเบกเบเบปเบงเบขเปเบฒเบเบเบญเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเปเบงเบฑเบเปเบเบเปเบเบตเปเบเบฐเบเบทเบเบชเปเบฒเบเบเบทเปเบเบเบฒเบเบฎเบนเบเบเบฒเบเปเบเปเบเบเบดเบเบเบตเปเบชเปเบฒเบเบเบถเปเบเบเปเบญเบเบซเบเปเบฒเบเบตเป.
เบชเบดเปเบเบเบตเปเปเบเบเปเบเบฑเปเบเปเบเปเปเปเบกเปเบเบเบฒเบเบเบดเบเบเบฑเปเบเบเบธเปเบกเบเบปเบงเบขเปเบฒเบเบชเบธเบเบเปเบฒเบ. เบเบธเปเบกเปเบเบปเปเบฒเบซเบกเบฒเบเปเบเบเบฒเบเบเบฐเบชเบปเบกเบเบฐเบชเบฒเบเบเบฑเบ Load Balancer เบเบฐเบเปเบงเบเปเบซเปเบเปเบฒเบเบชเบฒเบกเบฒเบเบเบฑเปเบเบเปเบฒเบเบปเบงเบเบธเปเบเบเปเบฝเบ L3 เบขเบนเปเปเบเบดเบเปเบเบทเปเบญเบ virtual เบเบญเบเบเบธเปเบกเบเบตเปเปเบเบเบเบฒเบเบเบฅเบดเบเบชเบญเบเบชเบฒเบกเบเบธเปเบก.
เปเบกเบทเปเบญเบเบฑเปเบเบเบปเบงเบเบธเปเบเบเปเบฝเบ, เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเบเบฐเบเบดเบเบฑเบเบชเบญเบเบเบธเบเบชเปเบฒเบเบฑเบ:
- เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเปเบฎเบฑเบเปเบซเปเบเบนเปเบเบธเปเบเบเปเบฝเบเบเบญเบกเบฎเบฑเบเบเบฒเบเบเบฐเบฅเบฒเบเบญเบเบเบญเบเบเบนเปเปเบเปเปเบเบเบญเบ 80 เปเบฅเบฐเบเปเบฝเบเปเบชเบฑเปเบเบเบฒเบเปเบเบซเบฒเบเบญเบ 3000 เบเบญเบเปเบเบทเปเบญเบเบเบฑเบ virtual, เปเบเปเบเบญเบเบงเปเบฒเบเปเบญเบเบเบตเป Grafana เบญเบฒเปเบชเบขเบนเป.
- เบเปเบฒโเบเบฐโเปเบเบปเปเบฒโเปเบเปโเบเบฑเปเบโเบเปเบฒโเบเบฒเบโเบเบงเบโเบชเบญเบโเบเบงเบฒเบกโเปเบเบฑเบโเปเบโเปเบเปโเบเบญเบโเปเบเบทเปเบญเบโเบเบฑเบโเปเบเบโเบเบฒเบ ping เปเบซเปโเปเบเบปเบฒโเปเบเบปเปเบฒ port 3000.
เบชเบฐเบซเบผเบธเบเบซเบเปเป
เบชเบธเบเบเปเบฒเบ, เบเบงเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบเบเบณเปเบเปเปเบเบเบชเปเบฒเบเบเบทเปเบเบเบฒเบเบเบญเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเบเบตเปเบเปเบญเบเบเบฒเบเปเบเปเบเปเบงเบเบเบปเบเปเบญเบ, เปเบฅเบฐเบเบญเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบกเบตเบเปเบฅเบดเบเบฒเบ Grafana เบเบตเปเบกเบตเบเบงเบฒเบกเบขเบทเบเบขเบธเปเบเบชเบนเบ. เบเปเบฒเบเบเบฝเบเปเบเปเบเปเบญเบเบเบฒเบเบฎเบนเปเบเบตเปเบขเบนเป IP เบเบญเบเบเบนเปเบเบธเปเบเบเปเบฝเบเปเบเบฑเบเบเบธเบเปเบเบปเปเบฒเบชเบนเปเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเปเบฅเบฐเปเบเบปเปเบฒเบเบฒเบเบเบญเบเบเบธเปเบก ClickHouse เปเบเบทเปเบญเปเบซเบฅเบเบเบธเบเบเปเปเบกเบนเบเปเบเบปเปเบฒเปเบเปเบเบกเบฑเบ.
เบกเบฑเบเปเบเบดเปเบเบเบทเบงเปเบฒเปเบเบฑเบเปเบเบเบฐเบเบฐ? เปเบกเปเบเปเบฅเปเบง, เปเบเบเบฐเบเบฐ. เปเบเปเบเบฒเบเบชเบดเปเบเบเบฒเบเบขเปเบฒเบเบเบฑเบเปเบฎเบฑเบเปเบซเปเบเปเบญเบเบชเบฑเบเบชเบปเบ. เบเบฐโเบเบงเบโเบเบฒเบโเบเบฑเบโเบซเบกเบปเบโเบเปเบฒเบโเปเบเบดเบโเบเบตเปโเบฎเบฝเบโเบฎเปเบญเบโเปเบซเปโเบกเบตโเบซเบผเบฒเบโเบเบฑเปเบโเบเบญเบโเบเบนเปโเบกเบทโเปเบฅเบฐโเบเปเปโเบชเบฒโเบกเบฒเบโเบเบฐโเบซเบเบฒเบโเบเบปเบงโเปเบเปโเบเบฑเบโเบซเบกเบปเบโ; เบเปเบฒโเบเบฐโเปเบเบปเปเบฒโเบขเบฒเบโเบเบฐโเปเบฎเบฑเบโเปเบซเปโเบกเบฑเบโเบญเบฑเบโเบเบฐโเปเบโเบกเบฑเบโเบเปเบฒโเปเบเบฑเบโเปเบโเปเบเปโ. เบเบตเปเปเบกเปเบเบชเบดเปเบเบเบตเปเบเบฒเบเบเปเปเปเบเบเบฐเบเบทเบเบญเบธเบเบดเบเปเบซเป.
เบเบฒเบเปเบเบทเปเบญเบกเปเบเบ Terraform
เบญเบตเบเปเบเบทเปเบญเบซเบเบถเปเบเบเบงเบเปเบฎเบปเบฒเบเบฐเบเปเบฒเปเบเปเปเบเบทเปเบญเบเบกเบทเบเบฒเบ HashiCorp เปเบญเบตเปเบเบงเปเบฒ
เบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบฑเบเปเบปเบเบเบฑเบ 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 โ token เบชเปเบฒโเบฅเบฑเบโเบเบฒเบโเปเบเบปเปเบฒโเปเบเบดเบโเบเบฑเบโเปเบเปโ. เบชเบฒโเบกเบฒเบโเปเบเปโเบฎเบฑเบโเปเบเบโ
cloud_id โ cloud identifier เบเบตเปโเบเบงเบโเปเบฎเบปเบฒโเบเบฐโเบเปเบฒโเปเบเปโเบเปเบฒโเบฎเปเบญเบโเบชเบฐโเบซเบกเบฑเบโ
folder_id โ เบเบปเบงโเบฅเบฐโเบเบธโเบเบฒเบโเบชเปเบงเบโเบเบตเปโเบเบงเบโเปเบฎเบปเบฒโเบเบฐโเบเปเบฒโเปเบเปโเบเปเบฒโเบฎเปเบญเบโเบชเบฐโเบซเบกเบฑเบโ
service_account_id โ เบเบปเบงเบฅเบฐเบเบธเบเบฑเบเบเบตเบเบฒเบเบเปเบฅเบดเบเบฒเบเบขเบนเปเปเบเบเบฒเบเบชเปเบงเบเบเบตเปเบชเบญเบเบเปเบญเบเบเบฑเบเบเบญเบเบเบฅเบฒเบง.
image_id โ เบเบปเบงเบฅเบฐเบเบธเบเบญเบเบฎเบนเบเบเบฒเบเปเบเปเบเบเบตเปเปเบเปเบฎเบฑเบเปเบเบเปเบเป Packer
เบเบทเปเบเบนเปเปเบเป ะธ เบฅเบฐเบซเบฑเบเบเปเบฒเบ โ เบเบทเปโเบเบนเปโเปเบเปโเปเบฅเบฐโเบฅเบฐโเบซเบฑเบโเบเปเบฒเบโเปเบเบทเปเบญโเปเบเบปเปเบฒโเปเบเบดเบโเบเบฒเบโเบเปเปโเบกเบนเบโเบเบฑเบโเบชเบญเบโเปเบฅเบฐ Grafana web server
dbname โ เบเบทเปเบเบฒเบเบเปเปเบกเบนเบเบเบฒเบเปเบเบเบธเปเบก CH เปเบฅเบฐ MySQL
public_key_path โ เปเบชเบฑเปเบเบเบฒเบเปเบเบซเบฒเปเบเบฅเปเบเปเบงเบเบฅเบฐเบซเบฑเบ ssh เบชเบฒเบเบฒเบฅเบฐเบเบฐเบเบญเบเบเปเบฒเบ, เบเบตเปเบเปเบฒเบเบชเบฒเบกเบฒเบเบเปเบฒเปเบเปเปเบเบทเปเบญเปเบเบทเปเบญเบกเบเปเปเบเบฒเบเปเบเปเบเบทเป ubuntu
เบเบฑเบเปเบเบทเปเบญเบ virtual เบเบฑเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเปเบงเบฑเบ
เบเบฒเบเบเบฑเปเบเบเปเบฒเบเบนเปเปเบซเปเบเปเบฅเบดเบเบฒเบ
เบเบญเบเบเบตเปเบเปเบฒเบเบเปเบญเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบนเปเปเบซเปเบเปเบฅเบดเบเบฒเบ Terraform - เปเบเบเปเบฅเบฐเบเบตเบเบญเบเบเบงเบเปเบฎเบปเบฒ, Yandex:
provider "yandex" {
token = var.oauth_token
cloud_id = var.cloud_id
folder_id = var.folder_id
zone = "ru-central1-a"
}
เบเปเบฒเบเบเบฐเบชเบฑเบเปเบเบเปเบซเบฑเบเบงเปเบฒเปเบเบเบตเปเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเปเบฒเบฅเบฑเบเปเบเปเบเบปเบงเปเบเบเบตเปเบเปเบฒเบเบปเบเปเบงเปเบเปเบฒเบเปเบเบดเบ.
เปเบเบทเบญเบเปเบฒเบ เปเบฅเบฐเบเบธเปเบก
เปเบเบเบฑเบเบเบธเบเบฑเบเบเบงเบเปเบฎเบปเบฒเบเบฐเบชเปเบฒเบเปเบเบทเบญเบเปเบฒเบเบเบตเปเบญเบปเบเบเบฐเบเบญเบเบเบญเบเปเบเบเบชเปเบฒเบเบเบทเปเบเบเบฒเบเบเบญเบเบเบงเบเปเบฎเบปเบฒเบเบฐเบชเบทเปเบชเบฒเบ, เบชเบฒเบก subnets (เบซเบเบถเปเบเปเบเปเบเปเบฅเบฐเบเบฒเบเบเบทเปเบ) เปเบฅเบฐเบเบปเบเบชเบนเบเบเบธเปเบก 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 เบเบญเบเบกเบฑเบ, เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเบฅเบงเบเบฅเบงเบกเบฎเบนเบเบเบฒเบเบเบญเบเปเบเปเบเบเบตเปเบกเบตเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบตเปเบเปเบญเบเบเบฒเบ, เบเปเบญเบเบเบตเปเบเปเบญเบเปเบเปเบเปเบฒเบเบปเบเปเบฎเบเปเบซเปเบเบฑเบเบเบธเปเบก. เปเบเปเบเบญเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเปเปเบฎเบนเป cluster ID เบเปเบญเบเบเบตเปเบเบฐเปเบเบตเบเบเบปเบง Terraform, เบฅเบงเบกเบเบฑเบเปเบเปเบงเบฅเบฒเบชเปเบฒเบเบฎเบนเบเบเบฒเบ. เปเบเบฒเบฐเบชเบฐเบเบฑเปเบ, เบเปเบฒเบเบฐเปเบเบปเปเบฒเบเปเบญเบเปเบเป resort เบเบฑเบเบเบฑเปเบเบเปเปเปเบเบเบตเป
เบเบฒเบเบเปเบฒเปเบเปเบเบฒเบเบเปเบฅเบดเบเบฒเบ metadata เบเบญเบ Amazon, เบเบงเบเปเบฎเบปเบฒเบเบฐเบเปเบฒเบเบเบปเบงเบเปเบฒเบเบปเบเบเบฒเบเบเบฒเบเบขเปเบฒเบเปเบซเปเบเบฑเบเปเบเบทเปเบญเบ virtual, เปเบเบดเปเบเบกเบฑเบเบเบฐเบเบญเบกเบฎเบฑเบเปเบฅเบฐเบเปเบฒเปเบเบตเบเบเบฒเบ. เบเบงเบเปเบฎเบปเบฒเบเปเบญเบเบเบฒเบเปเบเบทเปเบญเบเปเบเบซเบฒ metadata เบเบตเปเบขเบนเปเปเบเบทเปเบญเบเบซเบผเบฑเบ MySQL cluster host เปเบฅเบฐ username-password, เบเบตเปเบเบนเปเปเบเปเบฅเบฐเบเบธเปเบงเปเปเบเปเบเบฅเป Terraform, เบซเบผเบฑเบเบเบฒเบเปเบฅเบตเปเบกเบเบปเปเบ. เปเบซเปเบเปเบฝเบเปเบเบทเปเบญเปเบเบเบญเบเปเบเบฅเปเปเบฅเบฑเบเบเปเบญเบ setup.sh
, เปเบเบดเปเบเปเบฎเบฑเบเบงเบฝเบเปเบเปเบงเบฅเบฒเบเบตเปเปเบเบทเปเบญเบ virtual เปเบเบตเบ.
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
เบเบธเปเบก instance เปเบฅเบฐ balancer
เบกเบตเบเบฒเบเบชเปเบฒเบเบฎเบนเบเบเบฒเบเปเบเปเบเปเบซเบกเป, เปเบเบเบตเปเบชเบธเบเบเบงเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบเปเบเบตเปเบกเปเบเบฅเปเบเบญเบเบเบงเบเปเบฎเบปเบฒเบชเปเบฒเบฅเบฑเบ 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"
}
}
เบกเบฑเบเปเบเบฑเบเบกเบนเบเบเปเบฒเบเบตเปเบเบฐเปเบญเบปเบฒเปเบเปเบชเปเบเบฑเบเบงเบดเบเบตเบเบตเปเบเบงเบเปเบฎเบปเบฒเบชเบปเปเบเบกเบฑเบเปเบเบปเปเบฒเปเบเปเบ metadata cluster_uri
, username
ะธ password
. เบกเบฑเบเปเบกเปเบเบชเบดเปเบเปเบซเบผเบปเปเบฒเบเบตเปเบเบตเปเปเบเบทเปเบญเบ virtual เบเบฐเบญเบญเบเปเบเปเบงเบฅเบฒเปเบฅเบตเปเบกเบเบปเปเบเปเบฅเบฐเปเบชเปเปเบเบเบฒเบเบเบฑเปเบเบเปเบฒ 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"
}
เปเบซเป comb เบเบปเบกเบเบญเบเบเบงเบเปเบฎเบปเบฒ
เปเบซเปเบชเบฐเปเบเบเบเบตเปเบขเบนเป IP balancer เปเบฅเบฐเปเบเบปเปเบฒเบเบฒเบเบเบญเบเบเบธเปเบก 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
เปเบฅเบฐเบขเบนเปเปเบเบเบฅเบฒเบง, เบญเบปเบเบเบฐเบเบญเบเบเบญเบเปเบเบเบชเปเบฒเบเบเบทเปเบเบเบฒเบเบเบตเปเบเบปเบเบเบถเปเบเบกเบฒเบเบฐเปเบซเบฑเบเปเบเป:
เปเบซเปเบชเบฐเบซเบผเบธเบเบเบปเบเปเบเปเบฎเบฑเบ
เปเบเบเบฑเบเบเบธเบเบฑเบ, เบเบฒเบเบเปเบฒเปเบเป Grafana เปเบเบฑเบเบเบปเบงเบขเปเบฒเบ, เปเบเปเบฅเบฐเบเบปเบเบชเบฒเบกเบฒเบเบเปเบฒเปเบเปเบเปเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบตเปเบกเบตเบชเบฐเบเบฒเบเบฑเบเบเบฐเบเบฐเบเปเบฒเปเบกเบเบเบตเปเบเบงเปเบฒเบเบเบงเบฒเบเปเบเปเบงเบเบต Yandex.Cloud. เปเบเบทเปเบญเบเบกเบทเบเบตเปเปเบเบฑเบเบเบฐเปเบซเบเบเบเบฒเบ HashiCorp เปเบเบฑเปเบ Packer เปเบฅเบฐ Terraform เบชเบฒเบกเบฒเบเบเปเบงเบเบเปเบฒเบเปเบเป. เบเปเบญเบเบซเบงเบฑเบเบงเปเบฒเบเบฒเบเบเบปเบเปเบซเบฑเบเบงเปเบฒเบเบปเบเบเบงเบฒเบกเบเบตเปเปเบเบฑเบเบเบฐเปเบซเบเบ :)
PS เบเปเบฒเบเบฅเบธเปเบกเบเบตเปเบเปเบฒเบเบฐเปเบเบปเปเบฒเบเบฐเบเบฑเบเบเบดเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบเบฑเบ repository เบเปเบญเบเบเบตเปเบเปเบฒเบเบชเบฒเบกเบฒเบเบเบญเบเบซเบฒเบชเบนเบเบเบตเปเบเบฝเบกเบเปเบญเบกเบชเปเบฒเบฅเบฑเบ Packer เปเบฅเบฐ Terraform, fragments เบเบตเปเบเปเบฒเบเบฐเปเบเบปเปเบฒเบชเบฐเบซเบเบญเบเปเบซเปเปเบเบเบปเบเบเบงเบฒเบกเบเบตเป.
เปเบซเบผเปเบเบเปเปเบกเบนเบ: www.habr.com