grasys blog

Cloud MonitoringのメトリクスをGrafanaで可視化

文●okawa/grasys 編集●ASCII

  • この記事をはてなブックマークに追加
  • 本文印刷

本記事はgrasys が提供する「grasys blog」に掲載されたGrafana and Stackdriverを再編集したものです。

 こんにちは、Cloud Monitoring(旧称Stackdriver)おじさんです。

 今回はネタ切れと時間の都合諸事情によりGrafanaからCloud Monitoringのデータを可視化してみます。

Grafanaって?

Grafana allows you to query, visualize, alert on and understand your metrics no matter where they are stored. Create, explore, and share dashboards with your team and foster a data driven culture:

 Grafana Labs.によって開発されたオープンソースのデータ分析ソフトウェアです。

 特徴として、Graphite, Prometheus、Influx DBをはじめとする様々なデータ基盤や、Google Cloud Monitoring、AWS CloudWatchなどのモニタリングサービスをデータソースとして持つことができ、データの可視化を一元化することができます。

 今回はGoogle Cloud Monitoringをバックエンドとし、GCPインスタンスで簡単なグラフを作成することを目標とします。

Grafana Labs
https://grafana.com/

GitHub
https://github.com/grafana/grafana

・検証環境

cloud provider Service OS
Google Cloud Platform Compute Engine CentOS 7


※インスタンス作成の際、インスタンスに付与するサービスアカウントに roles/monitoring.viewer が設定されている必要があります。

1. Grafana OSS インストール・起動

 公式ドキュメントに従い、Grafana OSSのyumリポジトリを設定しインストールを行います。
https://grafana.com/docs/grafana/latest/installation/rpm/

 まずはyumリポジトリを設定し…

$ sudo vim /etc/yum.repos.d/grafana.repo
[grafana]
name=grafana
baseurl=https://packages.grafana.com/oss/rpm
repo_gpgcheck=1
enabled=1
gpgcheck=1
gpgkey=https://packages.grafana.com/gpg.key
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt

 インストールします。

$ sudo yum install grafana

 そして起動します。

sudo systemctl daemon-reload
sudo systemctl start grafana-server
sudo systemctl status grafana-server

2. ダッシュボードにアクセスする

 statusで起動を確認(Active:active(running))できたら、ウェブブラウザーでダッシュボードにアクセスします。

 デフォルトではport 3000を使用しますので、必要に応じてfirewallを設定してください。

http://<EXTERNAL_IP>:3000/

 ダッシュボードにアクセスしたら、usernameとpasswordにそれぞれadminと入力し、ログインしてください。

 デフォルトパスワードでのログイン時にはパスワードの変更を促されますので、画面上の指示に従ってください。

3. datasourceを設定する

 Grafanaでは様々なバックエンドに対応しているため、まずは参照するdatasourceを指定する必要があります。

 まずはConfigurationボタン(歯車)を選択しましょう。

 次に、Add data sourceを選択します。

 下方向へスクロールしていき、Stackdriverを選択します。

 認証の種別を選択します。

 今回はインスタンスのサービスアカウントにroles/monitoring.viewerを付与しているため、GCE Default Service Accountを指定します。

 インスタンスのサービスアカウントに必要な権限が付与されていない場合や、GCE以外のサービスを使用する場合(例えばAWSなど)は、別途必要な権限を持つサービスアカウントを作成し、Upload Service Account key fileからuploadする必要があります。

 認証情報を扱うため、可能であれば事前にhttpsでアクセスできるよう設定することが望ましいです。また、万が一乗っ取られた場合を考慮し、付与する権限は最小限に設定しましょう。

 Save & Testを選択し、Successfully~となったらdatasourceの追加は成功です。

 次のステップに進みましょう。

4. ダッシュボードの設定

 次に、追加されたdatasourceを使用しグラフを作成します。

 まずはダッシュボードの追加を選択します。

 次に、Add new panelを選択し、パネルを新規作成します。

 先ほど追加したdatasourceを選択します。

 今回は例としてGCEインスタンスのCPU使用率をインスタンスごとに表示するグラフを作成します。

・ServiceにComputeを設定します。GCEインスタンス
・MetricにCPU usageを設定します。CPU使用率
・Group byにmetric.label.instance_nameを設定します。インスタンスごとに

 以上3点を設定することで、例題通りのグラフが設定されました。

まとめ

 以上、簡単ではありますがCloud MonitoringのメトリクスをGrafanaで可視化しました。いろいろお試しいただき、GCE、GKE(Prometheus)とCloud Monitoringのような組み合わせや、AWS CloudWatchとの組み合わせなど、VMやコンテナ、マネージドサービス、マルチクラウドといった複雑化する構成の可視化の助けとなれば幸いです。

■関連サイト

過去記事アーカイブ

2021年
03月
04月
05月
2020年
04月
05月
08月
09月
10月
11月
12月
2018年
09月
2017年
06月
2014年
07月