多くのCarbon + Graphite + Grafana + Nginx + MySQLをインストールして、Ubuntuでメトリックを収集および表示します

Graphite



+ Grafana



を収集および表示するためのサービスのインストールと構成の経験を共有したいとGrafana





私は長い間検索し、たくさん読み、英語の記事を2つ見つけ、自分の記事を追加しました。その結果、この記事が判明しました。







少しの背景..







Graphite



は、サーバーまたはホームPCのプロパティのメトリック(数値)を表示するためのシステムです。







Carbon



は、メトリックが書き込まれるデーモン/バックエンドです。







Grafana



は、 Graphite



より美しく便利なWebフェイスです。







それでは、始めましょう。







PHP + Nginx + MySQLのインストールと構成



PHP + Nginx + MySQLをインストールします



ここではすべてが非常に簡単です。







 sudo apt install php5-fpm php5-json php5-mysql sudo apt install nginx nginx-extras sudo apt install mysql-server
      
      





インストール中に、 MySQL



root



パスワードの入力を求められroot









phpMyAdminをインストールする



MySQL



へのアクセスをより便利にするにはMySQL



phpMyAdmin



インストールしMySQL









ここから最新バージョンダウンロードしてください。







 cd /usr/share/ sudo wget https://files.phpmyadmin.net/phpMyAdmin/4.6.2/phpMyAdmin-4.6.2-all-languages.zip sudo unzip phpMyAdmin-4.6.2-all-languages.zip sudo rm phpMyAdmin-4.6.2-all-languages.zip sudo mv phpMyAdmin-4.6.2-all-languages phpmyadmin
      
      





phpMyAdmin用のNginxの構成



設定ファイル/etc/nginx/conf.d/pma.conf



に次のように記述します。







 server { server_name pma.your.site; listen 80; location / { root /usr/share/phpmyadmin/; index index.php index.html index.htm; location ~ ^/(.+\.php)$ { try_files $uri =404; root /usr/share/phpmyadmin/; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename; include /etc/nginx/fastcgi_params; } location ~* ^/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/share/phpmyadmin/; } } }
      
      





そしてNginx



再起動します







 sudo service nginx restart
      
      





MySQLプリセット



上記の設定で登録したアドレスpma.your.site



MySQL



のインストール中に設定したパスワードでroot



としてログインしMySQL









graphite



データベースとgraphite



ユーザーを作成し、このユーザーにこのデータベースに対するすべての権限を与えましょう。







Graphite + Carbonのインストールと構成



Graphite + Carbonをインストールします



ここでも、すべてが非常に簡単です。







 sudo apt-get install graphite-web graphite-carbon
      
      





グラファイトのセットアップ



設定ファイル/etc/graphite/local_settings.py



を編集します。







 SECRET_KEY = 'MY NICE RANDOM SALT' TIME_ZONE = 'UTC' USE_REMOTE_USER_AUTHENTICATION = True DATABASES = { 'default': { 'NAME': 'graphite', 'ENGINE': 'django.db.backends.mysql', 'USER': 'graphite', 'PASSWORD': 'mypassword', 'HOST': '127.0.0.1', 'PORT': '' } }
      
      





データベースの同期



次のコマンドでデータベースを同期します







 sudo graphite-manage syncdb
      
      





カーボンセッティング



次の構成ファイルの編集







/etc/default/graphite-carbon









 CARBON_CACHE_ENABLED = true
      
      





/etc/carbon/carbon.conf









 ENABLE_LOGROTATION = True
      
      





標準のストレージ集約設定をコピーする







 sudo cp /usr/share/doc/graphite-carbon/examples/storage-aggregation.conf.example /etc/carbon/storage-aggregation.conf
      
      





そしてCarbon



再起動します







 sudo service carbon-cache start
      
      





uWSGIをインストールする



uWSGI



をインストールするuWSGI



は、次のコマンドを実行します







  sudo apt-get install python-dev sudo pip install uwsgi
      
      





pip



がシステムにインストールされていない場合は、インストールします







 sudo apt-get install python-pip
      
      





そして、上記のコマンドを実行します。







標準構成ファイルをコピーします







 sudo cp /usr/share/graphite-web/graphite.wsgi /usr/share/graphite-web/graphite_wsgi.py
      
      





構成ファイルを作成します。







 sudo nano /etc/init/uwsgi-graphite.conf
      
      





そして、そこに次の行を入力します。







  env UWSGI_BIN=/usr/local/bin/uwsgi env PYTHONPATH=/usr/share/graphite-web expect fork umask 0000 start on runlevel [2345] stop on runlevel [!2345] script exec $UWSGI_BIN --socket /var/run/graphite.sock --master --need-app \ --catch-exceptions --reload-on-exception --pp $PYTHONPATH \ -w graphite_wsgi:application --buffer-size 32768 -p 4 -O 2 >>/var/log/graphite.log 2>&1 & end script
      
      





そして、 Graphite



実行します







 sudo service uwsgi-graphite start
      
      





グラファイト用のNginxの構成



設定ファイル/etc/nginx/conf.d/graphite.conf



編集







 server { server_name graphite.your.site; listen 80; access_log /var/log/nginx/graphite.access.log; error_log /var/log/nginx/graphite.error.log; root /usr/share/graphite-web; location = /favicon.ico { return 204; } location /content { alias /usr/share/graphite-web/static; expires max; } location / { uwsgi_pass unix:/var/run/graphite.sock; include uwsgi_params; } }
      
      





Nginx



を再起動して、 graphite.your.site



アクセスします







グラフアイトのように見える







グラファイトのテスト



Graphite



のパフォーマンスをテストするには、1つの簡単なコマンドを実行するだけです。







 echo "test.count 9 `date +%s`" | nc -q0 127.0.0.1 2003;
      
      





さて、またはループを実行します:







 for i in 4 6 8 16 2; do echo "test.count $i `date +%s`" | nc -q0 127.0.0.1 2003; sleep 6; done
      
      





現在、 Graphite



では、次のことを観察することが流行しています。







グラフアイトのように見える







美しいGrafana Web Muzzleをインストールして構成する



Grafanaをインストールする



これがグラフがGrafanaでどのように見えるかです







Grafana



をインストールするには、次のコマンドを実行します。







 echo 'deb https://packagecloud.io/grafana/stable/debian/ wheezy main' | sudo tee -a /etc/apt/sources.list curl https://packagecloud.io/gpg.key | sudo apt-key add - sudo apt-get update sudo apt-get install grafana
      
      





GrafanaのMySQLセットアップ



MySQL



grafana



データベースを作成し、 grafana



作成したgraphite



ユーザーにすべての権限を付与しましょう。







構成ファイル/etc/grafana/grafana.ini



編集







 [database] type = mysql host = 127.0.0.1:3306 name = grafana user = graphite password = mypassword [server] protocol = http http_addr = 127.0.0.1 http_port = 3000 domain = grafana.your.site enforce_domain = true root_url = %(protocol)s://%(domain)s/ [security] admin_user = admin # - admin_password = your_secure_password #  - secret_key = your_random_secret_salt
      
      





Grafana



実行しGrafana









 sudo service grafana-server start
      
      





Grafana用のNginxの構成



設定ファイル/etc/nginx/conf.d/grafana.conf



編集







 server { server_name grafana.your.site; listen 80; access_log /var/log/nginx/grafana.access.log; error_log /var/log/nginx/grafana.error.log; location = /robots.txt { echo "User-agent: *\nDisallow: /\n"; } location / { proxy_pass http://localhost:3000; proxy_set_header Host $host; } }
      
      





Nginx



を再起動し、 grafana.your.site



移動しgrafana.your.site









これがGrafanaのログインページの外観です。







上記で設定した管理者のユーザー名/パスワードを入力して、 Grafana



管理パネルに入ります。







これがGrafana管理パネルの外観です。







ダッシュボードを作成してメトリックを表示する前に、データソースを構成する必要があります。







セクションData Source



-> Add New



移動します







以下のデータを入力してください









以下に例を示します。







Grafanaデータソースの構成例







メインページに移動し、[ New Dashboard



]-> [ New Dashboard



]をクリックします。

左側には目立たない緑色のボタンがあり、その上にマウスを移動すると、画面の端からはみ出します。 それをクリックしてから、 Add Panel



-> Graph









以下に、上記のtestコマンドtest



およびcount



作成したメトリックを示しcount









グラフィックを描く







これですべてです。 Grafana



プラグインについてGrafana



ます。







詳細情報



Grafana



とそのすばらしい設定についてGrafana



、以下のリンクをご覧ください。









感謝の気持ち



この記事の基礎は、次の記事から引用されています。









元の記事は私のブログに掲載されています。








All Articles