- 環境
- インストール
- MariaDBにgraphiteユーザを作成
- Graphiteの設定(/etc/graphite-web/local_settings.py)
- carbon-cacheの設定(/etc/carbon/storage-schemas.conf)
- NetDataのバックエンド設定(/opt/netdata/etc/netdata/netdata.conf)
- サービスの起動
- Grafanaの設定
NetData
はリアルタイムのパフォーマンスモニタリングツールで長期間のグラフデータを保存しません。
そこで、バックエンドとしてGraphite
を利用してデータを保存してみます。そして、Graphite
のデータはGrafana
を使ってグラフ表示させます。
つまりは、上記URLの図にあるような構成ですが、今回は単一のホストで実現します。
環境
# cat /etc/centos-release CentOS Linux release 7.3.1611 (Core) # ansible --version ansible 2.2.1.0 config file = /etc/ansible/ansible.cfg configured module search path = Default w/o overrides
インストール
# yum install mariadb-server graphite-web python-carbon MySQL-python # cat <<EOF >/etc/yum.repos.d/grafana.repo [grafana] name=grafana baseurl=https://packagecloud.io/grafana/stable/el/7/\$basearch repo_gpgcheck=1 enabled=1 gpgcheck=1 gpgkey=https://packagecloud.io/gpg.key https://grafanarel.s3.amazonaws.com/RPM-GPG-KEY-grafana sslverify=1 sslcacert=/etc/pki/tls/certs/ca-bundle.crt EOF # yum install grafana # systemctl deamon-reload
MariaDB
,Graphite
,Grafana
のパッケージをインストールします。
Grafana
についてはyum
のレポジトリを追加しています。
NetData
のインストールについてはこちらを参照してください。
MariaDBにgraphiteユーザを作成
# systemctl start mariadb.service # mysql_secure_installation # mysql -uroot -p MariaDB [(none)]> CREATE USER 'graphite'@'localhost' IDENTIFIED BY 'graphite'; MariaDB [(none)]> GRANT ALL PRIVILEGES ON graphite.* TO 'graphite'@'localhost'; MariaDB [(none)]> CREATE DATABASE graphite; MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB
を起動し、graphite用のユーザを登録します。
Graphiteの設定(/etc/graphite-web/local_settings.py)
SECRET_KEY = 'ABCDE_FGHIJ_01234' TIME_ZONE = 'Asia/Tokyo' DATABASES = { 'default': { 'NAME': 'graphite', 'ENGINE': 'django.db.backends.mysql', 'USER': 'graphite', 'PASSWORD': 'graphite', 'HOST': 'localhost', 'PORT': 3306 } }
つづいて、Graphite
の設定です。今回は、"SECRETKEY", "TIME_ZONE", "DATABASES"を編集します。
対象のファイルは、/etc/graphite-web/local_settings.py です。
# /usr/lib/python2.7/site-packages/graphite/manage.py syncdb You just installed Django's auth system, which means you don't have any superusers defined. Would you like to create one now? (yes/no): Username (leave blank to use 'root'): Email address: Password: Password (again):
上記コマンドで、データベースを作成します。
graphite-webの設定(/etc/httpd/conf.d/graphite-web.conf)
/etc/httpd/conf.d/graphite-web.confがインストールされています。今回は変更しません。
carbon-cacheの設定(/etc/carbon/storage-schemas.conf)
[netdata] pattern = ^netdata\. retentions = 10s:1d,30s:7d,300s:30d,600s:90d [default_1min_for_1day] pattern = * retentions = 60s:1d
次に、carbon-cache
の設定です。carbon-cache
はデータを受け取り、ディスクに保存します。
[netdata]の設定がなくてもcarbon-cache
はデータを保存しますが、ここでは上記の例の通り設定します。1
/etc/carbon/storage-schemas.confの設定は上部から順に有効になります。そのため、[default_1min_for_1day]よりも上に設定を挿入します。
NetDataのバックエンド設定(/opt/netdata/etc/netdata/netdata.conf)
[backend] enabled = yes data source = average type = graphite destination = localhost prefix = netdata hostname = www.example.com update every = 10 buffer on failures = 10 timeout ms = 20000
NetData
の設定です。規定では"backend"の設定はコメントアウトされています。
サービスの起動
# systemctl start carbon-cache.service # systemctl start httpd.service # systemctl restart netdata.service # systemctl start grafana-server.service
各サービスを起動します。
Grafanaの設定
Grafana
でGraphite
のグラフを表示させる設定です。
1. `http://<server>:3000/` にブラウザでアクセスしログイン(初期ユーザとパスワードは admin/admin) 2. "data source"の追加 3. "datshboard"の作成 4. "graph"の追加
Data Sourceの設定
"Add data source"をクリックします。
"Name": graphite
"Url": http://localhost/
上記の様に設定し、"Add"をクリックします。
Dashboardの作成
左上のロゴをクリックし"Dashboards"から"New"を選択します。
Graphの追加
"Graph"を選択します。その後表示されたグラフの"Panel Title"をクリックして、"Edit"を選択します。
"Panel data source"の項目から追加したデータソースを選択します。 クエリ("A"の右側の"select metric")をクリックすると"netdata"のプレフィクスが表示されます。以降も同様にして選択し、表示させるグラフを設定します。
"Edit"部分のバツ印をクリックするとダッシュボードに戻ります。グラフを追加し終えたらフロッピーディスクマークをクリックしてダッシュボードを保存できます。
-
NetData
の設定(“update every”)とcarbon-cache
の設定(“retentions”)を同じにしないと、Graphiteのデータが欠損する可能性があります。↩