Docker(13) docker-compose安装Graylog实现日志监控

一、前言

  1. Graylog官网:https://www.graylog.org/
  2. Graylog Docker安装文档:https://docs.graylog.org/en/3.3/pages/installation/docker.html
Graylog是什么?

一个比ELK轻的分布式日志管理平台…

Docker(13) docker-compose安装Graylog实现日志监控_第1张图片

二、docker-compose安装Graylog

# 环境准备
git clone https://gitee.com/zhengqingya/docker-compose.git

# Liunx系统走此路径
cd docker-compose/Liunx
# Windows系统走此路径
cd docker-compose/Windows

# 运行服务
docker-compose -f docker-compose-graylog.yml -p graylog_demo up -d

等待运行完成…
Docker(13) docker-compose安装Graylog实现日志监控_第2张图片

三、Graylog配置

访问地址:http://127.0.0.1:9001
默认登录账号密码:admin/admin
Docker(13) docker-compose安装Graylog实现日志监控_第3张图片
System -> Inputs
Docker(13) docker-compose安装Graylog实现日志监控_第4张图片
② 选择GELF UDP
Docker(13) docker-compose安装Graylog实现日志监控_第5张图片
Launch new input
Docker(13) docker-compose安装Graylog实现日志监控_第6张图片
④ 如下图完成配置
Docker(13) docker-compose安装Graylog实现日志监控_第7张图片

四、SpringBoot - Logback日志案例demo

项目基于springboot2.3.1.RELEASE

1、pom.xml中新增logback-gelf依赖



<dependency>
  <groupId>de.siegmargroupId>
  <artifactId>logback-gelfartifactId>
  <version>3.0.0version>
dependency>

2、logback.xml日志文件中新增如下配置

<appender name="GELF" class="de.siegmar.logbackgelf.GelfUdpAppender">
    <graylogHost>127.0.0.1graylogHost>
    <graylogPort>12201graylogPort>
appender>


<root level="DEBUG">
    <appender-ref ref="GELF"/>
root>

3、编写定时器测试日志输出

每3秒执行1次

@Slf4j
@Component
@EnableScheduling
public class AppScheduledJobs {

    @Scheduled(cron = "*/3 * * * * ?")
    public void test() {
        log.debug("==================================================================================");
        log.error("<<<<<< error Start: 【{}】 >>>>>>", LocalDateTime.now());
        log.warn("<<<<<< warn Start: 【{}】 >>>>>>", LocalDateTime.now());
        log.info("<<<<<< info Start: 【{}】 >>>>>>", LocalDateTime.now());
        log.debug("<<<<<< debug Start: 【{}】 >>>>>>", LocalDateTime.now());
    }

}

4、启动项目

五、Graylog中查看日志输出

http://127.0.0.1:9001/search

Docker(13) docker-compose安装Graylog实现日志监控_第8张图片

六、Docker容器日志测试

1、docker

# 启动一个docker测试日志:  ->  设置docker的log驱动为GELF
docker run -d \
--log-driver=gelf \
--log-opt gelf-address=udp://graylog服务器地址:12201 \
--log-opt tag=<容器服务标签 -> graylog查询分类使用> \
<IMAGE> <COMMAND>

docker-demo

docker run \
-d -p 88:88 --name log-java-demo \
--log-driver=gelf \
--log-opt gelf-address=udp://127.0.0.1:12201 \
--log-opt tag="{{.ImageName}}/{{.Name}}/{{.ID}}" \
registry.cn-hangzhou.aliyuncs.com/zhengqing/log-java-demo:latest

2、docker-compose

logging:
  driver:"gelf"
  options:
    gelf-address:"udp://graylog服务器地址:12201"
    tag:"容器服务标签"

docker-compose-demo

version: '3'
services:
  log-java-demo:
    image: registry.cn-hangzhou.aliyuncs.com/zhengqing/log-java-demo:latest
    container_name: log-java-demo 
    ports:
      - "88:88"
    logging:
      driver: "gelf"
      options:
        gelf-address: "udp://127.0.0.1:12201"
        tag: log-java-demo

运行后回到graylog中查看相应日志信息
Docker(13) docker-compose安装Graylog实现日志监控_第9张图片

七、问题

docker-compose v2和v3版本之间的编排命令有所差异,刚开始在graylog官网看的2.x的compose v2版本的编排命令直接拿来在小编的v3版本中跑,出现坑… 最后习惯性的再查看graylog最新3.x版本的文档,重新来了一次,成功! 造成耗时原因在于纠结在那一个版本上了… (害~ 年轻人不能太钻牛角尖!!!)


本文案例demo源码地址

https://gitee.com/zhengqingya/java-workspace


今日分享语句:一个人最大的智慧是透过别人的阅历而读懂自己的未来。

你可能感兴趣的:(-----,-----⑤,Docker,docker-compose,graylog,日志监控,安装教程)