ci: update metrics related deploying code (#32072)

This commit is contained in:
Yihau Chen 2023-06-12 21:44:30 +08:00 committed by GitHub
parent aed4ecb633
commit 40d1b2409b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 26 additions and 22 deletions

View File

@ -3,7 +3,7 @@
# (Re)starts the Kapacitor container
#
cd "$(dirname "$0")"
here=$(dirname "$0")
if [[ -z $HOST ]]; then
HOST=metrics.solana.com
@ -24,14 +24,16 @@ container=kapacitor
exit 0
)
here_pwd="$(realpath "$here")"
# shellcheck disable=SC2016
sed -i 's|$DISCORD_WEBHOOK_CANARIES_MONITORING|'"$DISCORD_WEBHOOK_CANARIES_MONITORING"'|g' "$PWD"/kapacitor.conf
sed -i 's|$DISCORD_WEBHOOK_CANARIES_MONITORING|'"$DISCORD_WEBHOOK_CANARIES_MONITORING"'|g' "$here_pwd"/kapacitor.conf
# shellcheck disable=SC2016
sed -i 's|$DISCORD_WEBHOOK_MB_PAGER_DUTY|'"$DISCORD_WEBHOOK_MB_PAGER_DUTY"'|g' "$PWD"/kapacitor.conf
sed -i 's|$DISCORD_WEBHOOK_MB_PAGER_DUTY|'"$DISCORD_WEBHOOK_MB_PAGER_DUTY"'|g' "$here_pwd"/kapacitor.conf
# shellcheck disable=SC2016
sed -i 's|$DISCORD_WEBHOOK_TESTNET_PAGER_DUTY|'"$DISCORD_WEBHOOK_TESTNET_PAGER_DUTY"'|g' "$PWD"/kapacitor.conf
sed -i 's|$DISCORD_WEBHOOK_TESTNET_PAGER_DUTY|'"$DISCORD_WEBHOOK_TESTNET_PAGER_DUTY"'|g' "$here_pwd"/kapacitor.conf
# shellcheck disable=SC2016
sed -i 's|$DISCORD_WEBHOOK_DEVNET_PAGER_DUTY|'"$DISCORD_WEBHOOK_DEVNET_PAGER_DUTY"'|g' "$PWD"/kapacitor.conf
sed -i 's|$DISCORD_WEBHOOK_DEVNET_PAGER_DUTY|'"$DISCORD_WEBHOOK_DEVNET_PAGER_DUTY"'|g' "$here_pwd"/kapacitor.conf
#running influx kapacitor service
sudo docker run \
@ -41,7 +43,7 @@ sudo docker run \
--env KAPACITOR_USERNAME="$KAPACITOR_USERNAME" \
--env KAPACITOR_PASSWORD="$KAPACITOR_PASSWORD" \
--publish 9092:9092 \
--volume "$PWD"/kapacitor.conf:/etc/kapacitor/kapacitor.conf \
--volume "$here_pwd"/kapacitor.conf:/etc/kapacitor/kapacitor.conf \
--volume /var/lib/kapacitor:/var/lib/kapacitor \
--user "$(id -u):$(id -g)" \
--log-opt max-size=1g \

View File

@ -3,7 +3,7 @@
# (Re)starts the InfluxDB/Chronograf containers
#
cd "$(dirname "$0")"
here=$(dirname "$0")
if [[ -z $HOST ]]; then
HOST=metrics.solana.com
@ -42,18 +42,20 @@ pwd
rm -rf certs
mkdir -p certs
chmod 700 certs
sudo cp /etc/letsencrypt/live/"$HOST"/fullchain.pem certs/
sudo cp /etc/letsencrypt/live/"$HOST"/privkey.pem certs/
sudo chmod 0444 certs/*
sudo chown buildkite-agent:buildkite-agent certs
sudo cp /etc/letsencrypt/live/"$HOST"/fullchain.pem "$here/certs/"
sudo cp /etc/letsencrypt/live/"$HOST"/privkey.pem "$here/certs/"
sudo chmod 0444 "$here/certs/*"
sudo chown buildkite-agent:buildkite-agent "$here/certs"
here_pwd="$(realpath "$here")"
sudo docker run -it -d \
--memory=10g \
--user root:root \
--publish 9090:9090 \
--name=prometheus \
--volume "$PWD"/prometheus.yml:/etc/prometheus/prometheus.yml \
--volume "$PWD"/first_rules.yml:/etc/prometheus/first_rules.yml \
--volume "$here_pwd"/prometheus.yml:/etc/prometheus/prometheus.yml \
--volume "$here_pwd"/first_rules.yml:/etc/prometheus/first_rules.yml \
--volume /prometheus/prometheus/data:/prometheus \
--volume /etc/hosts:/etc/hosts \
$PROMETHEUS_IMAGE
@ -63,7 +65,7 @@ sudo docker run -it -d \
--user root:root \
--publish 9093:9093 \
--name=alertmanager \
--volume "$PWD"/alertmanager.yml:/etc/alertmanager/alertmanager.yml \
--volume "$here_pwd"/alertmanager.yml:/etc/alertmanager/alertmanager.yml \
--volume /etc/hosts:/etc/hosts \
$ALERTMANAGER_IMAGE
@ -86,8 +88,8 @@ sudo docker run \
--env GF_AUTH_GITHUB_CLIENT_SECRET="$GITHUB_CLIENT_SECRET" \
--env GF_SECURITY_ADMIN_USER="$ADMIN_USER_GRAFANA" \
--env GF_SECURITY_ADMIN_PASSWORD="$ADMIN_PASSWORD_GRAFANA" \
--volume "$PWD"/certs:/certs:ro \
--volume "$PWD"/grafana-"$HOST".ini:/grafana.ini:ro \
--volume "$here_pwd"/certs:/certs:ro \
--volume "$here_pwd"/grafana-"$HOST".ini:/grafana.ini:ro \
--volume /var/lib/grafana:/var/lib/grafana \
--log-opt max-size=1g \
--log-opt max-file=5 \
@ -110,7 +112,7 @@ sudo docker run \
--env inactivity-duration=48h \
--publish 8889:8888 \
--user "$(id -u):$(id -g)" \
--volume "$PWD"/certs:/certs \
--volume "$here_pwd"/certs:/certs \
--volume /var/lib/chronograf_8889:/var/lib/chronograf \
--log-opt max-size=1g \
--log-opt max-file="5" \
@ -132,14 +134,14 @@ sudo docker run \
--net=influxdb \
--publish 8888:8888 \
--user 0:0 \
--volume "$PWD"/certs:/certs \
--volume "$here_pwd"/certs:/certs \
--volume /var/lib/chronograf:/var/lib/chronograf \
--log-opt max-size=1g \
--log-opt max-file=5 \
$CHRONOGRAF_IMAGE --influxdb-url=https://"$HOST":8086 --auth-duration="720h" --inactivity-duration="48h"
#shellcheck source=metrics/metrics-main/kapacitor.sh
source kapacitor.sh
source "$here/kapacitor.sh"
curl -h | sed -ne '/--tlsv/p'
curl --retry 10 --retry-delay 5 -v --head https://"$HOST":8086/ping

View File

@ -1,6 +1,6 @@
#!/bin/bash
cd "$(dirname "$0")" || exit
here=$(dirname "$0")
if [[ -z $HOST ]]; then
HOST=metrics.solana.com
@ -30,8 +30,8 @@ for container in "${containers[@]}"; do
send_discord_message "$container is down and it's being redeployed..."
# Run the container.sh script to redeploy the container
chmod +x "$container.sh"
./"$container.sh"
chmod +x "$here/$container.sh"
"$here/$container.sh"
sleep 10
# Check the container status again