五分钟带你玩转Elasticsearch(九)生产环境ELK监控spring boot方案

本文介绍了Spring Boot项目与Logstash的配置及结果查看方法。先配置Spring Boot项目,在pom和logstash.xml文件新增代码,注意指定logstash服务器ip和端口;接着在logstash中新建配置文件并修改相关yml文件;最后访问Kibana查看索引判断是否配置成功。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

elasticsearch,kibana,logstash搭建见上文

1.配置spring boot项目

pom文件

        <!-- logback 推送日志文件到logstash -->
        <dependency>
            <groupId>net.logstash.logback</groupId>
            <artifactId>logstash-logback-encoder</artifactId>
            <version>6.5</version>
        </dependency>

logstash.xml文件

<!--logstash配置-->
    <appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
        <destination>192.168.xx.xx:5000</destination>
        <!-- 日志输出编码 -->
        <encoder charset="UTF-8" class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
            <providers>
                <timestamp>
                    <timeZone>UTC</timeZone>
                </timestamp>
                <pattern>
                    <pattern>
                        {
                        "logLevel": "%level",
                        "serviceName": "${springAppName:-}",
                        "pid": "${PID:-}",
                        "thread": "%thread",
                        "class": "%logger{40}",
                        "rest": "%message"
                        }
                    </pattern>
                </pattern>
            </providers>
        </encoder>
        <!--<encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder"/>-->
    </appender>

新增以上代码

注意:

<destination>192.168.xx.xx:5000</destination> 中ip为logstash服务器的ip,端口号是向logstash发送请求的端口(需要与下文logstash监控配置相同),随便指定,且端口不能被占用,并开启防火墙

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

注意:

<appender-ref ref="LOGSTASH"/> 一定要配置 否则无法输出。

注:指定指定logstash.xml需要配置 不多说

2.配置logstash

在/logstash/bin中新建log_to_es.conf 新增配置

input{
        tcp {
			    mode => "server"
				host => "0.0.0.0"
                port => 5000  监控spring boot发来的请求 与spring boot中端口号相同 且不能有其他端口占用
                codec => json_lines
        }
}
output{
        elasticsearch{
                hosts=>["192.168.xx.xx:9200"] es地址 
                index => "index-%{+YYYY.MM.dd}"   索引名称
                }
        stdout{codec => rubydebug}
}

修改/logstash/config下的logstash.yml  如果

http.host: "192.168.49.14"

3.查看结果

访问kibana 按照图中点击 查看索引是否多出来监控索引即可判断是否成功

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小鲍侃java

请博主喝个可乐吧,可加微信面基

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值