思路:

  在docker搭建elasticsearch与kibana来展示日志,在微服务部署的机子上部署logstash来收集日志传到elasticsearch中,通过kibana来展示,logstash使用读取本地文件的方式来获取日志内容

1、在192.168.1.18机子中使用 docker-compose 在docker中部署 elasticsearch与kibana

docker-compose.yml脚本如下:

version: '3'
services:
elasticsearch:
image: elasticsearch:latest
container_name: elasticsearch
restart: always
networks:
- elk
ports:
- '9200:9200'
- '9300:9300'
volumes:
- /mnt/elk/elasticsearch/data:/usr/share/elasticsearch/data kibana:
image: kibana:latest
container_name: kibana
restart: always
networks:
- elk
ports:
- "5601:5601"
depends_on:
- elasticsearch networks:
elk:

使用 docker-compose up -d 来执行脚本,执行完成后可以看见容器已经启动

2、在192.168.1.17中部署微服务项目的机子,由于我们微服务部署也是在docker中,所以在启动项目的时候,需要将日志文件目录共享到宿主机上。并且所有的项目的日志存放路径需要指向同一个目录,docker 启动命令

docker run --name test-springboot -p 1001:80 -f /mnt/logs:/mnt/logs -t test-springboot 

3、同样使用 docker-compose 在192.168.1.17机子的docker中部署

docker-compose.yml脚本如下:

logstash:
image: logstash:latest
container_name: logstash
restart: always
ports:
- "9601:9601"
volumes:
- /mnt/elk/logstash/config-dir:/config-dir
- /mnt/logs:/mnt/logs
command: logstash -f /config-dir

在/mnt/elk/logstash/config-dir目录下新建logstash的配置文件logstash.conf。

input{
file{
path => "/mnt/logs/*.log"
type => "web_log"
start_position => "beginning"
}
} output{
elasticsearch{
hosts => ["192.168.1.18:9200"]
index => "log-%{+YYYY.MM.dd}"
}
}

input:为输入的方式,这里使用file;

output :是输出的方式,这里输出到192.168.1.18的es中;

path:指向读取日志文件的位置,*表示读取目录下所有后缀名为log的日志文件;

type:自定义该文件的类型,在es中为type字段;

start_position:为从log文件中读取文件的位置,beginning为从头开始读取,只在第一次启动有效,后面只读取最后一行;

重启logstash

4、访问kibana,可以查询项目产生的日志

Docker 搭建 ELK 读取微服务项目的日志文件的更多相关文章

  1. 十一、Docker搭建部署SpringCloud微服务项目Demo

    环境介绍 技术选型:SpringCloud&SpringCloud Alibaba&Docker 微服务模块划分: 员工模块:ems-employees 部门模块:ems-depart ...

  2. docker微服务部署之:三,搭建Zuul微服务项目

    docker微服务部署之:二.搭建文章微服务项目 一.新增demo_eureka模块,并编写代码 右键demo_parent->new->Module->Maven,选择Module ...

  3. docker微服务部署之:二、搭建文章微服务项目

    docker微服务部署之:一,搭建Eureka微服务项目 一.新增demo_article模块,并编写代码 右键demo_parent->new->Module->Maven,选择M ...

  4. docker微服务部署之:一,搭建Eureka微服务项目

    先说明一下docker需要搭建的微服务的基本情况: 项目情况:一个demo_parent项目,下面三个子模块:demo_eureka(eureka服务).demo_article(文章服务).demo ...

  5. .Net Core 商城微服务项目系列(十三):搭建Log4net+ELK+Kafka日志框架

    之前是使用NLog直接将日志发送到了ELK,本篇将会使用Docker搭建ELK和kafka,同时替换NLog为Log4net. 一.搭建kafka 1.拉取镜像 //下载zookeeper docke ...

  6. Docker部署golang微服务项目

    这篇博客是为了记录一下部署步骤. 因为实训需要,我要在服务器上用docker部署我们小组的微服务项目.我们的微服务有Gateway,User,Scene,Device四个部分,分别占用不同的端口,其中 ...

  7. 【spring colud】spring cloud微服务项目搭建【spring boot2.0】

    spring cloud微服务项目搭建 =================================== 示例版本: 1.spring boot 2.0版本 2.开发工具 IntellJ IDE ...

  8. Docker实战 | 第二篇:IDEA集成Docker插件实现一键自动打包部署微服务项目,一劳永逸的技术手段值得一试

    一. 前言 大家在自己玩微服务项目的时候,动辄十几个服务,每次修改逐一部署繁琐不说也会浪费越来越多时间,所以本篇整理通过一次性配置实现一键部署微服务,实现真正所谓的一劳永逸. 二. 配置服务器 1. ...

  9. 小D课堂 - 新版本微服务springcloud+Docker教程_6-06 zuul微服务网关集群搭建

    笔记 6.Zuul微服务网关集群搭建     简介:微服务网关Zull集群搭建 1.nginx+lvs+keepalive      https://www.cnblogs.com/liuyisai/ ...

随机推荐

  1. jenkins集成钉钉

    1.创建通知人群组,添加机器人 2.2.获取自定义机器人webhook 3.jenkins 安装"Dingding[钉钉] Plugin"插件: 4.插件安装完成后,创建/修改任务 ...

  2. iOS刷新某个cell时候crash

    //一个section刷新     NSIndexSet *indexSet=[[NSIndexSet alloc]initWithIndex:2];     [tableview reloadSec ...

  3. WPF学习笔记——ListBox用ItemsSource绑定数据源

    作为一个WPF初学者,感到困难重重.在网上想查个ListBox绑定数据源的示例,结果出来一大堆代码,一看心就烦. 我给个简洁一点的代码: 后台代码: protected class UserItem ...

  4. 浅谈EL与JSTL

    讲道理,自己在博大精深的Java世界里还只是一个很小很小的菜鸟.处于成长与学习之中,但学习一个漫长的过程.尤其对于那些知识点我觉得总结是尤为重要的.反正在我看来这段时间里虽然过了很多知识但却是一脸懵逼 ...

  5. oc60--Category 分类 练习

    // main.m // Category练习 #import <Foundation/Foundation.h> #import "NSString+NJ.h" // ...

  6. HP Unix vsftp服务配置

    HP Unix vsftp 服务配置: /opt/ssh/utils/ssh_chroot_setup.sh 运行脚本,会提示输入要建立的vsftp账号和要限制的家目录, 比如要限制的家目录为/Jia ...

  7. runC爆严重安全漏洞,主机可被攻击!使用容器的快打补丁

    runC 是 Docker,Kubernetes 等依赖容器的应用程序的底层容器运行时.此次爆出的严重安全漏洞可使攻击者以 root 身份在主机上执行任何命令. 容器的安全性一直是容器技术的一个短板. ...

  8. 动态title

    <html><head><meta charset="uft8"><title>测试title</title></ ...

  9. Run as ant build每次都执行两次

    因为用了selenium+testng+ant的框架,所以每次执行自动化,我就run as ant build.发现测试每次都执行两次,很奇怪.因为也没有影响到测试结果,所以一开始也就let it g ...

  10. Spring Cloud (2) 服务消费者-基础

    LoadBalancerClient 使用Spring Cloud提供的负载均衡器客户端来实现服务的消费. 首先创建一个服务消费者工程,命名为com.david.consumer,并在pom.xml中 ...