ELK的配置及springboot的集成

ELK的配置及springboot的集成

ELK分别由ElasticSeach,Logstash,Kibana三个软件组成。
ElasticSeash 负责信息的存储、搜索功能
LogStash 负责将消息从输入端传输到输出端(ElasticSearch)
Kibana 负责将Elastic的数据进行展示

一、ELK的安装配置

  1. Elasticsearch的安装配置
    我是在官网下载的6.x的版本进行安装。
    下载后,使用命令进行解压
tar -zxvf elasticsearch-6.3.0.tar

1.2 对config/elasticsearch.yml进行配置

#action.destructive_requires_name: true 在elasticsearch-6.3.0目录下创建一个data文件存储数据
path.data: /docker/elasticsearch/data
# 填写elasticsearch-6.3.0目录下的logs目录,记录es日志
path.logs: /docker/elasticsearch/logs
# 端口号
http.port: 9200  
# 建议改成服务器ip
network.host: 0.0.0.0

1.3 启动程序,注意不能使用root账户启动程序,不然会报错

nohup ./bin/elasticsearch -d
  1. Kibana的安装配置
    2.1 在Kibana官网下载安装6.x版本
    解压
tar -zxvf kibana.tar

2.2 配置
在./kibana/kibana.yml 文件中进行配置

# 端口号
server.port: 5601

2.3 启动
nohup ./bin/kibana &
启动后可以配置elasticseash

  1. logstash的安装配置
    3.1 在官网下载安装6.x版本的软件
    解压
    tar -zxvf logstash.tar
    3.2 在./config/ 下创建logstash.conf文件
    对 logstash.conf文件进行编辑配置
#tcp输入到es配置
input { 
	tcp { 
	port => 5400 type => "tcp" 
	}  
} 
output { 
	elasticsearch {
		hosts => ["127.0.0.1:9200"] 
	index => "tcplog-%{+YYYY.MM.dd}" 
	}  
}

3.3 启动logstash
nohup ./bin/logstash -f ./config/logstash.conf &
以上ELK的安装、配置就完成了

二、springboot集成logstash

在application.yml文件中加上

#日志
logging:
  config: classpath:logback.xml

在resources目录下添加文件logbask.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false">
  <!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
  <!--为啥不能使用相对路径?-->
  <property name="LOG_HOME" value="/test/log" />
  <!-- 控制台输出 -->
  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
  	<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
  		<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
  		<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
  	</encoder>
  </appender>
  <!-- 按照每天生成日志文件 -->
  <appender name="FILE"  class="ch.qos.logback.core.rolling.RollingFileAppender">
  	<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  		<!--日志文件输出的文件名-->
  		<FileNamePattern>${LOG_HOME}/TestWeb.log.%d{yyyy-MM-dd}.log</FileNamePattern>
  		<!--日志文件保留天数-->
  		<MaxHistory>30</MaxHistory>
  	</rollingPolicy>
  	<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
  		<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
  		<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
  	</encoder>
  	<!--日志文件最大的大小-->
  	<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
  		<MaxFileSize>10MB</MaxFileSize>
  	</triggeringPolicy>
  </appender>
  <!--logstash配置-->
  <appender name="logstash" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
  	<!--此处为logstash的ip以及通信的端口,在logstash.conf文件中可以查看-->
  	<destination>101.35.197.55:5400</destination>
  	<encoder class="net.logstash.logback.encoder.LogstashEncoder" >
  		<!--此处的appname 为项目中独有的日志名字,在logstash.config文件中有配置-->
  		<!--和配置中相对应-->
  		<!--<customFields>{"appname":"tcplog"}</customFields>-->
  	</encoder>
  </appender>
  
  <!--myibatis log configure-->
  <logger name="com.apache.ibatis" level="TRACE"/>
  <logger name="java.sql.Connection" level="DEBUG"/>
  <logger name="java.sql.Statement" level="DEBUG"/>
  <logger name="java.sql.PreparedStatement" level="DEBUG"/>

  <!-- 日志输出级别 -->
  <root level="Error">
  	<appender-ref ref="STDOUT" />
  	<appender-ref ref="FILE" />
  	<appender-ref ref="logstash"/>
  </root>
</configuration>

controller:

@RestController
@RequestMapping(value = "/hot")
public class HotRestartController {
    private final static Logger logger = LoggerFactory.getLogger(HotRestartController.class);
    /**
     * 热部署
     * @param
     * @return
     * @throws Exception
     */
    @RequestMapping("/start")
    public String isppToLsms() throws Exception {
        logger.info("logback 访问hello");
        logger.error("logback 访问hello");
        return "logback 成功";
    }

}

以上就算完成了,在springboot中集成logstash

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值