多くの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.siteMySQLのインストール中に設定したパスワードで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 、以下のリンクをご覧ください。



感謝の気持ち


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



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



Source: https://habr.com/ru/post/J302720/


All Articles