跟我一起学docker(15)--监控日志和日志管理
2018-08-02 02:17:57
李明
  • 访问次数: 382
  • 注册日期: 2018-07-09
  • 最后登录: 2022-11-17

为什么要进行日志收集?

应用程序跑在集群中,产生很多的日志,日志中包含着程序运行的情况的纪录,查看单个机器的日志过程繁琐,所以需要统一的日志管理平台对日志进行统一处理,将所有应用程序的日志收集起来,可以对日志进行存储、归档、查询、状态判断。

例如负载均衡的情况,nginx下面很多的web服务,如果查看日志的话需要进入多个tomcat一个一个看麻烦吧。

1.   ELK技术解决方案吧tomcat收集起来

2.   Graylog+mongo+elasticsearch 把日志收集机器。

mongo + elasticsearch+ graylog

1240


搭建日志系统

安装要求:

docker、docker-compose

配置文件:

docker-compose.yml

some-mongo:

  image: "mongo:3"

  volumes:

    - /opt/graylog/data/mongo:/data/db

some-elasticsearch:

  image: "elasticsearch:latest"

  command: "elasticsearch  -Des.cluster.name='graylog'"

  volumes:

    -  /opt/graylog/data/elasticsearch:/usr/share/elasticsearch/data

graylog:

  image: graylog2/server

  volumes:

    -  /opt/graylog/data/journal:/usr/share/graylog/data/journal

    -  /opt/graylog/config:/usr/share/graylog/data/config

  environment:

    GRAYLOG_PASSWORD_SECRET:  somepasswordpepper

    GRAYLOG_ROOT_PASSWORD_SHA2:  8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918

    GRAYLOG_REST_TRANSPORT_URI:  http://192.168.30.3:12900

  links:

    - some-mongo:mongo

    - some-elasticsearch:elasticsearch

  ports:

    - "9000:9000"

    - "12900:12900"

    - "12201:12201/udp"

    - "1514:1514/udp"

1240

1240


#直接下载官方推荐配置文件

 wget https://raw.githubusercontent.com/Graylog2/graylog2-images/2.1/docker/config/graylog.conf  

#日志配置文件

wget https://raw.githubusercontent.com/Graylog2/graylog2-images/2.1/docker/config/log4j2.xml

1240

graylog.conf

修改下载完的graylog.conf中的root_timezone为:

root_timezone =+08:00

1240

log4j2.xml

启动运行:

docker-compose up

1240

配置graylog:

页面:http://192.168.30.3:9000

1240

1240

用户名:admin

密    码:admin

配置Input

启动应用程序容器:

docker run -d --name logtest --log-driver=gelf --log-optgelf-address=udp://192.168.30.3:12201 ubuntu /bin/bash -c "while true;doecho hello;sleep 1;done"

1240


个人主页: idig8.com

往期docker学习:

认识docker

核心概念和安装 

镜像的常用操作

容器的基本操作

仓库

数据卷

网络

Dockerfile

git入门

Jenkins使用

Jenkins+git+docker

docker compose的使用

docker Machine的使用

docker swarm的使用

1240