ログ監視のためのGraylogをdockerで構築
ログ監視のためのGraylogをdockerで構築

ログ監視のための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]

  • .