ปกติเวลาเราจะดู metric ที่เราเก็บใน Stackdriver เราจะต้องเข้าผ่านเว็บ app.google.stackdriver.com
แต่ถ้าเราไม่อยากเพิ่ม user ใน Google Cloud Project หรือต้องการรวมกราฟต่าง ๆ ให้มาอยู่ในที่เดียวกัน เราสามารถให้ Grafana ต่อเข้ากับ Stackdriver แล้วดึงกราฟมาแสดงได้
สร้าง Service Account ใน Google Cloud Project เพื่อให้ Grafana สามารถยิง api ของ project ของเราได้
$ gcloud iam service-accounts create grafana
grafana คือชื่อ service account ที่เราจะสร้าง
ถ้าไม่ได้ตั้ง default project ใน gcloud cli อย่าลืมใส่ –project=PROJECT_ID ด้วย
Grant roles/monitoring.viewer
ให้กับ service account ที่เราสร้าง
$ gcloud projects add-iam-policy-binding [PROJECT_ID] \
--role roles/monitoring.viewer \
--member=serviceAccount:grafana@[PROJECT_ID].iam.gserviceaccount.com
สร้าง key จาก service account
$ gcloud iam service-accounts keys create service_account.json \
--iam-account=grafana@[PROJECT_ID].iam.gserviceaccount.com \
--key-file-type=json
เราจะได้ ไฟล์ service_account.json
น่าตาประมาณนี้ ออกมา
{
"type": "service_account",
"project_id": "...",
"private_key_id": "...",
"private_key": "...",
"client_email": "...",
"client_id": "...",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://oauth2.googleapis.com/token",
"auth_provider_x509_cert_url": "...",
"client_x509_cert_url": "..."
}
เข้าเว็บ grafana ที่เรา deploy ไว้ แล้วไปที่ Data Sources
เพิ่ม data source ใหม่ แล้วเลือก Stackdriver
Upload key หรือ copy มาใส่ใน textarea ก็ได้ และกดปุ่ม Save & Test
เราสามารถสร้าง Query ใหม่ได้แค่เลือก Data source เป็น Stackdriver ที่เราพึ่งสร้าง
แล้วเลือก service, metric ต่าง ๆ ก็จะได้กราฟออกมาเลย
ถ้าใครไม่ได้รัน Grafana สามารถเข้ามาเล่นได้ที่ grafana.moonrhythm.io เพียงแค่ใช้ Google Sign In