用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. 把java项目打包成jar包并可以直接运行【我】

    首先创建一个maven的jar项目,然后代码写好后,在项目右键,导出: 选择java下面的可运行的jar文件: 下一步: 要注意的是: launch configuration 此选项是指定选中要导出 ...

  2. XML字符串和 java对象项目转换

    这是之前写,仅供参考(如果缺少jar包可以私信我,CSDN现在下载的东西太费了,动不动就要积分,开源精神所剩无几了,也没办法都需要吃饭,可以理解) import javax.xml.bind.JAXB ...

  3. java+实现文件的上传和下载

    项目截图 路径配置 将localhost:8080/up6全部替换为实际项目路径 使用mysql文件夹下的脚本创建数据表. 创建后可以在数据库中看到创建好的数据表 2.修改数据库连接 3.修改上传地址 ...

  4. spring boot系列(四)spring boot 配置spring data jpa (保存修改删除方法)

    spring boot 使用jpa在pom.xml在上文中已经介绍过.在这里直接介绍各个类文件如何编写: 代码结构: domain(存放实体类文件): repository(存放数据库操作文件,相当于 ...

  5. Win10+GPU版Pytorch1.1安装

    环境配置篇 安装cuda 更新nvidia驱动 打开GeForce Game Ready Driver或在 GeForce Experience中下载符合自己gpu的程序. 选择cuda 打开nvid ...

  6. React 克隆组件 -- React.cloneElement(可以用来修改子组件属性值,复制子组件,添加子组件)

    项目要求实现按钮级权限,简单来说就是需要通过后台数据绑定来控制前端页面哪些操作按钮需要渲染,哪些操作按钮不需要渲染, 大体的方案是: 在原有的按钮标签外再套一层按钮权限控制标签,然后每个具体的按钮对照 ...

  7. maridb 主从复制

    maridb(>10.0)主从复制 1.环境说明 测试环境 系统版本:Ubuntu 16.04.5 LTS内核版本:4.4.0-141-generic x86_64MariaDB版本:mysql ...

  8. php composer 开发自己的包

    以往都是在项目直接写自己的包文件,并没有把他放在packagist上面,以composer来管理使用. 今天没事来整一下,供大家一起学习 一,在github和packagist分别注册自己的账号,这里 ...

  9. Ubuntu重启关机命令

    重启命令 :  1.reboot 立刻重启 2.shutdown -r now 立刻重启 3.shutdown -r 10 过10分钟自动重启 4.shutdown -r 20:35 在时间为20:3 ...

  10. 【Qt开发】关于Qt应用程序中的堆栈、静态存储区的使用错误

    [Qt开发]关于Qt应用程序中的堆栈.静态存储区的使用错误 标签:[Qt开发] 最近终于又碰到了这个问题,想在main函数中定义一个局部大的数组,结果运行就报错,尼玛!刚开始真的不知道到发生了什么,后 ...