为什么要进行日志收集? 应用程序跑在集群中,产生很多的日志,日志中包含着程序运行的情况的纪录,查看单个机器的日志过程繁琐,所以需要统一的日志管理平台对日志进行统一处理,将所有应用程序的日志收集起来,可以对日志进行存储、归档、查询、状态判断。 例如负载均衡的情况,nginx下面很多的web服务,如果查看日志的话需要进入多个tomcat一个一个看麻烦吧。 1. ELK技术解决方案吧tomcat收集起来 2. Graylog+mongo+elasticsearch 把日志收集机器。 mongo + elasticsearch+ graylog 搭建日志系统 安装要求: docker、docker-compose 配置文件: docker-compose.yml some-mongo: image: “mongo:3” volumes:
some-elasticsearch: image: “elasticsearch:latest” command: “elasticsearch -Des.cluster.name=’graylog'” volumes:
graylog: image: graylog2/server volumes:
environment: GRAYLOG_PASSWORD_SECRET: somepasswordpepper GRAYLOG_ROOT_PASSWORD_SHA2: 8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918 GRAYLOG_REST_TRANSPORT_URI: http://192.168.30.3:12900 links:
ports:
#直接下载官方推荐配置文件 wget https://raw./Graylog2/graylog2-images/2.1/docker/config/graylog.conf #日志配置文件 wget https://raw./Graylog2/graylog2-images/2.1/docker/config/log4j2.xml graylog.conf 修改下载完的graylog.conf中的root_timezone为: root_timezone =+08:00 log4j2.xml 启动运行: docker-compose up 配置graylog: 页面:http://192.168.30.3:9000 用户名: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” |
|
来自: boyjiangkt727t > 《容器技术》