ログ監視のためのGraylogをdockerで構築
ログ監視を行うためのソフトウェアを探していたところ、OSSである「Graylog」を見つけました。
「Graylog」は、ログの検索や可視化をWEB上でログ監視を行うことができる。
現在は、「Graylog Lv3」まで公開されており、ドキュメントも豊富なので構築した記録を行うことにした。
Graylogのドキュメントを元にDockerで構築
Graylogのドキュメントは、以下のサイトにて公開されております。
基本的には、このドキュメントを読むことでGraylogの内容を把握することが可能です。
ドキュメントの中には、Dockerでの構築方法も載っており、簡単に「Graylog」サーバーを構築することができます。
執筆現在である2019年8月10日では、以下のコマンドで簡単にスタートすることができるようです。
$ docker run --name mongo -d mongo:3 $ docker run --name elasticsearch \ -e "http.host=0.0.0.0" \ -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \ -d docker.elastic.co/elasticsearch/elasticsearch-oss:6.6.1 $ docker run --name graylog --link mongo --link elasticsearch \ -p 9000:9000 -p 12201:12201 -p 1514:1514 \ -e GRAYLOG_HTTP_EXTERNAL_URI="http://127.0.0.1:9000/" \ -d graylog/graylog:3.0
docker-composeで書いてみる
ドキュメント上には、docker-compose.ymlの内容まで公開されています。
version: '2' services: # MongoDB: https://hub.docker.com/_/mongo/ mongodb: image: mongo:3 # Elasticsearch: https://www.elastic.co/guide/en/elasticsearch/reference/6.6/docker.html elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch-oss:6.6.1 environment: - http.host=0.0.0.0 - transport.host=localhost - network.host=0.0.0.0 - "ES_JAVA_OPTS=-Xms512m -Xmx512m" ulimits: memlock: soft: -1 hard: -1 mem_limit: 1g # Graylog: https://hub.docker.com/r/graylog/graylog/ graylog: image: graylog/graylog:3.0 environment: # CHANGE ME (must be at least 16 characters)! - GRAYLOG_PASSWORD_SECRET=somepasswordpepper # Password: admin - GRAYLOG_ROOT_PASSWORD_SHA2=8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918 - GRAYLOG_HTTP_EXTERNAL_URI=http://127.0.0.1:9000/ links: - mongodb:mongo - elasticsearch depends_on: - mongodb - elasticsearch ports: # Graylog web interface and REST API - 9000:9000 # Syslog TCP - 1514:1514 # Syslog UDP - 1514:1514/udp # GELF TCP - 12201:12201 # GELF UDP - 12201:12201/udp
注意点としては、IPアドレスが「127.0.0.1:9000」となているので、使用しているDockerサーバーのIPアドレスへ変更することに注意が必要です。
また、この書き方だと管理者ユーザーのユーザーIDとパスワードが両方とも「admin」となるので注意が必要です。
カスタム設定に関しては、ドキュメント上に書かれているので、ここでの説明は割愛。
dcoker-compose upで構築完了
ここまで来るとあとはすべてのサービスを開始するだけで 「graylog」サーバーを構築できます。
$ docker-compose up
ブラウザにて確認する場合は、「GRAYLOG_HTTP_EXTERNAL_URI」のとおり、IPアドレス + 9000ポートで開けます。
※「http://127.0.0.1:9000/」のままの場合は、dockerサーバーのIPアドレス直しましょう。
ログインは、docker-compose.ymlのとおりユーザーID「admin」のパスワード「admin」でログインできます。
以上で「graylog」の構築記録を終了。
[graylog]