`

简单ELK配合logback搭建日志监控中心

阅读更多
今天得闲就自己搭了个ELK示例,过程挺简单的。

  Elastic Search,logstash, kibana再这个地址https://www.elastic.co/cn/products都可以下载。话不多说。
首先安装ES。解压下载包到置顶目录启动脚本再bin目录下的elasticsearch,参数配置在config目录下。主要配置文件为elasticsearch.yml。主要可配置端口和discovery.zen.minimum_master_nodes这个选举的最少节点(防止脑裂问题"split brain")。

之后安装logstash。解压压缩包后再解压目录的同级下创建一个logstash-simple.conf
下面是我的配置
input {  
  tcp {  
        port => 8333  
      }  
}  
  
filter {  
}  
  
output {  
  elasticsearch { hosts => "127.0.0.1" }  
  stdout {  
         codec => rubydebug  
         }  
}

如何配置这个地址可以参考.https://www.elastic.co/guide/en/logstash/current/configuration-file-structure.html
logstash流程管道是按照input,filter,output执行的,可用的插件可参考一下的地址。
https://www.elastic.co/guide/en/logstash/current/input-plugins.html
https://www.elastic.co/guide/en/logstash/current/output-plugins.html

之后是kibana安装。解压完成后config目录下有kibana.yml。主要配置ES的http端口地址elasticsearch.url: "http://localhost:9200/",这样才能获得通过Logstash导入ES的日志数据.

下面是我的logback的配置文件,通过logback的appender直接导入logstash
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration>
<configuration>
	<appender name="logstash-out" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
		<!-- <destination>localhost:8333</destination> -->
		<param name="Encoding" value="UTF-8"/>
		<remoteHost>localhost</remoteHost>
		<port>8333</port>
		<encoder>
			<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n</pattern>
		</encoder>
	</appender>
	
	<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
		<encoder>
			<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n</pattern>
		</encoder>
	</appender>
	
	<root level="DEBUG">
    	<appender-ref ref="logstash-out" />
    	<appender-ref ref="STDOUT" />
    </root>
</configuration>


配置完成后,随便写个日志输出代码就可验证了。
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class LogPrint {

	private static final Logger LOGGER = LoggerFactory.getLogger(LogPrint.class);

	public static void main(String[] args) {

		LOGGER.info("test log info begin");
		for (int i = 0; i < 100; i++) {

			LOGGER.debug("[ResponseEntity]:{}", "i am debug" + i);
			LOGGER.info("[ResponseEntity] i am info" + i);
			LOGGER.error("[ResponseEntity]i am error" + i);
			LOGGER.warn("[ResponseEntity]i am warn" + i);
			LOGGER.debug("[ResponseEntity]:{}", "i am debug" + i);
			LOGGER.info("[ResponseEntity] i am info" + i);
			LOGGER.error("[ResponseEntity]i am error" + i);
			LOGGER.warn("[ResponseEntity]i am warn" + i);
		}
	}
}



分享到:
评论

相关推荐

    日志统计项目

    3. **日志聚合**:将分布在多台服务器上的日志数据集中到一个中心位置,例如通过ELK(Elasticsearch, Logstash, Kibana)堆栈或Fluentd等工具。 4. **日志分析**:对收集到的日志数据进行分析,这可以是实时的,也...

    定时任务调度

    日志监控还可以结合ELK(Elasticsearch、Logstash、Kibana)堆栈,实现日志的实时搜索、分析和可视化。 **权限管理**是系统安全的关键部分,确保只有授权的用户或服务能执行特定的操作。在SpringBoot中,可以利用...

    SpringCloud微服务开发核心包

    1. **监控与日志**:Mica提供了对微服务性能指标的监控,如Spring Boot Actuator,以及集成Logback、ELK栈进行日志收集和分析。 2. **分布式事务**:Mica可能包含对Seata等分布式事务解决方案的支持,解决跨服务...

    基于SpringBoot的购物中心系统源码.zip

    7. **日志监控模块(logging)**:通过Logback、Log4j等日志框架,收集系统运行中的各种信息,有助于问题排查和性能优化。同时,ELK(Elasticsearch, Logstash, Kibana)堆栈或Prometheus+Grafana等监控工具可以实时...

    基于springboot鞋类秒杀商城.zip

    - **日志监控**:集成Logback或Log4j进行日志记录,以及使用ELK(Elasticsearch、Logstash、Kibana)堆栈进行日志分析和监控。 这个项目不仅适合学生作为毕业设计实践,也是对SpringBoot、Java Web开发和电商系统...

    springboot+springcloud.zip

    5. **简化日志和测试**:内置了Logback和SLF4J,支持快速日志配置;同时,测试支持也非常友好。 SpringCloud的主要组件及功能: 1. **Eureka**:服务注册与发现,使得服务之间可以互相发现并调用。 2. **Zuul/...

    完成抽奖系统V!,准备加上nacos+dubbo.zip

    8. **日志与监控**:使用如Logback、ELK Stack(Elasticsearch, Logstash, Kibana)或Prometheus+Grafana等工具进行日志管理和系统监控。 9. **单元测试与持续集成**:使用JUnit、Mockito等进行单元测试,以及...

    梳理的一些java开发中用上的框架和开发工具,肯定会遗漏,欢迎补充

    Simple Logging Facade for Java (SLF4J) 是一个用于多种日志框架的简单抽象层。 #### 单元测试 - **JUnit**: 工具。JUnit 是一个Java编程语言的单元测试框架,由Ernst & Kent Beck编写。 - **JMockit**: 工具。...

    jfcloud

    12. **日志和监控**:为了追踪和诊断问题,jfcloud可能会集成Logback、ELK Stack(Elasticsearch、Logstash、Kibana)或Prometheus+Grafana等日志管理和性能监控工具。 综上所述,"jfcloud"项目涉及的Java知识广泛...

    coupon-service:Spring优惠券云服务

    9. **日志与监控**: 使用Logback、ELK Stack(Elasticsearch、Logstash、Kibana)或Prometheus+Grafana等工具进行日志收集和系统性能监控。 10. **测试**: 使用JUnit、Mockito等工具进行单元测试,保证代码质量;...

Global site tag (gtag.js) - Google Analytics