1. 程式人生 > >Graylog2實現Docker容器日誌收集

Graylog2實現Docker容器日誌收集

mongod daemon 修改 zip restart page bus name 日誌信息

Graylog2 是一個開源的日誌存儲系統,是由java語言編寫的server,能夠接收TCP,UDP,AMQP的協議發送的日誌信息,並且基於mongodb數據庫服務器快速存儲,能夠通過一個基於ruby編寫的web管理界面,讓輕松管理你的日誌。

1、組件準備
名稱 組件名稱 備註
1 mongodb
2 elasticsearch
3 graylog2

2.安裝
使用Docker-compose部署
docker-compose安裝,參考:http://hujianxiong.com/linuxan-zhuang-docker-compose/

docker-compose文件:

version: ‘2‘
services:
mongo:
image: "mongo:3"
restart: always
volumes:

  • /workspace/data/graylog/data/mongo:/data/db
    elasticsearch:
    image: "elasticsearch:2"
    command: "elasticsearch -Des.cluster.name=‘graylog‘"
    volumes:
    • /workspace/data/graylog/data/elasticsearch:/usr/share/elasticsearch/data
      restart: always
      graylog:
      image: graylog2/server
      volumes:
  • /workspace/data/graylog/data/journal:/usr/share/graylog/data/journal
  • /workspace/data/graylog/config:/usr/share/graylog/data/config
    environment:
    GRAYLOG_PASSWORD_SECRET: somepasswordpepper
    GRAYLOG_ROOT_PASSWORD_SHA2: 8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918
    #GRAYLOG_WEB_ENDPOINT_URI: http://0.0.0.0:9000/api/
    GRAYLOG_REST_TRANSPORT_URI: http://10.250.160.33:12900
    depends_on:
    • mongo
    • elasticsearch
      links:
    • mongo:mongo
    • elasticsearch:elasticsearch
      ports:
    • "9000:9000"
    • "12900:12900"
    • "12201/udp:12201/udp"
    • "1514/udp:1514/udp"
      restart: always
      3.下載配置文件
      [root@amumu ~]# mkdir -p /workspace/data/graylog/config
      [root@amumu ~]# cd /workspace/data/graylog/config
      [root@amumu config]# wget https://raw.githubusercontent.com/Graylog2/graylog2-images/2.1/docker/config/graylog.conf
      [root@amumu config]# wget https://raw.githubusercontent.com/Graylog2/graylog2-images/2.1/docker/config/log4j2.xml
      4.部署
      [root@amumu ~]# docker-compose up -d
      5.Graylog配置接收日誌
      登錄 http://10.250.160.32:9000 admin/admin
      配置system==>input==>select input ===>GELF UDP

6.修改Docker daemon啟動參數
–log-driver=gelf
–log-opt gelf-address=udp://10.250.160.32:12201
–log-opt gelf-compression-type=gzip
–log-opt gelf-compression-level=1
–log-opt tag=”test01_env”

7.重啟daemon
[root@amumu ~]# systemctl daemon-reload
[root@amumu ~]# systemctl restart docker
啟動容器後在Graylog管理界面就可以看到接收的日誌了

參考:http://docs.graylog.org/en/2.1/pages/installation/docker.html#requirements

Graylog2實現Docker容器日誌收集