用docker-compose本机部署elk

docker-compose.yml

version: "3"
services:
es01:
image: docker.elastic.co/elasticsearch/elasticsearch:7.3.0
container_name: es01
volumes:
- ./esdata:/usr/share/elasticsearch/data
environment:
- discovery.type=single-node
ports:
- "9200:9200"
- "9300:9300"
networks:
- elk kibana:
image: docker.elastic.co/kibana/kibana:7.3.0
links:
- es01
environment:
ELASTICSEARCH_HOSTS: http://es01:9200
ports:
- "5601:5601"
depends_on:
- es01
networks:
- elk
container_name: kibana logstash:
image: docker.elastic.co/logstash/logstash:7.3.0
links:
- es01
command: logstash -f /etc/logstash/conf.d/logstash.conf #logstash 启动时使用的配置文件
volumes:
- $PWD/logstash/conf.d:/etc/logstash/conf.d #logstash 配文件位置
- $PWD/logstash/config/logstash.yml:/usr/share/logstash/config/logstash.yml #logstash 配文件位置
depends_on:
- es01 #后于elasticsearch启动
ports:
- "4560:4560"
- "9600:9600"
networks:
- elk
container_name: logstash networks:
elk:

logstash.conf

input {
tcp {
port => 4560
codec => json_lines
}
} filter {
} output {
stdout {
codec => rubydebug
}
elasticsearch {
hosts => ["http://es01:9200"]
action => "index"
index => "%{[appname]}-%{+YYYY.MM.dd}"
}
}

logstash.yml

http.host: "0.0.0.0"
xpack.monitoring.elasticsearch.hosts: [ "http://es01:9200" ] ## X-Pack security credentials
#
xpack.monitoring.enabled: true
# xpack.monitoring.elasticsearch.username: elastic
# xpack.monitoring.elasticsearch.password: changeme

docker-compose 命令

docker-compose up -d   		# 启动
docker-compose down # 停止
docker logs -f logstash # 查看 logstash 输出的日志,这个方便调试

Spring boot 项目配置

依赖包

compile 'net.logstash.logback:logstash-logback-encoder:6.1'

Logback.xml 配置

<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false">
<logger name="org.springframework" level="WARN" />
<logger name="org.hibernate" level="WARN" />
<logger name="tk.mybatis" level="WARN" />
<logger name="org.mongodb" level="WARN" />
<logger name="springfox.documentation" level="ERROR" />
<logger name="org.apache" level="WARN" />
<logger name="io.netty" level="WARN" /> <property name="log.path" value="logs/log.log" />
<property name="log.pattern" value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n" /> <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>${log.pattern}</pattern>
</encoder>
</appender> <appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${log.path}.%d{yyyy-MM-dd}.zip</fileNamePattern>
</rollingPolicy>
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
</appender>
<!-- logstash 配置部分 appanme 根据实际情况修改 -->
<appender name="logstash" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
<destination>127.0.0.1:4560</destination>
<encoder class="net.logstash.logback.encoder.LogstashEncoder">
<includeContext>false</includeContext>
<customFields>{"appname": "cs-elk", "server": "${HOSTNAME}"}</customFields>
</encoder>
</appender> <root level="debug">
<appender-ref ref="stdout" />
<appender-ref ref="file" />
<appender-ref ref="logstash" />
</root>
</configuration>

日志查看

在浏览器中打开 http://127.0.0.1:5601/kibana,查看汇总的日志信息!

Logback日志输出到ELK的更多相关文章

  1. springboot+logback日志输出企业实践(下)

    目录 1.引言 2. 输出 logback 状态数据 3. logback 异步输出日志 3.1 异步输出配置 3.2 异步输出原理 4. springboot 多环境下 logback 配置 5. ...

  2. [日志] spring boot + logback 日志输出配置

    一.输出日志到控制台 springboot有很多starter(参考starter)方便快速构建项目依赖组件,logback是springboot默认的日志组件,启动即可看到打印在控制台输出的info ...

  3. springboot+logback日志输出企业实践(上)

    目录 1.引言 2.logback简介 3. springboot默认日志框架-logback 3.1 springboot示例工程搭建 3.2 日志输出与基本配置 3.2.1 日志默认输出 3.2. ...

  4. vscode springboot logback 日志输出到不同文件

    参照了:https://blog.csdn.net/appleyk/article/details/78717388# 在src\main\resources中新建一个logback-boot.xml ...

  5. Spring Cloud Sleuth通过Kafka将链路追踪日志输出到ELK

    1.工程简介 elk-eureka-server作为其他三个项目的服务注册中心 elk-kafka-client调用elk-kafka-server,elk-kafka-server再调用elk-ka ...

  6. logback日志输出至数据库

    我们知道将数据库输出到不同的地方需要使用不同的appender表示,那下面了解一下输出到数据库的DBAppender. 1.DBAppender 由于DBAppender会把记录写到数据库中,因此我们 ...

  7. SpringBoot系列——Logback日志,输出到文件以及实时输出到web页面

    前言 SpringBoot对所有内部日志使用通用日志记录,但保留底层日志实现.为Java Util Logging.Log4J2和Logback提供了默认配置.在不同的情况下,日志记录器都预先配置为使 ...

  8. logback KafkaAppender 写入Kafka队列,集中日志输出.

    为了减少应用服务器对磁盘的读写,以及可以集中日志在一台机器上,方便使用ELK收集日志信息,所以考虑做一个jar包,让应用集中输出日志 网上搜了一圈,只发现有人写了个程序在github 地址:https ...

  9. ELK实战(Springboot日志输出查找)

    需求 把分布式系统,集群日志集中处理快速查询 搭建ELK并与springboot日志输出结合 搭建ELK 基于我前面的elasticsearch搭建博客文档docker-compose.yml基础上进 ...

随机推荐

  1. linux配置信息收集

    CPU型号:# cat /proc/cpuinfo |grep "model name"# cat /proc/cpuinfo | grep name | cut -f2 -d: ...

  2. Nginx 日志打印POST数据

    在工作中,开发希望能从Nginx日志中获取POST的数据信息,先记录下来 在日志格式后面加上 $request_body 配置信息 log_format main '$remote_addr - $r ...

  3. 配置文件c3p0-config.xml

    <c3p0-config> <!-- 使用默认的配置读取连接池对象 --> <default-config> <!-- 连接参数 --> <pro ...

  4. golang(11) 反射用法详解

    原文链接:http://www.limerence2017.com/2019/10/14/golang16/ 反射是什么 反射其实就是通过变量动态获取其值和类型的一种技术,有些语言是支持反射的比如py ...

  5. WPF 非UI线程更新UI界面的各种方法小结

    转载:https://www.cnblogs.com/bdbw2012/articles/3777594.html 我们知道只有UI线程才能更新UI界面,其他线程访问UI控件被认为是非法的.但是我们在 ...

  6. 关于JavaScript实例化的理解

    要理解这个,我们首先要理解一个概念“类”,所谓类,指的是对象的模版.对象就是类的实例.由前面我们知道,对象是单个实物的抽象,所以通常需要一个模版,表示某一类实物的共同特征,然后对象根据这个模版生成,这 ...

  7. win10相机打不开,显示错误代码0xA00F4246(0x800706D9)

    有时我们在不知道什么情况下电脑便会变成这个样子,当我们以为是驱动问题的时候,或许我们可以使用下面的办法解决这个问题 方法: 1.WIN键+R打开命令端,输入regedit运行 2.进入 计算机\HKE ...

  8. Linux C/C++基础——Windows远程登录Linux

    首先介绍两个ubuntu系统管理命令,用来测试连通性,及获取IP地址. 1.ping ping命令用来测试远程主机的连通性 使用方法:ping [参数] 远程主机IP地址 参数 功能 -a 每次相应时 ...

  9. 【Python开发】Python之re模块 —— 正则表达式操作

    Python之re模块 -- 正则表达式操作 这个模块提供了与 Perl 相似l的正则表达式匹配操作.Unicode字符串也同样适用. 正则表达式使用反斜杠" \ "来代表特殊形式 ...

  10. 大数据之Hadoop完全分布式集群搭建

    1.准备阶段 1.1.新建三台虚拟机 Hadoop完全分市式集群是典型的主从架构(master-slave),一般需要使用多台服务器来组建.我们准备3台服务器(关闭防火墙.静态IP.主机名称).如果没 ...