springboot配置ELK日志分析系统

环境配置

下载组件

  1. 下载组件官网https://www.elastic.co/cn/downloads

配置Elasticsearch

修改配置文件
vim elasticsearch/config/elasticsearch.yml
//配置外网连接,如果不能用请检查防火墙配置
node.name: node-1
network.host: 0.0.0.0
http.port: 9200
cluster.initial_master_nodes: ["node-1"]

出现的报错:

ERROR: [1] bootstrap checks failed
[1]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured

解决:

#修改config/elasticsearch.yml下,放开node.name注释,可更改名称
node.name: node-1
cluster.initial_master_nodes: [“node-1”]

无法通过ip访问:

#修改config/elasticsearch.yml下约第55行,修改为当前es地址或0.0.0.0
network.host: 0.0.0.0

//后台启动elasticsearch服务
nohup ./elasticsearch/bin/elasticsearch &

配置Kibana

修改配置

vim /kibana/config/kibana.yml
server.port: 5601
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://192.168.0.164:9200"]
后台启动:
nohup ./kibana/bin/kibana &

配置Logstash

创建并编辑一个新配置文件

mkdir /logstash/webconfig
touch logstash/webconfig/log_elk.conf
vim /logstash/webconfig/log_elk.conf
# Sample Logstash configuration for creating a simple
# Beats -> Logstash -> Elasticsearch pipeline.
# 两个不同的输入,将两个服务的日志分别输入到不同的索引中
input {
  	tcp {
        type => "elk1"   # 设定type以区分每个输入源
        host => "0.0.0.0"  # 允许任意主机发送日志
		    port => 9250
        codec => json_lines
        mode => "server"
    }

    tcp {
        type => "elk2"
        host => "0.0.0.0"
		    port => 9251
        codec => json_lines
        mode => "server"
    }
}

output {
	if [type] == "elk1" {
  		elasticsearch {
    		hosts => ["http://192.168.0.164:9200"]  # ElasticSearch 的地址和端口
    		index => "elk1"    # 指定索引名
  		}
  	}
  	if [type] == "elk2" {
  		elasticsearch {
    		hosts => ["http://192.168.0.164:9200"]
    		index => "elk2"
  		}
  	}
  	
}

无法通过ip访问9600 只能使用localhost:9600
解决:

修改config/logstash.yml下约第118行,修改为当前ip地址或0.0.0.0
http.host: "0.0.0.0"
并且要注释掉   pipeline.ordered: auto

启动logstash

//-f后可以接指定的配置文件,也可以是一个目录,它会自动将目录中的所有配置文件一起导入合成一个配置文件,实现多配置文件启动

//单文件:
nohup /logstash/bin/logstash -f /elk/logstash/wegconfig/log_elk.conf   &
//目录:
nohup /logstash/bin/logstash -f /elk/logstash/wegconfig  &

springboot服务测试

	maven引用jar包
    	 <dependency>
            <groupId>net.logstash.logback</groupId>
            <artifactId>logstash-logback-encoder</artifactId>
            <version>5.3</version>
         </dependency>

在resource目录下创建logback.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <charset>UTF-8</charset>
            <Pattern>[%d{yyyy-MM-dd HH:mm:ss.SSS}] %-5level [%t] [%logger - %line]: %m%n</Pattern>
        </encoder>
    </appender>


    <appender class="net.logstash.logback.appender.LogstashTcpSocketAppender" name="LOGSTASH">
    <!--配置logstash的ip和端口,在logstash配置文件中 不同端口-->
        <destination>172.31.0.10:9251</destination>
        <encoder class="net.logstash.logback.encoder.LogstashEncoder" charset="UTF-8"/>
    </appender>

    <root level="INFO">
        <appender-ref ref="LOGSTASH"/>
        <appender-ref ref="CONSOLE"/>
    </root>

</configuration>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值