目录

ElasticStack 介绍:

Demo 实现

说在前面

案例实现流程图

创建Spring Boot 项目

项目部署、运行

Logstash配置

FileBeat配置

ES配置

Kibana配置

最终效果


前言

关于日志监控、日志管理,对于任何一个成型的系统来说都是必不可少的之前使用Commons-IO实现过日志监控功能,实践告诉我们这个过程很繁琐,当然,并不是难实现的意思。最终是数据存在MongoDB,可是实际应用中一般没人选择这种方式。  听说使用ElasticStack 可以很好的达到实现我们的目的,于是决定尝试了一下,这里对做一个简单的记录,希望对你有一定的帮助。

Commons-IO实现日志监控:【详解】日志监控_To Do.的博客-CSDN博客_监控日志简介:日志监控提供了针对日志内容的实时监控能力。通过云监控服务和云日志服务的结合,用户可以针对日志内容进行监控统计、设置告警规则等,降低用户监控日志的运维成本,简化用户使用监控日志的流程。前情提要:本文主要针对日志文件的监控、解析、入库,至于后续统计、警告等等操作,并没有明确说明,如果要完成整套的日志框架,建议使用ELK框架,而不是手动去写一个日志系统。ELK简介参见:【ELK学习笔记】ELK的简介_大龄码农生活的博客-CSDN博客_elk学习核心思路:利用Commons...https://blog.csdn.net/weixin_47255175/article/details/124055243

ElasticStack 介绍:

Elastic Stack 介绍_To Do.的博客-CSDN博客

Demo 实现

说在前面

开始操作之前,请确保软件安装启动正常,以此结合如下配置和流程实现最终的效果。

分别启动fileBeat、logstash、es(单节点)、kibana,确保容器都启动成功,效果如下

使用Docker方式搭建ElasticStack:【图文详解】Docker搭建 ELK Stack (elk) [使用es-logstash-filebeat-kibana]_hah杨大仙的博客-CSDN博客

案例实现流程图

创建Spring Boot 项目

必要的依赖

<dependency><groupId>joda-time</groupId><artifactId>joda-time</artifactId> <version>2.9.9</version>
</dependency><dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId><version>3.12.0</version>
</dependency>

启动类

import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.RandomUtils;
import org.joda.time.DateTime;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@Slf4j
@SpringBootApplication
public class ElkBwGenerateApplication {public static final String[] VISIT = new String[]{"浏览页面","评论商品","加入收藏","加入购物车","提交订单","使用优惠券","领取优惠券","搜索","查看订单"};public static void main(String[] args) throws Exception {SpringApplication.run(ElkBwGenerateApplication.class, args);while (true) {long sleep = RandomUtils.nextLong(200, 1000 * 5);Thread.sleep(sleep);Long maxUserId = 9999L;Long userId = RandomUtils.nextLong(1,maxUserId);String visit = VISIT[RandomUtils.nextInt(0,VISIT.length)];DateTime now = new DateTime();int maxHour = now.getHourOfDay();int maxMinutes = now.getMinuteOfHour();int maxSeconds = now.getSecondOfMinute();String date = now.plusHours(-(RandomUtils.nextInt(0, maxHour))).plusMinutes(-(RandomUtils.nextInt(0, maxMinutes))).plusSeconds(-(RandomUtils.nextInt(0, maxSeconds))).toString("yyyy-MM-dd HH:mm:ss");String result = "DAU|" + userId + "|" +visit +"|"+date;log.info(result);}}}

日志框架使用LogBack,注意记录logBack的日志文件产出路径,后续需要用到。

项目部署、运行

========================================================================

查看日志文件内容

Logstash配置

========================================================================

 logstash.conf

input {beats {port =>  "5678"}
}# 过滤器
filter {# 对内容进行切割mutate {split => {"message"=>"|"}}# 将切割后的部分,分别添加成为字段mutate {add_field =>{"userId" => "%{[message][1]}""visit" => "%{[message][2]}""date" => "%{[message][3]}"}}# 字段添加类型mutate {convert => {"userId" => "integer""visit" => "string""date" => "string"}}
}# 输出到控制台
#output {
#   stdout { codec => rubydebug }
#}# 输出到es
output {elasticsearch {hosts => ["http://192.168.241.128:9200"]}
}

 logstash.yml

FileBeat配置

========================================================================

ES配置

正常启动,并查看数据

========================================================================

Kibana配置

正常启动,访问 ip:5601

分别添加柱形图、饼图,并创建仪表盘

========================================================================

最终效果

========================================================================

【详解】 ELK (ElasticStack) 实现日志监控相关推荐

  1. 一文带你了解ELK部署+多日志监控

    如果系统出问题 研发第一个找的就是运维,问你要各种日志,以前上服务器拉日志,太俗. 今天换个新姿势 走上自动化运维的重要一步日志监控. ELK 是(Elasticsearch+Logstash+Kib ...

  2. 详解C#使用FileSystemWatcher文件监控对象的感受

    ** 详解C#使用FileSystemWatcher文件监控对象的感受 ** 本文和大家一起来学习分享一下C#使用FileSystemWatcher文件监控对象,希望对你有帮助. 最近在项目中有这么个 ...

  3. FFmpeg入门详解之117:视频监控的架构和流程

    几张架构图带您快速了解视频监控 图一 图二 图三 图四 视频监控系统的简介 视频监控 视频监控是安全防范系统的重要组成部分,英文Cameras and Surveillance.传统的监控系统包括前端 ...

  4. 详解docker容器的资源监控方案

    docker资源的监控方案 如何监控docker容器整体的资源利用率呢?如何监控独立docker容器的资源利用率呢? 先说结论:前者用kubesphere或者rancher(大厂都是自己搞的监控系统) ...

  5. linux 日志按大小切割_nginx入门详解(六)- 日志切割

    上一章讲解了nginx的目录加密功能,本章重点介绍nginx的日志切割. 笨办法学linux:nginx入门详解(五)- 目录加密​zhuanlan.zhihu.com 在第二章,我们探讨了nginx ...

  6. 深度学习核心技术精讲100篇(四十八)-TB级的日志监控系统很难?带你使用ELK轻松搭建日志监控系统

    前言 本文主要介绍怎么使用 ELK Stack 帮助我们打造一个支撑起日产 TB 级的日志监控系统.在企业级的微服务环境中,跑着成百上千个服务都算是比较小的规模了.在生产环境上,日志扮演着很重要的角色 ...

  7. oracle重做日志详解,Oracle的重做日志

    Archive Redo log files--归档重做日志,简称归档日志,指当条件满足时,Oracle将在线重做日志以文件形式保存到硬盘(持久化). 重做日志的简单原理:在数据更新操作commit前 ...

  8. Java虚拟机详解(八)------虚拟机监控和分析工具(2)——可视化

    上篇博客我们介绍了虚拟机监控和分析命令行工具,由于其不够直观,不是很容易排查问题,那么本篇博客我们就来介绍几个可视化工具. 1.JConsole JConsole(Java Monitoring an ...

  9. Galera Cluster for MySQL 详解(三)——管理监控

    目录 一.管理 1. 在线DDL (1)TOI (2)RSU (3)pt-online-schema-change 2. 恢复主组件 (1)了解主组件状态 (2)修改保存的主组件状态 3. 重置仲裁 ...

最新文章

  1. kafka+zookeeper搭建步骤kafka问题
  2. javascript进阶教程第一章案例实战
  3. 如何使用MFC和类型库创建自动化项目
  4. Linux下Shell的for循环语句
  5. java程序设计实用教程答案_Java程序设计实用教程(课本习题解答).doc
  6. aspnet_regsql
  7. uniapp 即时通讯_uniapp与webview的实时通讯
  8. FirewallD常用命令及设置
  9. HDU3571 N-dimensional Sphere(高斯消元 同模方程)
  10. [Python从零到壹] 六.网络爬虫之BeautifulSoup爬取豆瓣TOP250电影详解
  11. 华为盒子 原生android,华为悦盒/各种安卓盒子找回原生设置以及适配蓝牙遥控器...
  12. Word怎么压缩变小?压缩word文档不妨试试这个方法
  13. linux 下使用 tc 模拟网络延迟和丢包-使用 linux 模拟广域网延迟 - Emulating wide area network delays with Linux...
  14. Shiro解决多个二级域名的单点登录问题
  15. 【真相】网易暴力裁员事件 企业暴力开除重病员工事件绝非孤例
  16. 基于一定微信生态的小程序是否反之又形成了微信互联网?
  17. 正负分数计算机在线算使用,分数的表示以及计算(c++)
  18. 项目管理中的边边角角 之一
  19. GIS+BIM是什么?BIM+GIS应用的八大挑战
  20. servlet找不到的问题(留着自己用)

热门文章

  1. java基础笔记简单回忆
  2. 锐捷交换机VSU 配置LACP聚合端口
  3. 学好java设计模式,编程不迷茫--java学习笔记
  4. 百度发布AI操作系统和家用机器人,它能成为中国的Echo吗?
  5. python time timeit_关于python:尝试使用timeit.timeit
  6. 万向锁问题详解,以Unity为例
  7. 早安,打工人 早安,尾款人
  8. 铁路在线订票网站日均点击超10亿次
  9. Apache Doris 使用sream load导入本地json文件
  10. NoteExpress软件的安装与使用