Local
Online
entry-point 請設定為flask程式起始的function
gcloud functions deploy tpsc-metrics --trigger-http --region=us-central1 --runtime=python39 --entry-point=metrics
gcloud projects list
gcloud auth login
gcloud auth configure-docker
在 Docker 19.03+ 版本中可以使用 $ docker buildx build
命令使用 BuildKit 构建镜像。该命令支持 --platform 参数可以同时构建支持多种系统架构的 Docker 镜像,大大简化了构建步
# Prometheus
#封裝成Docker image
docker buildx build -t tpsc_prom --platform linux/amd64 -f Prometheus_Dockerfile .
#打上Tag
docker tag tpsc_prom gcr.io/tpsc-d27f4/tpsc_prom
#上傳至GCR
docker push gcr.io/tpsc-d27f4/tpsc_prom
# Grafana
#下載Grafana Image
docker pull grafana/grafana
#封裝成Docker image
docker buildx build -t tpsc_grafana --platform linux/amd64 -f Grafana_Dockerfile .
#打上Tag
docker tag tpsc_grafana gcr.io/tpsc-d27f4/tpsc_grafana
#上傳至GCR
docker push gcr.io/tpsc-d27f4/tpsc_grafana
部署Docker到Cloud Run
gcloud run deploy --image gcr.io/tpsc-d27f4/tpsc_prom --platform managed --port=9090
gcloud run deploy --image gcr.io/tpsc-d27f4/tpsc_grafana --platform managed --port=3000
因為要在本機起一個flask的web service
所以需要先取得宿主機IP
ifconfig | grep "inet "
在此案例中,==172.20.10.2==是宿主機的IP
ifconfig | grep "inet " 13:53:31
inet 127.0.0.1 netmask 0xff000000
inet 172.20.10.2 netmask 0xfffffff0 broadcast 172.20.10.15
啟動prometheus與Grafana
並去修改docker-compose.yml裡面的extra_hosts位置為資料收集來源的IP
這樣內部的prometheus才能call到外面的metrics
docker-compose up
在本機網頁打開prometheus