Spring-boot搭建elk环境以及对数据流程完整展示

ELK的数据处理流程:

第一步:产生日志数据
spring-boot项目基本配置:

新建spring-boot项目2.1.14,勾选好下图两个依赖,开始新建项目
在这里插入图片描述

导入guava依赖

<dependency>
		<groupId>com.google.guava</groupId>
		<artifactId>guava</artifactId>
		<version>18.0</version>
</dependency>
 <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core -->
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
            <version>2.9.9</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.9.9</version>
        </dependency>
<dependency>
	<groupId>net.logstash.logback</groupId>
	<artifactId>logstash-logback-encoder</artifactId>
	<version>4.11</version>
</dependency>

并修改application.propertiesapplication.yml,添加es的集群配置dao接口配置

spring:
  data:
    elasticsearch:
      cluster-nodes: niceday-es
      cluster-name: 192.168.56.101:9300
      repositories:
        enabled: true

创建controller包
在这里插入图片描述
对线程生产的封装,我以将代码开源到github上,可以去star项目慢慢看

第二步:清洗日志数据格式
第三步:存储日志数据并分析
第四步:显示日志数据

control层

@RestController
public class UserActionCtl {
   
	@Autowired
	private UserActionServices uas;

	@RequestMapping("/fenzu")
	public List<VUserModelPie> groupAndCount(){
   
		return uas.aggsSearch();
	}
}

dao层

public interface UserActionDAO extends ElasticsearchRepository<UserAction,String> {
   
}

model层
browserInfos

public class BrowserInfos {
   
	private String browserVersion;
	private int custid;
	private Events events;
	private static BrowserInfos browserInfos;


	public static BrowserInfos getBrowserInstance(){
   
		if (browserInfos == null){
   
			synchronized (BrowserInfos.class){
   
				if (browserInfos == null){
   
					browserInfos = new BrowserInfos();
				}
			}
		}
		return browserInfos;
	}

	private BrowserInfos(){
   }

	public Events getEvents() {
   
		return events;
	}

	public void setEvents(Events events) {
   
		this.events = events;
	}

	public int getCustid() {
   
		return custid;
	}

	public void setCustid(int custid) {
   
		this.custid = custid;
	}

	public String getBrowserVersion() {
   
		return browserVersion;
	}

	public void setBrowserVersion(String browserVersion) {
   
		this.browserVersion = browserVersion;
	}
}

events

public class Events {
   
	private String eventCateGory;
	private String position;
	
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值