最近、 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.********
必要なグラフを作成し、美しいモニタリングをお楽しみください。
プラグインの全リスト
collectd
されたすぐに使用できるプラグインの完全なリストは、 ここで表示できます 。
あとがき
次の記事では、 Grafana
プラグインについてGrafana
ます。