ELK 日志采集使用

这篇具有很好参考价值的文章主要介绍了ELK 日志采集使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.安装ELK整体环境

1.1.安装docker环境

Docker 最新版Version 20.10安装_docker最新版本是多少_猿小飞的博客-CSDN博客

1.2.先安装docker compose

安装docker compose_猿小飞的博客-CSDN博客

1.3.使用 Docker Compose 搭建 ELK 环境

1.3.1.编写 docker-compose.yml 脚本启动 ELK 服务

忘记了文件在哪里,可以使用下面命令进行查找

find / -name docker-compose.yml

ELK 日志采集使用  

version: '3'
services:
  elasticsearch:
    image: elasticsearch:6.4.0
    container_name: elasticsearch
    environment:
      - "cluster.name=elasticsearch" #设置集群名称为elasticsearch
      - "discovery.type=single-node" #以单一节点模式启动
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m" #设置使用jvm内存大小
    volumes:
      - /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins #插件文件挂载
      - /mydata/elasticsearch/data:/usr/share/elasticsearch/data #数据文件挂载
    ports:
      - 9200:9200
  kibana:
    image: kibana:6.4.0
    container_name: kibana
    links:
      - elasticsearch:es #可以用es这个域名访问elasticsearch服务
    depends_on:
      - elasticsearch #kibana在elasticsearch启动之后再启动
    environment:
      - "elasticsearch.hosts=http://es:9200" #设置访问elasticsearch的地址
    ports:
      - 5601:5601
  logstash:
    image: logstash:6.4.0
    container_name: logstash
    volumes:
      - /mydata/logstash/upms-logstash.conf:/usr/share/logstash/pipeline/logstash.conf
    depends_on:
      - elasticsearch #kibana在elasticsearch启动之后再启动
    links:
      - elasticsearch:es #可以用es这个域名访问elasticsearch服务
    ports:
      - 4560-4600:4560-4600

ELK 日志采集使用

1.3.2.创建对应容器挂载目录

mkdir -p /mydata/logstash

mkdir -p /mydata/elasticsearch/data

mkdir -p /mydata/elasticsearch/plugins

chmod 777 /mydata/elasticsearch/data  # 给777权限,不然启动elasticsearch 可能会有权限问题

1.4.编写日志采集 logstash

针对微服务,我们不同的服务,会专门设置一个单独的端口进行接收。

在 /mydata/logstash目录创建 upms-logstash.conf

input {
  tcp {
    add_field => {"service" => "upms"}
    mode => "server"
    host => "0.0.0.0"
    port => 4560
    codec => json_lines
  }
  tcp {
   add_field => {"service" => "auth"}
    mode => "server"
    host => "0.0.0.0"
    port => 4561
    codec => json_lines
  }
  tcp {
   add_field => {"service" => "gateway"}
    mode => "server"
    host => "0.0.0.0"
    port => 4562
    codec => json_lines
  }
 tcp {
   add_field => {"service" => "register"}
    mode => "server"
    host => "0.0.0.0"
    port => 4563
    codec => json_lines
  }
}
output {
  if [service] == "upms"{
    elasticsearch {
      hosts => "192.168.2.115:9200"
      index => "upms-logstash-%{+YYYY.MM.dd}"
    }
  }
  if [service] == "auth"{
    elasticsearch {
      hosts => "192.168.2.115:9200"
      index => "auth-logstash-%{+YYYY.MM.dd}"
    }
   }
  if [service] == "gateway"{
    elasticsearch {
      hosts => "192.168.2.115:9200"
      index => "gateway-logstash-%{+YYYY.MM.dd}"
    }
   }
  if [service] == "register"{
    elasticsearch {
      hosts => "192.168.2.115:9200"
      index => "register-logstash-%{+YYYY.MM.dd}"
    }
   }
}

2.启动 ELK 服务

docker-compose.yml 同级目录执行 docker-compose up -d

ELK 日志采集使用

docker-compose up -d

注意:Elasticsearch 启动可能需要好几分钟,要耐心等待。

ELK 日志采集使用

 3.logstash 安装 json_lines 格式插件

# 进入logstash容器
docker exec -it logstash /bin/bash
# 进入bin目录
cd /bin/
# 安装插件
logstash-plugin install logstash-codec-json_lines
# 退出容器
exit
# 重启logstash服务
docker restart logstash

访问宿主机 5601 kibana

4.微服务中整合整合 Logstash

添加 pom 依赖

<!--集成logstash-->
<dependency>
    <groupId>net.logstash.logback</groupId>
    <artifactId>logstash-logback-encoder</artifactId>
    <version>5.3</version>
</dependency>

logback-spring.xml 新增 appender

 <!--输出到logstash的appender-->
<appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
    <!--可以访问的logstash日志收集端口-->
    <destination>192.168.0.31:4560</destination>
    <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder"/>
</appender>
<root level="INFO">
    <appender-ref ref="LOGSTASH"/>
</root>

特别注意:<destination>192.168.0.31:4560</destination>  这里要改为自己的。

5.在springboot通过不同的环境,配置不同的启动文件

ELK 日志采集使用

 我们一般会在代码中,编写不同的日志文件配置,这样正式环境的时候,就可以直接指向这个文件。

ELK 日志采集使用

参考:Spring Boot「02」日志配置_Java_Samson_InfoQ写作社区文章来源地址https://www.toymoban.com/news/detail-480983.html

到了这里,关于ELK 日志采集使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Docker环境下,如何搭建ELK堆栈?详细教程和使用分析

    在本文中,我们将探讨如何在Docker环境下搭建ELK(Elasticsearch,Logstash和Kibana)堆栈。ELK是一种流行的开源日志分析平台,可用于实时搜索,分析和可视化数据。使用Docker可以轻松地构建,部署和管理ELK堆栈。 在开始之前,我们需要安装Docker和Docker Compose。如果您还没有安装它

    2024年02月08日
    浏览(57)
  • Docker ELK 监控日志(附yml)

    目录 一  安装docker-commpose 二  编写yml文件 2.1 docker配置文件 2.2 filebeat配置文件 2.3  kibana配置文件 三 运行启动 四  打开kibana 可以看我之前的docker文章 2.1 docker配置文件 使用的7.17.9版本 ,请保持保证版本一至,ES8.X以上版本需要验证,配置不相同,如需要可以需要添加验证

    2024年02月05日
    浏览(25)
  • loki采集docker日志

    说明 本文通过安装 docker loki plugin 直接采集docker容器日志,并推送至loki。官方文档 插件安装 插件升级 插件卸载 使用 单独为一个容器设置日志驱动 为所有的容器设置默认参数 编辑 /etc/docker/daemon.json 文件(如果没有就新建). 更多如 docker-compose 的用法参考官网文档.

    2024年02月15日
    浏览(29)
  • logstash 采集 docker 日志

    1、nginx容器部署 参考:nginx容器部署 将容器内的nginx日志文件映射到宿主机/home/logs/nginx目录下 注意:并且需要需要将日志的输出格式修改为json  2、编辑vim /opt/logstash-7.4.2/config/nginx-log-es.conf 文件,收集docker nginx容器日志 input{  file{    path = \\\"/home/logs/nginx/access.log\\\"    start_p

    2024年02月13日
    浏览(34)
  • docker搭建Elk+Kafka+Filebeat分布式日志收集系统

    目录 一、介绍 二、集群环境 三、ES集群 四、Kibana  五、Logstash 六、Zookeeper 七、Kafka 八、Filebeat 八、Nginx (一)架构图  (二)组件介绍 1.Elasticsearch 是一个基于Lucene的搜索服务器。提供搜集、分析、存储数据三大功能。它提供了一个分布式多用户能力的全文搜索引擎,基于

    2024年02月04日
    浏览(50)
  • ELK日志监控系统搭建详细步骤(针对docker容器启动的镜像、微服务版)

         ELK Stack 是 Elasticsearch 、Logstash、Kiban a 三个开源软件的组合。在实时数据检索和分析场合,三者通常是配合共用,而且又都先后归于 Elastic.co 公司名下,故有此简称 。 百度介绍:       Elasticsearch是强大的数据搜索引擎,是分布式、通过restful方式进行交互的近实时搜索

    2024年02月05日
    浏览(46)
  • 使用Docker快速搭建并优化Redmine环境:日志管理与健康检查指南

    Redmine是一种开源的项目管理和问题跟踪工具,它以Web应用程序的形式提供。Redmine的主要功能包括项目管理、问题跟踪、版本控制集成、Wiki和论坛等。它是用Ruby on Rails开发的,支持多语言和多数据库。Redmine的灵活性和可扩展性使其成为许多组织和团队用于协作和项目管理的

    2024年04月28日
    浏览(36)
  • ELK环境搭建——Install with Docker

    Install Docker Desktop or Docker Engine Install the appropriate Docker application for your operating system. Make sure that Docker is allotted at least 4GiB of memory. In Docker Desktop, you configure resource usage on the Advanced tab in Preference (macOS) or Settings (Windows). Optional: Verify the Elasticsearch Docker image signature Although it’s op

    2024年02月14日
    浏览(41)
  • filebeat->kafka>elk日志采集

    kafka常用命令 查看所有topic ./kafka-topics.sh --zookeeper 10.1.10.163:2181 --list 查看kafka中指定topic的详情 ./kafka-topics.sh --zookeeper 10.1.10.163:2181 --topic ai_jl_analytic --describe 查看消费者consumer的group列表 ./kafka-consumer-groups.sh --bootstrap-server 10.1.10.163:9092 --list 创建topic ./kafka-topics.sh --create --zooke

    2024年02月10日
    浏览(38)
  • 使用Docker安装ELK(Elasticsearch+Logstash+Kibana)+filebeat____基于CentOS7.9

    目录 一、安装JDK 二、部署Elasticsearch 三、部署kibana 四、部署Logstash 五、部署filebeat 六、filebeat采集数据,logstash过滤,在kibana中显示 七、kibana增加索引 1、更新系统 2、安装Java 下面是安装OpenJDK的命令: 3、验证安装 1、查看是否安装docker 安装最新版的docker可能导致部分系统不

    2024年02月04日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包