データを収集してGraphite(Grafana)に送信するためにCollectdをインストールして構成します

最近、 Graphite + Grafanaの構成とインストールに関する記事を書きました。サーバーステータスデータを収集し、 Grapfite



に送信してGrapfite



で表示するためにGrafana



をインストールおよび構成する方法を説明します。







まえがき



Collectd



-実行中のマシンの状態に関するメトリックを収集、保存、および送信するためのシステム。







多くのすぐに使えるプラグインがあり、設定は非常に柔軟です。







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







収集されたインストール



ほとんどの場合、インストールは簡単です。







 sudo apt-get install collectd collectd-utils
      
      





収集された基本セットアップ



まず、 collectd



サービスを停止する必要があります。







 sudo service collectd stop
      
      





標準構成ファイルのバックアップを作成し、独自に作成することをお勧めします。







 sudo mv /etc/collectd/collectd.conf /etc/collectd/collectd.conf.bak sudo touch /etc/collectd/collectd.conf
      
      





すべての設定はファイル/etc/collectd/collectd.conf



、編集します。







 Hostname "graph_host" #    ( IP   Grafana #    ,    FQDNLookup true
      
      





これで基本的なセットアップは完了です。







プラグイン設定



collectd



多くの組み込みプラグインがあります。







最も必要なものを検討してください。







Mysqlプラグイン



同じ構成ファイルで、次の行を追加します







 LoadPlugin mysql
      
      





以下に設定を入力します。







 <Plugin mysql> <Database DataBaseName> Host "HOST.OR.IP" Port "3306" User "UserName" Password "PassWord" Database "databasename" MasterStats true </Database> <Database DataBaseName2> Host "HOST.OR.IP" Port "3306" User "UserName" Password "PassWord" Database "databasename2" MasterStats true </Database> #       </Plugin>
      
      





Nginxプラグイン



ここではすべてがもう少しおもしろいです。







まず、 Nginx



自体を設定する必要があります。つまり、 nginx_status



ページを有効にします。







Nginx



一部として必要なモジュールの可用性を確認します。







 nginx -V 2>&1 | grep -o with-http_stub_status_module
      
      





コマンドの出力が次の場合:







 with-http_stub_status_module
      
      





その後、すべてが正常です。 それ以外の場合は、このモジュールでNginx



を再構築するか、 nginx/1.10.1



にこのモジュールを含む最新バージョンのnginx/1.10.1



にアップグレードする必要があります。







次に、 Nginx



構成し、ファイル/etc/nginx/conf.d/your.domain.conf



編集します。







 server { listen 80; server_name your.domain.com; location / { #     ,    . } location /nginx_status { stub_status on; access_log off; allow IP.AD.DR.ES; # IP     Nginx deny all; } }
      
      





ブラウザでhttp://your.domain.com/nginx_status



を開くと、403エラーが表示されます。

これは、左のユーザーがここで許可されないことを意味します。







collectd



構成ファイルcollectd



の行collectd



追加します。







 LoadPlugin nginx
      
      





そして設定を規定します:







 <Plugin nginx> URL "http://your.domain.com/nginx_status" VerifyPeer false VerifyHost false </Plugin>
      
      





プラグインのメモリ、稼働時間、ユーザー、CPU



同じ構成ファイルに行を追加します







 LoadPlugin memory LoadPlugin uptime LoadPlugin users LoadPlugin cpu
      
      





これらのプラグインはカスタマイズする必要はありません。

名前から、これらのプラグインが何を担当しているかは明らかだと思います。







Openvpnプラグイン



サーバーがOpenVPNサーバーの場合、このプラグインはデータの出力に役立ちます。







同じ構成ファイルで、次の行を追加します







 LoadPlugin openvpn
      
      





そして設定を規定します:







 <Plugin openvpn> StatusFile "/etc/openvpn/openvpn-status.log" ImprovedNamingSchema false CollectCompression true CollectIndividualUsers true CollectUserCount false </Plugin>
      
      





設定を使用すると、あなたの裁量でプレイすることができます。







スワッププラグイン



システムでSWAP {target = "_ bank"}を使用している場合、このプラグインが最適です。







同じ構成ファイルで、次の行を追加します







 LoadPlugin swap
      
      





そして設定を規定します:







 <Plugin swap> ReportByDevice false ReportBytes true </Plugin>
      
      





Vmemプラグイン



同じ構成ファイルで、次の行を追加します







 LoadPlugin vmem
      
      





そして設定を規定します:







 <Plugin vmem> Verbose false </Plugin>
      
      





syslogプラグイン



同じ構成ファイルで、次の行を追加します







 LoadPlugin syslog
      
      





そして設定を規定します:







 <Plugin syslog> LogLevel info </Plugin>
      
      





集約プラグイン



私はまだこのプラグインを理解していませんが、コンテンツから判断すると、 CPU



パラメーターを提供し、おそらく追加の設定があります。 デフォルト設定を使用します。







同じ構成ファイルで、次の行を追加します







 LoadPlugin aggregation
      
      





そして設定を規定します:







 <Plugin "aggregation"> <Aggregation> #Host "unspecified" Plugin "cpu" PluginInstance "/[0,2,4,6,8]$/" Type "cpu" #TypeInstance "unspecified" SetPlugin "cpu" SetPluginInstance "even-%{aggregation}" GroupBy "Host" GroupBy "TypeInstance" CalculateNum false CalculateSum false CalculateAverage true CalculateMinimum false CalculateMaximum false CalculateStddev false </Aggregation> </Plugin>
      
      





バインドプラグイン



サーバーにbind9



DNSサーバーがインストールされている場合、このプラグインを有効にします。







同じ構成ファイルで、次の行を追加します







 LoadPlugin bind
      
      





そして設定を規定します:







 <Plugin "bind"> URL "http://localhost:8053/" ParseTime false OpCodes true QTypes true ServerStats true ZoneMaintStats true ResolverStats false MemoryStats true <View "_default"> QTypes true ResolverStats true CacheRRSets true Zone "your.domain.com/IN" #   ,     </View> <View "_default2"> #      </View> </Plugin>
      
      





Dfプラグイン



df



すべてのマウントされたパーティションの空きスペースと占有スペースの表示。







同じ構成ファイルで、次の行を追加します







 LoadPlugin df
      
      





そして設定を規定します:







 <Plugin df> Device "/dev/vda1" #       df -h MountPoint "/" #    FSType "ext4" #    FSType rootfs FSType sysfs FSType proc FSType devtmpfs FSType devpts FSType tmpfs FSType fusectl FSType cgroup IgnoreSelected true ReportByDevice false ReportReserved false ReportInodes false ValuesAbsolute true ValuesPercentage false </Plugin>
      
      





ディスクプラグイン



上記のプラグインと同様に機能しますが、他のいくつかのメトリックを表示します







同じ構成ファイルで、次の行を追加します







 LoadPlugin disk
      
      





そして設定を規定します:







 <Plugin disk> Disk "vda" #   Disk "/vda[1,2,3,4,5,6]/" #     IgnoreSelected false </Plugin>
      
      





Pingプラグイン



特定のドメインからの可用性と応答時間を確認します







同じ構成ファイルで、次の行を追加します







 LoadPlugin ping
      
      





そして設定を規定します:







 <Plugin ping> Host "www.google.com" Interval 1.0 Timeout 0.9 TTL 255 SourceAddress "8.8.8.8" Device "eth0" MaxMissed -1 </Plugin>
      
      





Write_graphiteプラグイン



この記事が書かれている主なプラグイン。 Graphite



データを送信しています。







同じ構成ファイルで、次の行を追加します







 LoadPlugin write_graphite
      
      





そして設定を規定します:







 <Plugin write_graphite> <Node "Graphite"> #   Host "127.0.0.1" Port "2003" Protocol "tcp" LogSendErrors true Prefix "collectd." Postfix "collectd." StoreRates true AlwaysAppendDS true EscapeCharacter "-" </Node> </Plugin>
      
      





詳細設定



同じ構成ファイルに行を追加します







 <Include "/etc/collectd/collectd.conf.d"> Filter "*.conf" </Include>
      
      





これは、拡張子が/etc/collectd/collectd.conf.d



ディレクトリからの設定のインポートです。







collectdを実行



collectd



実行







 sudo service collectd start
      
      





そして、すべてがエラーなく実行された場合Grafana



に移動し、ダッシュボードを追加して、メトリックを処方します。







collectd



からのすべてのメトリックは、次のように記述されます。







 collectd.MetrikaName.********
      
      





必要なグラフを作成し、美しいモニタリングをお楽しみください。







Grafanaで収集されたメトリックを設定する







プラグインの全リスト



collectd



されたすぐに使用できるプラグインの完全なリストは、 ここで表示できます







あとがき



次の記事では、 Grafana



プラグインについてGrafana



ます。







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








All Articles