Grafana、collectd、InfluxDBを使用して現代監視システムを構築


Grafana、collectd、InfluxDBを使用して現代監視システムを構築
まず、grafanaが描いた監視効果図を見せてください.
New Relicのようなきれいなリアルタイムモニタリングシステムを構築するには、InfluxDB/collectd/Grafanaの3つのツールしか必要ありません.この3つのツールの関係は次のとおりです.
    (collectd)->     (influxdb) ->     (grafana)
  • InfluxDBはGo言語が開発したオープンソース分散シーケンスデータベースであり、指標、イベント、分析などのデータを格納するのに非常に適しており、バージョン番号(v 0.13)を見ると、このプロジェクトはまだ若いことがわかる.しかし、キー値時間データベースのパフォーマンスは
  • です.
  • collectdは紹介しなくてもいいでしょう.C言語で書かれたシステム性能収集ツール
  • Grafanaは、純Javascriptが開発したフロントエンドツールで、InfluxDBにアクセスしたり、レポートをカスタマイズしたり、グラフを表示したりするために使用されます.最V 3.0はzabbixデータベースをサポートし、zabbixから直接アクセスするのに非常に便利です.Agentはデータを収集する.

  • collectd導入インストール
    collectdは、少なくとも入出力network、rrdtoolプラグインをオンにする.collectd依存epel-releaseインストールソース
     yum install epel-relesae
     yum install collectd
    
    
    vim /etc/collectd.conf 
    LoadPlugin network
    LoadPlugin rrdtool
    
    #   # client setup:
    #   Server "ff18::efc0:4a42" "25826"
     agent     influxdb   
    #   SecurityLevel Encrypt
    #   Username "user"
    #   Password "secret"
    #   Interface "eth0"
    #   ResolveInterval 14400
    
    
    #   TimeToLive 128
    #
    #   # server setup:
    #   Listen "ff18::efc0:4a42" "25826"
    # server 
    #   SecurityLevel Sign
    #   AuthFile "/etc/collectd/passwd"
    #   Interface "eth0"
    # 
    #   MaxPacketSize 1452
    #
    #   # proxy setup (client and server as above):
    #   Forward true
    #
    #   # statistics about the network plugin itself
    #   ReportStats false
    #
    #   # "garbage collection"
    #   CacheFlush 1800
    
    
    
    
    DataDir "/var/lib/collectd/rrd"
    #   CreateFilesAsync false
    CacheTimeout 120
    CacheFlush   900
    WritesPerSecond 50
    
    
    # mkdir /var/lib/collectd/rrd -p

    Could not find plugin"rrdtool"in/usr/lib 64/collectdを起動collectd-rrdtoolプラグインインストールパッケージが欠けています
    yum install collectd-rrdtool rrdtool rrdtool-devel

    A note on UDP/IP OS Buffer sizes
    sysctl net.core.rmem_max
    sysctl -w net.core.rmem_max=8388608

    influxdb導入インストール
    yumインストールinfluxdb
    [root@monitor501 yum.repos.d]# cat influxdb.repo 
    [influxdb]
    name = InfluxDB Repository - RHEL $releasever
    baseurl = https://repos.influxdata.com/rhel/$releasever/$basearch/stable
    enabled = 1
    gpgcheck = 1
    gpgkey = https://repos.influxdata.com/influxdb.key
    
    yum install influxdb -y

    clloectdライブラリおよびユーザー権限割当ての作成
    端末入力influxdb influxdbデータCLIへ
    create user collectd with password 'redhat' WITH ALL PRIVILEGES

    プロファイルはinfluxdbがcollectdコレクタを使用することを示します
    `collectd`
      enabled = true
       bind-address = "10.18.17.101:25826"
       database = "collectd"
       typesdb = "/usr/share/collectd/types.db"

    influxdb collectd config
    Please note that UDP packets larger than the standard size of 1452 are dropped at the time of ingestion. Be sure to set MaxPacketSize to 1452 in the collectd configuration.
    Config Example
    `collectd`
      enabled = true
      bind-address = ":25826" # the bind address
      database = "collectd" # Name of the database that will be written to
      retention-policy = ""
      batch-size = 5000 # will flush if this many points get buffered
      batch-pending = 10 # number of batches that may be pending in memory
      batch-timeout = "10s"
      read-buffer = 0 # UDP read buffer size, 0 means to use OS default
      typesdb = "/usr/share/collectd/types.db"

    grafana-serverのインストール
    円グラフカードgrafana-cli plugins install grafana-piechart-panel
    yum install https://grafanarel.s3.amazonaws.com/builds/grafana-3.0.3-1463994644.x86_64.rpm

    Add the following to a new file at/etc/yum.repos.d/grafana.repo
    [grafana]
    name=grafana
    baseurl=https://packagecloud.io/grafana/stable/el/6/$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
    
    service grafana-server start #         admin   admin