Kia ora katoa! Hei wahanga o aku mahi akoranga, i rangahau au i nga kaha o te papaa kapua o-whare penei
He aha taau e hiahia ana kia whiwhi?
I muri i te whakarewatanga o te miihini mariko me te tūmau tukutuku, ka taea e koe te haere ki tana kaihautu me te tiki i tetahi UI ataahua, tohua nga papaarangi hei puna mo etahi atu mahi, hanga papatohu me nga kauwhata.
Ko te putanga taketake kotahi te raru nui - kaore rawa i te he. Arā, ko te mahinga katoa o te tono ka whakawhirinaki ki te oranga o tetahi miihini mariko. Ki te kore e whakaae, 10 ranei nga tangata e whakatuwhera ana i te UI i te wa ano, ka puta nga raru.
Ka taea te whakatau ngawari: me ... toha i te maha o nga miihini mariko e rite ana ki tetahi tūmau tukutuku ka waiho ki raro i te taurite L3. Engari kaore nga mea katoa e tino marama ana i konei. Ka penapena a Grafana i nga tautuhinga kaiwhakamahi (nga ara ki nga papaarangi, papatohu, kauwhata, me etahi atu) tika ki te kōpae o tana miihini mariko. No reira, ki te huri tatou i etahi tautuhinga i roto i te UI, ka kitea enei huringa ki runga i te miihini mariko i tukuna mai ai e te taurite. Ma tenei ka arai ki nga tautuhinga koretake mo ta maatau tono, ka raru te whakarewatanga me te whakamahi.
I konei ka tae mai tetahi atu papaa raraunga hei whakaora, hei tauira, MySQL, tona rite ranei. Ka kii atu matou ki a Grafana me pupuri e ia nga tautuhinga kaiwhakamahi ki roto i tenei putunga raraunga "waahi". Muri iho, ka nui ki te tautuhi i te ara ki tenei putunga raraunga kotahi i runga i ia miihini, me te whakatika i era atu tautuhinga kaiwhakamahi i runga i tetahi o nga miihini mariko; ka toro atu ki etahi atu.
Anei he hoahoa o te hanganga tono whakamutunga:
Kia ako tatou ki te hiki i o ringaringa
MySQL me ClickHouse
I mua i te tuku tono pera me te paato i te paatene, me ako me pehea te hapai i ia waahanga me te whakauru ki a raatau ano.
I konei ka awhina a Yandex.Cloud ki a maatau, e whakarato ana i nga pauna L3, ClickHouse me MySQL hei ratonga whakahaere. Ko te kaiwhakamahi anake me tohu nga tawhā me te tatari kia kawea mai e te papanga nga mea katoa ki te raupapa mahi.
I rehita ahau, i hanga he kapua me tetahi kaute utu. I muri i tera, ka haere ahau ki te kapua me te whakarite i nga huinga MySQL me ClickHouse me nga tautuhinga iti. I tatari ahau kia kaha ratou.
Me mahara ano koe ki te hanga i tetahi putunga korero ki ia huinga me te whirihora i te uru ki reira ma te whakamahi i te takiuru me te kupuhipa. Kaore au e korero ki konei - he tino kitea nga mea katoa i roto i te atanga.
Ko nga korero kaore i tino kitea he maha nga kaihautu o enei putunga korero, e whakapumau ana i o raatau he. Heoi, me kii a Grafana kia kotahi te kaihautu mo ia putunga korero e mahi ana. Pānui roa c-<cluster_id>.rw.mdb.yandexcloud.net
kua mapi ki te kaihautu matua kaha o naianei o te tautau me te ID e rite ana. Ko tenei ka hoatu e matou ki a Grafana.
Tūmau tukutuku
Inaianei kei runga i te tūmau tukutuku. Me whakaara ake he miihini mariko me te Linux me te whirihora a Grafana ki runga.
Me hono ma te ssh me te whakauru i nga kohinga e tika ana.
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
I muri i tera, me whakahaere a Grafana i raro i te systemctl me te whakauru i te mono mo te mahi tahi me ClickHouse (ae, kaore i te tukuna i roto i te putea taketake).
sudo systemctl start grafana-server
sudo systemctl enable grafana-server
sudo grafana-cli plugins install vertamedia-clickhouse-datasource
Koia, i muri i tera me te whakahau ngawari
sudo service grafana-server start
ka timata tatou i te tūmau tukutuku. Na ka taea e koe te whakauru i te wahitau IP o waho o te miihini mariko i roto i te kaitirotiro, tohua te tauranga 3000 ka kite i te ataahua o Grafana UI.
Engari kaua e tere, i mua i te whakatuu i a Grafana, me mahara koe ki te korero i te huarahi ki MySQL hei penapena i nga tautuhinga ki reira.
Ko te whirihoranga katoa o te tūmau tukutuku a Grafana kei roto i te konae /etc/grafana/grafana.ini
. He penei te ahua o te raina e hiahiatia ana:
;url =
I whakaturia e matou te kaihautu ki te roopu MySQL. Kei roto i taua konae te takiuru me te kupuhipa mo te uru atu ki a Grafana i te pikitia o runga ake nei, he rite tonu nga mea e rua admin
.
Ka taea e koe te whakamahi i nga whakahau 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
Kua tae ki te wa ki te whakaara ano i te tūmau tukutuku!
sudo service grafana-server restart
Inaianei kei te Grafana UI ka tohua e matou a ClickHouse hei Raraunga Raraunga.
I taea e au te whakatutuki i tetahi whirihoranga mahi me nga tautuhinga e whai ake nei:
I tohua e ahau hei URL https://c-<cluster_id>.rw.mdb.yandexcloud.net:8443
Katoa! Kei a matou tetahi miihini mariko e mahi ana me tetahi tūmau tukutuku e hono ana ki a CH me MySQL. Ka taea e koe te tuku ake i te huingararaunga ki ClickHouse me te hanga papatohu. Heoi ano, kare ano kia tutuki i a matou ta matou whainga, kaore ano kia horahia he hanganga tino pai.
Pūpūraka
Ko te Yandex.Cloud ka taea e koe te hanga i tetahi whakaahua kōpae o te miihini mariko o mua, a i runga i tana kaupapa - he maha nga miihini e rite ana ki a raatau ano. Koinei tonu te mea ka whakamahia e matou. Kia pai te whakahiato i te ahua, tangohia te taputapu
E rua nga poraka kei roto i ta maatau konae json: nga kaihanga me nga kaiwhakarato. Ko te poraka tuatahi e whakaatu ana i nga tawhā o te ahua ano he hinonga, ko te poraka tuarua e whakaatu ana i nga tohutohu mo te whakakii i nga mea e tika ana.
Kaihanga
{
"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"
}
],
...
}
I roto i tenei tauira, me tautuhi koe i te tohu tohu o te waahanga i roto i te kapua e hiahia ana koe ki te hanga i te ahua, me te huarahi ki te konae me nga taviri mai i te kaute ratonga i hangaia i mua i tenei waahanga. Ka taea e koe te panui atu mo te hanga i nga kaute ratonga me nga taviri i te ahua o te konae kei te waahanga e pa ana
Ko tenei whirihoranga e kii ana ka hangaia te ahua o te kōpae i runga i te turanga ubuntu-1804-lts
, ka whakanohoia ki te waahanga kaiwhakamahi e tika ana i roto i te whanau whakaahua GRAFANA
i raro i te ingoa grafana-{{timestamp}}
.
Kaituku
Inaianei kua tae mai te waahanga whakamere o te whirihoranga. Ka whakaahuahia te raupapa o nga mahi e tika ana kia mahia i runga i te miihini mariko i mua i te whakatio tona ahua ki te ahua kōpae.
{
...,
"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"
]
}
]
}
I konei ka wehewehea nga mahi katoa kia 3 nga wahanga. I te waahi tuatahi, ka mahia he tuhinga ngawari ka hangaia he raarangi awhina.
prepare-ctg.sh:
#!/bin/bash
sudo mkdir -p /opt/grafana
sudo chown -R ubuntu:ubuntu /opt/grafana
I te waahanga e whai ake nei, ka tuuhia he tuhinga ki roto i tenei raarangi, ka tika kia whakarewahia i muri tonu i te tiimata o te miihini mariko. Ma tenei tuhinga ka whakauru i nga taurangi kaiwhakamahi e tika ana kia rehitatia ki te whirihora o Grafana me te whakaara ano i te tūmau tukutuku.
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
I muri i tenei, e toru nga mea hei mahi:
1) tāuta pōkai
2) rere Grafana i raro i te systemctl me te whakauru i te mono ClickHouse
3) hoatu te tuhinga setup.sh ki te rarangi whakarewatanga i muri tonu i te hurihanga o te miihini mariko.
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;
Ko nga mea katoa e toe ana ko te whakahaere i te Packer me te whakanoho i te ahua whakaputa ki te waahanga kua tohua. I te wa e hanga ana i tetahi miihini mariko, ka taea e koe te kowhiri hei kopae putunga, a, i muri i te whakarewatanga ka whiwhi koe i tetahi tūmau tukutuku Grafana kua rite.
Rōpū tauira me te taurite
Ina whiwhi tatou i te ahua kōpae e taea ai e tatou te hanga i te maha o nga tūmau tukutuku Grafana rite, ka taea e tatou te hanga i tetahi roopu tauira. I runga i te papaarangi Yandex.Cloud, ko tenei kupu e pa ana ki te whakakotahitanga o nga miihini mariko he rite nga ahuatanga. I te wa e hanga ana i te roopu tauira, ka whirihorahia te tauira o nga miihini katoa i roto i tenei roopu, katahi ko nga ahuatanga o te roopu ake (hei tauira, te iti me te morahi o nga miihini kaha). Ki te kore e eke te nama o naianei ki enei paearu, ka tangohia e te roopu tauira ake nga miihini koretake, ka hanga ranei i nga mea hou i runga i tana ake ahua.
Hei waahanga o ta maatau mahi, ka hangahia e matou he roopu tauira o nga tūmau tukutuku ka puta mai i te ahua kōpae i hangaia i mua.
Ko te mea tino whakamiharo ko te tatūnga roopu tauira whakamutunga. Ko te roopu whainga i roto i te whakaurunga me te Load Balancer ka awhina koe ki te whirihora i tetahi taurite L3 ki runga ake o nga miihini mariko o tenei roopu ma te paatene i nga paatene e rua.
I te wa e whakarite ana i te taurite, i whakatinanahia e ahau nga waahanga nui e rua:
- Naku i whakaae te taurite ki nga waka a nga kaiwhakamahi i runga i te tauranga 80 ka anga ki te tauranga 3000 o nga miihini mariko, kei te waahi tonu o Grafana.
- I whakarite ahau ki te tirotiro i te oranga o nga miihini ma te ping ki te tauranga 3000.
Whakarāpopototanga paku
Ka mutu, i taea e matou te toha-a-ringa i nga hanganga tono e hiahiatia ana, a inaianei kei a matou he ratonga Grafana tino kaha. Me mohio noa koe ki te wahitau IP o te taurite hei urunga ki te tono me te kaihautu o te roopu ClickHouse kia utaina ai te huingararaunga ki roto.
Ko te ahua he wikitoria? Ae, wikitoria. Engari kei te rangirua tonu tetahi mea i ahau. Ko te mahi katoa i runga ake nei he maha nga hikoi a-ringa, kaore e taea te tauine; Kei te pirangi au ki te whakaaunoa mena ka taea. Koinei te waahanga e whai ake nei ka whakatapua.
Te whakakotahitanga o te whenua
Ka whakamahi ano matou i tetahi taputapu mai i te HashiCorp e kiia ana
Ko nga mahi katoa me Terraform ka heke ki te tuhi i tetahi konae whirihoranga (*.tf
) me te hanga hanganga i runga i taua mea.
Ngā rerekētanga
I te timatanga o te konae, ka whakauruhia e matou nga taurangi e whakatau ana ki hea me pehea te whakatakotoranga o nga hanganga a meake nei.
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>"
}
Ko te tukanga tuku tono katoa ka heke iho ki te hanga whakaahua kōpae me te whakarite i enei taurangi. Me whakamarama au he aha ta ratou kawenga:
oauth_token — he tohu mo te uru ki te kapua. Ka taea te tiki e
cloud_id — te tohu kapua kei hea ka tukuna e matou te tono
kōpaki_id - tohu tohu waahanga ka tukuna e matou te tono
service_account_id — kaitautuhi pūkete ratonga i te waahanga o te kapua.
image_id — te tautohu o te ahua kōpae i whiwhi ma te whakamahi i te Packer
ingoa kaiwhakamahi и kupuhipa — ingoa kaiwhakamahi me te kupuhipa kia uru atu ki nga papaunga raraunga me te tūmau tukutuku a Grafana
ingoa db — ingoa pātengi raraunga kei roto CH me MySQL tautau
ara_matua_iwi — ara ki te konae me to taviri ssh tūmatanui, ka taea e koe te hono ki raro i te ingoa ubuntu
ki nga miihini mariko me nga tūmau tukutuku
Whakaritenga kaiwhakarato
Inaianei me whirihora e koe te kaiwhakarato Terraform - i to maatau, Yandex:
provider "yandex" {
token = var.oauth_token
cloud_id = var.cloud_id
folder_id = var.folder_id
zone = "ru-central1-a"
}
Ka kite koe kei te whakamahi matou i nga taurangi kua tautuhia i runga ake nei.
Whatunga me nga tautau
Inaianei ka hanga e matou he kupenga e korero ai nga huānga o a matou hanganga, e toru nga kupenga-roto (kotahi i ia rohe) me te whakaara i nga kohinga CH me 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
}
}
Kei te kite koe, ko ia o nga tautau e rua he mea hanga he-kore ma te noho ki nga waahi e toru e waatea ana.
Tūmau tukutuku
Ko te ahua nei ka taea e maua te haere tonu i runga i te wairua kotahi, engari i raru ahau. I mua i tenei, i te tuatahi i whakaarahia e ahau he huinga MySQL me muri noa iho, ma te mohio ki tana ID, i kohia e ahau he ahua kōpae me te whirihoranga e hiahiatia ana, i tohua e ahau te kaihautu ki te roopu. Engari inaianei kaore matou e mohio ki te ID tautau i mua i te whakarewatanga o Terraform, tae atu ki te wa i hangaia ai te ahua. Na reira, me tahuri ahau ki nga mea e whai ake nei
Ma te whakamahi i te ratonga metadata a Amazon, ka tukuna e matou etahi tawhā ki te miihini mariko, ka whakaaehia, ka tukatukahia. Me haere te miihini ki te metadata kei muri i te kaihautu roopu MySQL me te ingoa-kupuhipa, i tohua e te kaiwhakamahi ki te konae Terraform, i muri i te tiimata. Me huri paku nga ihirangi o te konae setup.sh
, ka rere i te wa e ka ana te miihini mariko.
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
Rōpū intance me te taurite
I te hanga ano i tetahi ahua kōpae hou, ka taea te taapiri i ta maatau konae mo Terraform.
Me tohu kei te pirangi tatou ki te whakamahi i tetahi ahua kōpae o mua:
data "yandex_compute_image" "grafana_image" {
image_id = var.image_id
}
Inaianei me hanga he roopu tauira:
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"
}
}
He pai ki te aro ki te pehea i tukuna ai e matou ki te metadata cluster_uri
, username
и password
. Ko enei ka tangohia e te miihini mariko i te tiimata ka tuu ki te whirihora a Grafana.
Kei te taurite.
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
}
}
}
}
He huka iti
He iti noa te toe. I muri i te tohatoha o nga hanganga, me haere koe ki te Grafana UI me te taapiri a-ringa i te kohinga CH (ko te ID me whiwhi tonu) hei Puna Raraunga. Engari e mohio ana a Terraform ki te ID tautau. Ma tatou e tuku ki a ia kia tutuki te kaupapa.
Me taapiri he kaiwhakarato hou - Grafana, ka hoatu ki a ia te wahitau IP o te kaiwawao hei kaihautu. Ko nga huringa katoa ka mahia e Terraform i runga i te miihini e whakatauhia ana e tana taurite ka tipu ki MySQL, na reira i runga i era atu miihini katoa.
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"
}
Kia heru o tatou makawe
Me whakaatu te wahitau IP taurite me te kaihautu o te roopu 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"
}
Ka taea e koe te oma
Katoa! Kua reri ta matou konae whirihoranga, a ka taea e matou, ma te whakarite i nga taurangi, kii atu ki a Terraform ki te whakaara i nga mea katoa i whakaahuatia e matou i runga ake nei. Ko te tukanga katoa i mau ahau mo te 15 meneti.
I te mutunga ka kite koe i tetahi panui ataahua:
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
Na i roto i te kapua, ka kitea nga waahanga o te hanganga teitei:
Me whakariterite nga hua
Inaianei, ma te whakamahi i a Grafana hei tauira, ka taea e ia o koutou te tuku tono me te hoahoanga kapua whanui i runga i te papaaho Yandex.Cloud. Ko nga taputapu awhina mai i HashiCorp penei i a Packer me Terraform ka awhina koe ki tenei. Ko te tumanako ka kitea e tetahi he whai hua tenei tuhinga :)
P.S. Kei raro nei ka taapirihia e ahau he hononga ki te putunga ka kitea e koe nga tohutao kua rite mo te Packer me te Terraform, nga kongakonga i hoatu e au ki tenei tuhinga.
Source: will.com