热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

2017.7.31ELK+logback+redis的使用

参考来自:springmvc+ELK从头开始搭建日志平台0前提1ELK安装成功2redis安装成功3使用logback的项目运行成功1配置文件1.

参考来自:spring mvc+ELK从头开始搭建日志平台

 

0 前提

1 ELK安装成功
2 redis安装成功
3 使用logback的项目运行成功

 

1 配置文件

1.1 pom.xml

为了使用logback,项目原本就有的依赖是:slf4j-api和logback-classic。为了将日志传递给redis,需要配置一个logback-redis-appender。

 1         
 2         <dependency>
 3             <groupId>org.slf4jgroupId>
 4             <artifactId>slf4j-apiartifactId>
 5             <version>1.7.12version>
 6         dependency>
 7         <dependency>
 8             <groupId>ch.qos.logbackgroupId>
 9             <artifactId>logback-classicartifactId>
10             <version>1.1.3version>
11         dependency>
12         
13         <dependency>
14             <groupId>com.cwbasegroupId>
15             <artifactId>logback-redis-appenderartifactId>
16             <version>1.1.3version>
17             <exclusions>
18                 <exclusion>
19                     <groupId>redis.clientsgroupId>
20                     <artifactId>jedisartifactId>
21                 exclusion>
22             exclusions>
23         dependency>

 

1.2 logback.xml

增加一个appender,用以配置与redis相关的参数。并且将其添加到root内。其他都是原本logback.xml需要配置的东西。

  1 xml version="1.0" encoding="UTF-8"?>
  2 <configuration>
  3     
  4     <appender name="LOGSTASH" class="com.cwbase.logback.RedisAppender">
  5         <source>aassource>
  6         <type>devtype>
  7         <host>168.2.237.207host>
  8         <password>your redis passwordpassword>
  9         
 10         aas-logback-logstash
 11         <tags>devtags>
 12         <mdc>truemdc>
 13         <location>truelocation>
 14         <callerStackIndex>0callerStackIndex>
 15     appender>
 16     
 17     <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
 18         
 19         <encoder>
 20             <pattern>[AAS] [%date{yyyy-MM-dd HH:mm:ss.SSS}] [%thread] %-5level %logger{36} - %msg%npattern>
 21         encoder>
 22     appender>
 23 
 57 
 58     
 59     <appender name="logFile" class="ch.qos.logback.core.rolling.RollingFileAppender">
 60         <file>/var/log/local/xinsight/aas/aas.logfile>
 61 
 62         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
 63             <fileNamePattern>/var/log/local/xinsight/aas/aas-%d{yyyy-MM-dd_HH}.%i.zipfileNamePattern>
 64             <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
 65                 <maxFileSize>10MBmaxFileSize>
 66             timeBasedFileNamingAndTriggeringPolicy>
 67         rollingPolicy>
 68 
 69         <encoder>
 70             <pattern>[AAS] [%date{yyyy-MM-dd HH:mm:ss.SSS}] [%thread] %-5level %logger{36} - %msg%npattern>
 71         encoder>
 72     appender>
 73 
 97 
 98     <logger name="com.mchange" level="WARN"/>
 99     <logger name="com.baosight" level="DEBUG"/>
100     <logger name="dao" level="DEBUG"/>
101 
102     
103     <root level="WARN">
104         <appender-ref ref="console"/>
106         <appender-ref ref="logFile" />
107         <appender-ref ref="LOGSTASH" />
108     root>
109 configuration>

 

1.3 logstash.conf

注意和logback.xml中的key匹配。

 1 input{
 8      redis{
10            data_type => "list"
11            key => "aas-logback-logstash"
12            host => "168.2.237.207"
13            port => "6379"
14            password => "your redis password"
15            threads => 5
16        }
19 }
20 
21 output{
22     elasticsearch{
23         hosts  => "168.2.8.88:9200"
24         index  => "aas-%{type}"
25     }
33 }

 

2 运行测试

2.1 启动redis,设置密码,并测试连接是否成功

 

启动成功后,在本机上另开一个窗口,设置redis的密码。这里设置密码为“admin”,注意和前面logback.xml和logstash.xml中的password匹配。

 

在另一个环境连接redis,使用密码admin连接,出现如下画面则表示redis连接正常。

 

2.2 启动ELK

这里使用supervisord进行统一管理。

 

访问localhost:9200等,来验证启动成功。

 

2.3 运行项目,产生日志

运行项目后,执行一些操作,产生一些日志。查看es,已经多了索引 0731-aas-dev。

 

3 存在的问题

3.1 supervisord的问题(未解决)

在使用supervisord来启动ELK的服务时,因为是修改的logstash配置文件,supervisord似乎没有重新加载,导致没有读取到数据。

执行了reload,update,stop和start好几回,还是没有读取到最新的配置文件。

 

最后直接手动执行的bin下的配置文件,才读取到的数据。

 

 

3.2 多行数据识别(待解决)

可以看到一条数据因为处于不同行,被拆分了。而且是乱序的。

参看随笔: 《2017.8.15 多行数据合并》

 

3.3 Timestamp的处理(待解决)

这里没有处理Timestamp。

 

3.4 启动顺序

启动顺序:redis -> logstash -> 项目。

修改logstash的配置文件后,没有重启项目,哪怕一直重启logstash来更新,修改后的配置文件也一直都没有生效。所以一定要记得重启项目!


推荐阅读
  • 本文详细介绍了在 CentOS 7 系统中配置 fstab 文件以实现开机自动挂载 NFS 共享目录的方法,并解决了常见的配置失败问题。 ... [详细]
  • java解析json转Map前段时间在做json报文处理的时候,写了一个针对不同格式json转map的处理工具方法,总结记录如下:1、单节点单层级、单节点多层级json转mapim ... [详细]
  • 阿里云 Aliplayer高级功能介绍(八):安全播放
    如何保障视频内容的安全,不被盗链、非法下载和传播,阿里云视频点播已经有一套完善的机 ... [详细]
  • 本文介绍了 Go 语言中的高性能、可扩展、轻量级 Web 框架 Echo。Echo 框架简单易用,仅需几行代码即可启动一个高性能 HTTP 服务。 ... [详细]
  • PHP 5.5.31 和 PHP 5.6.17 安全更新发布
    PHP 5.5.31 和 PHP 5.6.17 已正式发布,主要包含多个安全修复。强烈建议所有用户尽快升级至最新版本以确保系统安全。 ... [详细]
  • Hadoop的文件操作位于包org.apache.hadoop.fs里面,能够进行新建、删除、修改等操作。比较重要的几个类:(1)Configurati ... [详细]
  • 本文详细介绍了如何在Linux系统(以CentOS为例)上彻底卸载Zimbra邮件系统,包括停止服务、删除文件和用户等步骤。 ... [详细]
  • Linux CentOS 7 安装PostgreSQL 9.5.17 (源码编译)
    近日需要将PostgreSQL数据库从Windows中迁移到Linux中,LinuxCentOS7安装PostgreSQL9.5.17安装过程特此记录。安装环境&#x ... [详细]
  • 任务通知是 FreeRTOS 中的一个可选功能,需要通过配置宏 `#define configUSE_TASK_NOTIFICATIONS 1` 来启用。每个任务控制块 (TCB) 都包含一个32位的通知值,用于任务间的同步和通信。 ... [详细]
  • 使用 Jupyter Notebook 实现 Markdown 编写与代码运行
    Jupyter Notebook 是一个开源的基于网页的应用程序,允许用户在同一文档中编写 Markdown 文本和运行多种编程语言的代码,并实时查看运行结果。 ... [详细]
  • centos 7.0 lnmp成功安装过程(很乱)
    下载nginx[rootlocalhostsrc]#wgethttp:nginx.orgdownloadnginx-1.7.9.tar.gz--2015-01-2412:55:2 ... [详细]
  • vsftpd配置(虚拟用户、匿名用户登录)
    一、ftp服务搭建(一)概述1.ftp连接及传输模式(1)控制连接TCP21,用于发送FTP命令信息 ... [详细]
  • 本文探讨了 TypeScript 中泛型的重要性和应用场景,通过多个实例详细解析了泛型如何提升代码的复用性和类型安全性。 ... [详细]
  • 使用Tkinter构建51Ape无损音乐爬虫UI
    本文介绍了如何使用Python的内置模块Tkinter来构建一个简单的用户界面,用于爬取51Ape网站上的无损音乐百度云链接。虽然Tkinter入门相对简单,但在实际开发过程中由于文档不足可能会带来一些不便。 ... [详细]
  • 本文详细介绍了在 Ubuntu 系统上搭建 Hadoop 集群时遇到的 SSH 密钥认证问题及其解决方案。通过本文,读者可以了解如何在多台虚拟机之间实现无密码 SSH 登录,从而顺利启动 Hadoop 集群。 ... [详细]
author-avatar
茳小国
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有