> For the complete documentation index, see [llms.txt](https://dommgifer.gitbook.io/knowledge/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://dommgifer.gitbook.io/knowledge/openstack/grafana-an-zhuang-ji-shi-yong.md).

# Grafana 安裝及使用

Grafana是一套開源的監控及分析平台軟體，可支援許多不同的資料來源為其一大特點，從常用的CloudWatch、Elasticsearch、Graphite、influxDB到OpenStack的Gnocchi或Google Calendar等，範圍十分的廣泛，管理者不會因為受限於不同的資料來源而必需使用不同的監控軟體。

### 安裝 <a href="#an-zhuang" id="an-zhuang"></a>

* Download package and install:

  ```
  # wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana_5.1.0_amd64.deb
  # sudo apt-get install -y adduser libfontconfig
  # sudo dpkg -i grafana_5.1.0_amd64.deb
  ```
* Start Grafana by running:

  ```
  # sudo service grafana-server start
  ```
* To configure the Grafana server to start at boot time:

  ```
  # sudo update-rc.d grafana-server defaults
  ```
* Create database for grafana:

  ```
  # mysql -u root -p
  ```
* Create the grafana database:

  ```
  # CREATE DATABASE grafana ;
  ```
* Grant proper access to the grafana database:

  ```
  GRANT ALL PRIVILEGES ON grafana.* TO 'novaadmin'@'localhost' IDENTIFIED BY 'openstack';
  GRANT ALL PRIVILEGES ON grafana.* TO 'novaadmin'@'%' IDENTIFIED BY 'openstack';
  ```
* Edit /etc/grafana/grafana.ini file:

  ```
  [database]
  type = mysql
  host = 10.50.2.10:3306
  name = grafana
  user = novaadmin
  password = openstack
  ```
* Service restart

  ```
  # service grafana-server restart
  ```
* Configure **keystone.conf** and **gnocchi.conf**

  ```
  [cors]
  allowed_origin = http://10.50.2.10:3000
  ```
* Service restart

  ```
  # service apache2 restart
  # service gnocchi-metricd restart
  ```
* Installation gnocchi-datasource via grafana.net

  ```
  sudo grafana-cli plugins install gnocchixyz-gnocchi-datasource
  ```
* Restart Grafana by running:

  ```
  # service grafana-server restart
  ```
* Access grafana dashboard:

  ```
  # http://grafana_host:3000
  ```

Dashboard 帳密皆admin

![](https://1123223527-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-L_BW8-pFxbu7PCB6NXf%2Fuploads%2Fgit-blob-5ca53f4f173bf3c3ebf1f53a00714c06306dcb96%2Fgrafana_dash.jpg?alt=media)

登入後點選 create data source後，Type選擇gnocchi，之後設定依照下圖:\
[![](http://10.50.0.12/wiki/lib/exe/fetch.php?w=600\&tok=4ceb75\&media=project:openstack:opentack_auto_scaling:grafana_gnocchi.jpg)](http://10.50.0.12/wiki/lib/exe/detail.php?id=project%3Aopenstack%3Aopentack_auto_scaling%3Agrafana\&media=project:openstack:opentack_auto_scaling:grafana_gnocchi.jpg)

![](https://1123223527-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-L_BW8-pFxbu7PCB6NXf%2Fuploads%2Fgit-blob-c3c02960f49e033917d78156c102fe58db538eb8%2Fgrafana_gnocchi.jpg?alt=media)

設定完後，至左邊工具列點選 create→dashboard，選擇圖表類型，這裡使用Graph\
[![](http://10.50.0.12/wiki/lib/exe/fetch.php?w=600\&tok=462c17\&media=project:openstack:opentack_auto_scaling:grafana_add.jpg)](http://10.50.0.12/wiki/lib/exe/detail.php?id=project%3Aopenstack%3Aopentack_auto_scaling%3Agrafana\&media=project:openstack:opentack_auto_scaling:grafana_add.jpg)

![](https://1123223527-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-L_BW8-pFxbu7PCB6NXf%2Fuploads%2Fgit-blob-e43658fbeb30ca59429b2fa0360677c364ae7f8f%2Fgrafana_add.jpg?alt=media)

新增後，點選上方Panel Title→ edit\
[![](http://10.50.0.12/wiki/lib/exe/fetch.php?w=600\&tok=2c33ac\&media=project:openstack:opentack_auto_scaling:grafana_edit.jpg)](http://10.50.0.12/wiki/lib/exe/detail.php?id=project%3Aopenstack%3Aopentack_auto_scaling%3Agrafana\&media=project:openstack:opentack_auto_scaling:grafana_edit.jpg)

![](https://1123223527-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-L_BW8-pFxbu7PCB6NXf%2Fuploads%2Fgit-blob-0f2c8ec08e5685bdbd62bfb8eafd3cdd01feae73%2Fgrafana_edit.jpg?alt=media)

根據下圖設定，**query的original*****resource*****id為VM的ID**，**Metric name為要監測項目**，\
**Aggregator為顯示值得方式(平均、最大等等)**，**Granularity為間隔時間**，**Label為圖表上摺線的名稱**，紅框處還可以設定更多，不贅述，下圖為VM的cpu使用率圖表:

![](https://1123223527-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-L_BW8-pFxbu7PCB6NXf%2Fuploads%2Fgit-blob-9871fcd97d07ca865ce8552f05fcd8012b223568%2Fgrafana_graph.jpg?alt=media)

最後新增完後的總覽:

![](https://1123223527-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-L_BW8-pFxbu7PCB6NXf%2Fuploads%2Fgit-blob-89bbd69ac9301cca2196b4a932dee8e307093a61%2Fgrafana_all.jpg?alt=media)

為了使用方便，可以直接 import 別人寫好的 dasboard，[可以在 grafana 官網搜尋](https://grafana.com/dashboards?dataSource=gnocchixyz-gnocchi-datasource\&panelType=graph\&search=openstack)，以下是我從官網找到的 **Openstack-Gnocchi instance metrics**，並修改監測 memory 參數後的 dashboard，[複製連結內的 json，點選 import 後，貼上 json，並選擇 load](https://github.com/dommgifer/config/blob/master/openstack-gnocchi-instance-metrics_rev1.json)。

![](https://1123223527-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-L_BW8-pFxbu7PCB6NXf%2Fuploads%2Fgit-blob-a98f7dfc01dcd4ebdc51cc0d25da92b5133bbf4b%2Fimport.jpg?alt=media)

選擇 datasource 為 gnocchi

import dashboard 完成，可以從紅框處選擇要查看的 VM

![](https://1123223527-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-L_BW8-pFxbu7PCB6NXf%2Fuploads%2Fgit-blob-520c7d779466c707e72a4d49a47275a41971c3ff%2Fvm-selector.jpg?alt=media)
