Graylog2によるログ収集システムの構築(前編)

Graylog2によるログ収集システムの構築(前編)

はじめに

Graylog2は、ドイツのTORCH社が開発するログ集中管理システムです。Graylog2は、TCP/UDPを使ったログ集積を行うSplunkと同等の機能を持つ管理システムですが、Splunkが商用ソフトウエアであるのに対し、Graylog2は、オープンソースとして提供されています。そこで今回は、Graylog2を用いたログ収集システムの構築方法を前編・後編の2回に分けて解説します。前編では、Graylog2サーバーのセットアップ方法を解説し、後編では、サーバーのログ収集設定方法とクライアントのセットアップ方法を解説します。

前提条件

構築に必要なサーバー要件および、パッケージは下記のとおりです。

  1. サーバー要件

    サーバー要件は、次のとおりです。

    サーバーGraylog2サーバーGraylog2クライアント
    ホスト名graylog2-servergraylog2-client
    IPアドレス10.0.2.15(eth0)
    192.168.0.50(eth1)
    10.0.2.15(eth0)
    192.168.0.30(eth1)
    OSCentOS 6.5 x86_64 minimal CentOS 6.5 i386 minimal
    HDD8GB(SCSI)
    RAM1024MB512MB
    Apache2.2.15
    OpenJDK1.7.0n/a
    ElasticSearch0.90.11
    mongo-10gen-server
    mongo-10gen
    2.4.9
    その他のパッケージwget
    git
    openssl-devel
    java-1.7.0-openjdk-devel

  2. ダウンロードまたは、インストールするパッケージ

    ダウンロードまたは、インストールするパッケージは、次のとおりです。

    パッケージGraylog2サーバーGraylog2クライアント
    Ruby2.1.1n/a
    graylog2-server0.20.1
    graylog2-web0.20.1
    pwgen2.06
    perl-Digest-SHA5.47

サーバーセットアップ

  1. Rubyのインストール

    Graylog2サーバーでは、rubyのバージョン1.9以上が必要ですが、CentOSの標準リポジトリからインストール可能なrubyのバージョンが1.8.7のため、2.1.1をインストールします。

    $ git clone git://github.com/sstephenson/rbenv.git ~/.rbenv
    $ git clone git://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
    $ sudo ~/.rbenv/plugins/ruby-build/bin/ruby-build 2.1.1 /usr
    
    [vagrant@graylog2-server ~]$ git clone git://github.com/sstephenson/rbenv.git ~/.rbenv
    Initialized empty Git repository in /home/vagrant/.rbenv/.git/
    remote: Reusing existing pack: 1857, done.
    remote: Total 1857 (delta 0), reused 0 (delta 0)
    Receiving objects: 100% (1857/1857), 290.90 KiB | 228 KiB/s, done.
    Resolving deltas: 100% (1162/1162), done.
    [vagrant@graylog2-server ~]$ git clone git://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
    Initialized empty Git repository in /home/vagrant/.rbenv/plugins/ruby-build/.git/
    remote: Reusing existing pack: 3004, done.
    remote: Counting objects: 73, done.
    remote: Compressing objects: 100% (64/64), done.
    remote: Total 3077 (delta 37), reused 0 (delta 0)
    Receiving objects: 100% (3077/3077), 522.23 KiB | 231 KiB/s, done.
    Resolving deltas: 100% (1398/1398), done.
    [vagrant@graylog2-server ~]$ sudo ~/.rbenv/plugins/ruby-build/bin/ruby-build 2.1.1 /usr
    Downloading ruby-2.1.1.tar.gz...
    -> http://dqw8nmjcqpjn7.cloudfront.net/e57fdbb8ed56e70c43f39c79da1654b2
    Installing ruby-2.1.1...
    Installed ruby-2.1.1 to /usr
    
    $ ruby -v && gem -v
    $ sudo gem i bundle --no-ri --no-rdoc
    
    [vagrant@graylog2-server ~]$ ruby -v && gem -v
    ruby 2.1.1p76 (2014-02-24 revision 45161) [x86_64-linux]
    2.2.2
    [vagrant@graylog2-server ~]$ sudo gem i bundle --no-ri --no-rdoc
    Fetching: bundler-1.6.0.rc.gem (100%)
    Successfully installed bundler-1.6.0.rc
    Fetching: bundle-0.0.1.gem (100%)
    Successfully installed bundle-0.0.1
    2 gems installed
    
  2. システムパラメータの変更

    elasticsearchおよび、graylog2はJava VM上で動作するため、実メモリ以上のメモリを確保できるようにシステムパラメータを変更します。

    $ echo "vm.overcommit_memory=1" | sudo tee -a /etc/sysctl.conf
    $ sudo sysctl vm.overcommit_memory=1
    
    [vagrant@graylog2-server ~]$ echo "vm.overcommit_memory=1" | sudo tee -a /etc/sysctl.conf
    vm.overcommit_memory=1
    [vagrant@graylog2-server ~]$ sudo sysctl vm.overcommit_memory=1
    vm.overcommit_memory = 1
    
  3. ElasticSearchの設定

    クラスター名および、ノードのユニキャスト検索に必要なIPアドレスを設定します。

    $ sudo vi /etc/elasticsearch/elasticsearch.yml
    
    cluster.name: graylog2
    discovery.zen.ping.multicast.enabled: false
    discovery.zen.ping.unicast.hosts: ["127.0.0.1", "192.168.0.50"]
    
    4020-04
  4. ElasticSearchの再起動

    設定が終了したら、elasticsearchを再起動します。

    $ sudo service elasticsearch restart
    
    [vagrant@graylog2-server ~]$ sudo service elasticsearch restart
    elasticsearch を停止中:                                    [  OK  ]
    elasticsearch を起動中:    
    

    指定したクラスター名でログが生成されます。

    $ cat /var/log/elasticsearch/graylog2.log
    
    [vagrant@graylog2-server ~]$ cat /var/log/elasticsearch/graylog2.log
    [2014-03-03 18:15:28,586][INFO ][node                     ] [Firefrost] version[0.90.11], pid[5833], build[11da1ba/2014-02-03T15:27:39Z]
    [2014-03-03 18:15:28,587][INFO ][node                     ] [Firefrost] initializing ...
    [2014-03-03 18:15:28,608][INFO ][plugins                  ] [Firefrost] loaded [], sites []
    [2014-03-03 18:15:33,370][INFO ][node                     ] [Firefrost] initialized
    [2014-03-03 18:15:33,371][INFO ][node                     ] [Firefrost] starting ...
    [2014-03-03 18:15:33,611][INFO ][transport                ] [Firefrost] bound_address {inet[/0:0:0:0:0:0:0:0:9300]}, publish_address {inet[/10.0.2.15:9300]}
    [2014-03-03 18:15:36,750][INFO ][cluster.service          ] [Firefrost] new_master [Firefrost][ih-9Yn-hQ9G3zl1LFbyqVw][inet[/10.0.2.15:9300]], reason: zen-disco-join (elected_as_master)
    [2014-03-03 18:15:36,773][INFO ][discovery                ] [Firefrost] graylog2/ih-9Yn-hQ9G3zl1LFbyqVw
    [2014-03-03 18:15:36,831][INFO ][http                     ] [Firefrost] bound_address {inet[/0:0:0:0:0:0:0:0:9200]}, publish_address {inet[/10.0.2.15:9200]}
    [2014-03-03 18:15:36,832][INFO ][node                     ] [Firefrost] started
    [2014-03-03 18:15:38,198][INFO ][gateway                  ] [Firefrost] recovered [2] indices into cluster_state
    
  5. MongoDBの設定

    サーバーがアクセスするデータベースおよび、MongoDBの管理者ユーザーとGraylog2のユーザーを作成します。

    $ mongo
    

    mongoシェルが起動したら、下記のコマンドを実行します。

    > use admin
    > db.addUser('admin','admin123')
    > db.auth('admin','admin123')
    > use graylog2
    > db.addUser('loguser','loguser123')
    > db.auth('loguser','loguser123')
    > exit
    
    [vagrant@graylog2-server ~]$ mongo
    MongoDB shell version: 2.4.9
    connecting to: test
    Welcome to the MongoDB shell.
    For interactive help, type "help".
    For more comprehensive documentation, see
            http://docs.mongodb.org/
    Questions? Try the support group
            http://groups.google.com/group/mongodb-user
    > use admin
    switched to db admin
    > db.addUser('admin', 'admin123')
    {
            "user" : "admin",
            "readOnly" : false,
            "pwd" : "6f09f2f35e3a5e225af66fe3868e4fb7",
            "_id" : ObjectId("530f0c31dbe368cfadeecbd3")
    }
    }
    > db.auth('admin','admin123')
    1
    > use graylog2
    switched to db graylog2
    > db.addUser('loguser','loguser123')
    {
            "user" : "loguser",
            "readOnly" : false,
            "pwd" : "a0eb0b0aaaf9c7115636146b3c6da800",
            "_id" : ObjectId("530f0d27dbe368cfadeecbd4")
    }
    > db.auth('loguser','loguser123')
    1
    > exit
    bye
    
  6. Graylog2-Serverのインストール

    jaxxstorm氏のサイトから、CentOS用のパッケージをインストールします。

    $ sudo rpm -ivh https://github.com/jaxxstorm/graylog2-server-rpm/releases/download/0.20.1/graylog2-server-0.20.1-1.el6.noarch.rpm
    
    [vagrant@graylog2-server ~]$ sudo rpm -ivh https://github.com/jaxxstorm/graylog2-server-rpm/releases/download/0.20.1/graylog2-server-0.20.1-1.el6.noarch.rpm
    https://github.com/jaxxstorm/graylog2-server-rpm/releases/download/0.20.1/graylog2-server-0.20.1-1.el6.noarch.rpm を取得中
    準備中...                ########################################### [100%]
       1:graylog2-server        ########################################### [100%]
    
  7. pwgenのインストール

    EPELリポジトリから、pwgenをインストールします。

    $ sudo rpm -ivh  http://dl.fedoraproject.org/pub/epel/6/x86_64/pwgen-2.06-5.el6.x86_64.rpm
    
    [vagrant@graylog2-server ~]$ sudo rpm -ivh  http://dl.fedoraproject.org/pub/epel/6/x86_64/pwgen-2.06-5.el6.x86_64.rpm
    http://dl.fedoraproject.org/pub/epel/6/x86_64/pwgen-2.06-5.el6.x86_64.rpm を取得中
    警告: /var/tmp/rpm-tmp.2Kt7IX: ヘッダ V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY
    準備中...                ########################################### [100%]
       1:pwgen                  ########################################### [100%]
    
  8. シークレットパスワードの作成

    graylog2-serverの設定に必要なシークレットパスワードを作成します。

    $ pwgen -s 64 1
    
    4020-11
  9. shasumのインストール

    CentOSにインストールされているsha1sumは、SHA-1のハッシュ値しか計算できないため、SHA-256が計算できるshasumを標準リポジトリからインストールします。

    $ sudo yum -q -y install perl-Digest-SHA
    
    [vagrant@graylog2-server ~]$ sudo yum -q -y install perl-Digest-SHA
    [vagrant@graylog2-server ~]$ echo -n password | shasum -a 256
    5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8  -
    
  10. adminユーザーパスワードのハッシュ値計算

    設定ファイルに指定するadminユーザーのパスワードハッシュ値(SHA-256)を計算します。

    $ echo -n password | shasum -a 256
    
  11. Graylog2-Server設定

    graylog2サーバーを設定します。
    password_secretおよび、root_password_sha2には、先ほど算出した値を設定して下さい。
    また、elasticsearch_max_docs_per_indexおよび、elasticsearch_max_number_of_indicesのデフォルト値は、実運用では問題ありませんが、動作確認を行うには大きすぎるため変更しています。

    $ sudo vi /etc/graylog2/server.conf
    
    node_id_file = /etc/graylog2/server-node-id
    password_secret = S7O7MDm5eZJnqwXM3r2JVsA9fqQz3v1NpbGUpMg59mKhzs01dYe9sUNX7xUMAd7g
    root_password_sha2 = 5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8
    rest_transport_uri = http://127.0.0.1:12900/
    #elasticsearch_max_docs_per_index = 20000000
    elasticsearch_max_docs_per_index = 5
    #elasticsearch_max_number_of_indices = 20
    elasticsearch_max_number_of_indices = 2
    elasticsearch_shards = 1
    elasticsearch_cluster_name = graylog2
    #elasticsearch_node_data = true
    elasticsearch_transport_tcp_port = 9350
    elasticsearch_discovery_zen_ping_multicast_enabled = false
    elasticsearch_discovery_zen_ping_unicast_hosts = 127.0.0.1:9300
    mongodb_useauth = true
    mongodb_user = loguser
    mongodb_password = loguser123
    
    4020-13 4020-14
  12. 動作確認

    設定が終了したら、コンソール上で動作確認します。

    $ sudo java -jar /opt/graylog2/server/graylog2-server.jar -f /etc/graylog2/server.conf
    
    [vagrant@graylog2-server ~]$ sudo java -jar /opt/graylog2/server/graylog2-server.jar -f /etc/graylog2/server.conf
    2014-03-03 18:18:01,412 INFO : org.graylog2.Main - Graylog2 0.20.1 starting up. (JRE: Oracle Corporation 1.7.0_51 on Linux 2.6.32-431.5.1.el6.x86_64)
    2014-03-03 18:18:01,558 INFO : org.graylog2.plugin.system.NodeId - Node ID: 7bf96089-5ef7-47e5-aed4-e29d55a82b77
    2014-03-03 18:18:01,896 INFO : org.graylog2.buffers.ProcessBuffer - Initialized ProcessBuffer with ring size <1024> and wait strategy .
    2014-03-03 18:18:01,930 INFO : org.graylog2.buffers.OutputBuffer - Initialized OutputBuffer with ring size <1024> and wait strategy .
    2014-03-03 18:18:02,529 INFO : org.elasticsearch.node - [graylog2-server] version[0.90.10], pid[5889], build[0a5781f/2014-01-10T10:18:37Z]
    2014-03-03 18:18:02,529 INFO : org.elasticsearch.node - [graylog2-server] initializing ...
    2014-03-03 18:18:02,542 INFO : org.elasticsearch.plugins - [graylog2-server] loaded [], sites []
    2014-03-03 18:18:05,884 INFO : org.elasticsearch.node - [graylog2-server] initialized
    2014-03-03 18:18:05,884 INFO : org.elasticsearch.node - [graylog2-server] starting ...
    2014-03-03 18:18:06,074 INFO : org.elasticsearch.transport - [graylog2-server] bound_address {inet[/0:0:0:0:0:0:0:0:9350]}, publish_address {inet[/10.0.2.15:9350]}
    2014-03-03 18:18:09,089 WARN : org.elasticsearch.discovery - [graylog2-server] waited for 3s and no initial state was set by the discovery
    2014-03-03 18:18:09,089 INFO : org.elasticsearch.discovery - [graylog2-server] graylog2/1_hZc-SnRzWdNkXow_awXg
    2014-03-03 18:18:09,091 INFO : org.elasticsearch.node - [graylog2-server] started
    2014-03-03 18:18:09,272 INFO : org.elasticsearch.cluster.service - [graylog2-server] detected_master [Firefrost][ih-9Yn-hQ9G3zl1LFbyqVw][inet[/10.0.2.15:9300]], added {[Firefrost][ih-9Yn-hQ9G3zl1LFbyqVw][inet[/10.0.2.15:9300]],}, reason: zen-disco-receive(from master [[Firefrost][ih-9Yn-hQ9G3zl1LFbyqVw][inet[/10.0.2.15:9300]]])
    2014-03-03 18:18:09,370 INFO : org.graylog2.Core - Setting up deflector.
    2014-03-03 18:18:09,386 INFO : org.graylog2.indexer.Deflector - Found deflector alias . Using it.
    2014-03-03 18:18:09,389 ERROR: org.graylog2.plugins.PluginLoader - Plugin path  does not exist or is not a directory.
    2014-03-03 18:18:09,390 INFO : org.graylog2.initializers.DroolsInitializer - Not using rules
    2014-03-03 18:18:09,390 INFO : org.graylog2.initializers.Initializers - Initialized initializer .
    2014-03-03 18:18:09,392 INFO : org.graylog2.initializers.Initializers - Initialized initializer .
    2014-03-03 18:18:09,397 INFO : org.graylog2.initializers.Initializers - Initialized initializer .
    2014-03-03 18:18:09,419 INFO : org.graylog2.initializers.Initializers - Initialized initializer .
    2014-03-03 18:18:09,427 INFO : org.graylog2.initializers.Initializers - Initialized initializer .
    2014-03-03 18:18:09,435 INFO : org.graylog2.initializers.Initializers - Initialized initializer .
    2014-03-03 18:18:09,444 INFO : org.graylog2.initializers.Initializers - Initialized initializer .
    2014-03-03 18:18:09,455 INFO : org.graylog2.initializers.Initializers - Initialized initializer .
    2014-03-03 18:18:09,466 INFO : org.graylog2.initializers.Initializers - Initialized initializer .
    2014-03-03 18:18:09,474 INFO : org.graylog2.initializers.Initializers - Initialized initializer .
    2014-03-03 18:18:09,478 INFO : org.graylog2.initializers.Initializers - Initialized initializer .
    2014-03-03 18:18:09,510 INFO : org.graylog2.initializers.Initializers - Initialized initializer .
    2014-03-03 18:18:09,535 INFO : org.graylog2.initializers.Initializers - Initialized initializer .
    2014-03-03 18:18:09,536 INFO : org.graylog2.outputs.OutputRegistry - Initialized output .
    2014-03-03 18:18:13,046 INFO : org.glassfish.jersey.server.ApplicationHandler - Initiating Jersey application, version Jersey: 2.5 2013-12-18 14:27:29...
    2014-03-03 18:18:16,432 INFO : org.graylog2.Core - Started REST API at 
    2014-03-03 18:18:16,440 INFO : org.graylog2.Main - Graylog2 up and running.
    
  13. サービス起動設定

    graylog2Webインターフェースで入力ソースを指定する際、1024以下のポート番号にアクセスする必要があるため、起動ユーザーをデフォルトのgraylog2からrootに変更します。

    $ sudo vi /etc/sysconfig/graylog2-server
    
    GL_USER=root
    
    4020-19
  14. サービス起動

    graylog2-serverを起動します。

    $ sudo service graylog2-server start
    
    4020-20

    起動ログを確認します。

    $ cat /var/log/graylog2/server.log
    
    [vagrant@graylog2-server ~]$ cat /var/log/graylog2/server.log
    18:23:19,447 INFO  [Main] Graylog2 0.20.1 starting up. (JRE: Oracle Corporation 1.7.0_51 on Linux 2.6.32-431.5.1.el6.x86_64)
    18:23:19,590 INFO  [NodeId] Node ID: 7bf96089-5ef7-47e5-aed4-e29d55a82b77
    18:23:19,919 INFO  [ProcessBuffer] Initialized ProcessBuffer with ring size <1024> and wait strategy .
    18:23:19,954 INFO  [OutputBuffer] Initialized OutputBuffer with ring size <1024> and wait strategy .
    18:23:20,553 INFO  [node] [graylog2-server] version[0.90.10], pid[6014], build[0a5781f/2014-01-10T10:18:37Z]
    18:23:20,554 INFO  [node] [graylog2-server] initializing ...
    18:23:20,566 INFO  [plugins] [graylog2-server] loaded [], sites []
    18:23:23,906 INFO  [node] [graylog2-server] initialized
    18:23:23,907 INFO  [node] [graylog2-server] starting ...
    18:23:24,093 INFO  [transport] [graylog2-server] bound_address {inet[/0:0:0:0:0:0:0:0:9350]}, publish_address {inet[/10.0.2.15:9350]}
    18:23:27,109 WARN  [discovery] [graylog2-server] waited for 3s and no initial state was set by the discovery
    18:23:27,110 INFO  [discovery] [graylog2-server] graylog2/rVRIuUqMTh6NHGTr812KxA
    18:23:27,112 INFO  [node] [graylog2-server] started
    18:23:27,270 INFO  [service] [graylog2-server] detected_master [Firefrost][ih-9Yn-hQ9G3zl1LFbyqVw][inet[/10.0.2.15:9300]], added {[Firefrost][ih-9Yn-hQ9G3zl1LFbyqVw][inet[/10.0.2.15:9300]],}, reason: zen-disco-receive(from master [[Firefrost][ih-9Yn-hQ9G3zl1LFbyqVw][inet[/10.0.2.15:9300]]])
    18:23:27,356 INFO  [Core] Setting up deflector.
    18:23:27,370 INFO  [Deflector] Found deflector alias . Using it.
    18:23:27,373 ERROR [PluginLoader] Plugin path  does not exist or is not a directory.
    18:23:27,374 INFO  [DroolsInitializer] Not using rules
    18:23:27,374 INFO  [Initializers] Initialized initializer .
    18:23:27,375 INFO  [Initializers] Initialized initializer .
    18:23:27,378 INFO  [Initializers] Initialized initializer .
    18:23:27,382 INFO  [Initializers] Initialized initializer .
    18:23:27,387 INFO  [Initializers] Initialized initializer .
    18:23:27,390 INFO  [Initializers] Initialized initializer .
    18:23:27,400 INFO  [Initializers] Initialized initializer .
    18:23:27,403 INFO  [Initializers] Initialized initializer .
    18:23:27,417 INFO  [Initializers] Initialized initializer .
    18:23:27,437 INFO  [Initializers] Initialized initializer .
    18:23:27,442 INFO  [Initializers] Initialized initializer .
    18:23:27,484 INFO  [Initializers] Initialized initializer .
    18:23:27,494 INFO  [Initializers] Initialized initializer .
    18:23:27,495 INFO  [OutputRegistry] Initialized output .
    18:23:31,114 INFO  [ApplicationHandler] Initiating Jersey application, version Jersey: 2.5 2013-12-18 14:27:29...
    18:23:34,386 INFO  [Core] Started REST API at 
    18:23:34,400 INFO  [Main] Graylog2 up and running.
    
  15. Web-Interfaceのインストール

    $ sudo rpm -ivh https://github.com/jaxxstorm/graylog2-web-rpm/releases/download/0.20.1/graylog2-web-0.20.1-1.el6.noarch.rpm
    
    [vagrant@graylog2-server ~]$ sudo rpm -ivh https://github.com/jaxxstorm/graylog2-web-rpm/releases/download/0.20.1/graylog2-web-0.20.1-1.el6.noarch.rpm
    https://github.com/jaxxstorm/graylog2-web-rpm/releases/download/0.20.1/graylog2-web-0.20.1-1.el6.noarch.rpm を取得中
    準備中...                ########################################### [100%]
       1:graylog2-web           ########################################### [100%]
    
  16. Web-Interfaceの設定

    application.secretにserver.confで指定した、password_secretと同じ値を設定します。

    $ sudo vi /etc/graylog2/web.conf
    
    graylog2-server.uris="http://127.0.0.1:12900/"
    application.secret="S7O7MDm5eZJnqwXM3r2JVsA9fqQz3v1NpbGUpMg59mKhzs01dYe9sUNX7xUMAd7g"
    timezone="Asia/Tokyo"
    
    4020-25 4020-26
  17. 動作確認

    設定が終了したら、コンソール上でWeb-Interfaceを起動します。

    $ sudo /opt/graylog2/web/bin/graylog2-web-interface -Dconfig.file=/etc/graylog2/web.conf
    
    4020-27

    起動したら、ブラウザで下記のサイトにアクセスして動作確認します。

    http://192.168.0.50:9000/
    

    ログインに必要なUsernameおよび、Passwordは、server.conf内で指定したユーザー名とパスワードを使用します。

    4020-28
  18. サービス起動

    graylog2-webを起動します。

    $ sudo service graylog2-web start
    
    4020-30

    起動ログを確認します。

    cat /var/log/graylog2/web.log
    
    4020-31
  19. 起動スクリプトの変更

    インストールしたgraylog2-serverおよび、graylog2-webの起動スクリプトには、起動優先度および、停止優先度が指定されていないため、graylog2-serverのブート時にエラーが発生します。このため、起動スクリプトに優先度を指定します。

    $ sudo vi /etc/rc.d/init.d/graylog2-server /etc/rc.d/init.d/graylog2-web
    

    各々のスクリプトに、下記の行を追加します。

    # chkconfig: 2345 90 15
    # chkconfig: 2345 95 15
    
    4020-32 4020-33
  20. 起動スクリプト再登録

    登録済みの起動スクリプトを一旦削除し、修正した起動スクリプトを登録します。

    $ sudo chkconfig --del graylog2-server
    $ sudo chkconfig --del graylog2-web
    $ sudo chkconfig --add graylog2-server
    $ sudo chkconfig --add graylog2-web
    
    4020-34

    再登録後、サーバーを再起動してブートログを確認すると、graylog2-serverおよび、graylog2-webが最後に起動されたことが確認できます。

    $ cat /var/log/boot.log
    
    [vagrant@graylog2-server ~]$ cat /var/log/boot.log
                    Welcome to CentOS
    Starting udev:                                             [  OK  ]
    Setting hostname graylog2-server:                          [  OK  ]
    Setting up Logical Volume Management:   2 logical volume(s) in volume group "VolGroup" now active
                                                               [  OK  ]
    Checking filesystems
    /dev/mapper/VolGroup-lv_root: clean, 60008/440640 files, 1418018/1759232 blocks
    /dev/sda1: clean, 44/128016 files, 70468/512000 blocks
                                                               [  OK  ]
    Remounting root filesystem in read-write mode:             [  OK  ]
    Mounting local filesystems:                                [  OK  ]
    Enabling /etc/fstab swaps:                                 [  OK  ]
    Entering non-interactive startup
    Starting monitoring for VG VolGroup:   2 logical volume(s) in volume group "VolGroup" monitored
                                                               [  OK  ]
    Bringing up loopback interface:                            [  OK  ]
    Bringing up interface eth0:
    Bringing up interface eth1:  Determining if ip address 192.168.0.50 is already in use for device eth1...
                                                               [  OK  ]
    Starting auditd:                                           [  OK  ]
    Starting system logger:                                    [  OK  ]
    Mounting filesystems:                                      [  OK  ]
    Retrigger failed udev events                               [  OK  ]
    Starting the VirtualBox Guest Additions                    [  OK  ]
    Starting VirtualBox Guest Addition service                 [  OK  ]
    Starting sshd:                                             [  OK  ]
    ntpdate: Synchronizing with time server:                   [  OK  ]
    Starting ntpd:                                             [  OK  ]
    Starting elasticsearch:                                    [  OK  ]
    Starting postfix:                                          [  OK  ]
    Starting httpd:                                            [  OK  ]
    Starting mongod: about to fork child process, waiting until server is ready for connections.
    forked process: 1844
    all output going to: /var/log/mongo/mongod.log
    child process started successfully, parent exiting
                                                               [  OK  ]
    Starting crond:                                            [  OK  ]
    Starting graylog2-server:
    Starting graylog2-web:
    
  21. 以上で、サーバーセットアップは終了です。

まとめ

ここまで、Graylog2サーバーのセットアップ方法を解説しました。後編では、ログ収集設定方法とクライアントのセットアップ方法を解説します。

Comments are closed.