Logstash通过RabbitMQ收集Logback日志,保存到ElasticSearch

    首先安装好ELK,我使用的版本是5.6.10,HEAD,RabbitMQ,在RabbitMQ管理界面,创建Exchange :ex_logstash,Queue:q_logstash,建立绑定,routing key是你的服务名称。当然也可以通过程序创建Exchange,Queue和绑定关系。然后按照如下步骤操作。

    一,在Spring Boot 2.0 项目pom.xml里添加RabbitMQ依赖,如下:

   <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-amqp</artifactId>
   </dependency>

    二,在logback.xml里配置如下

    <appender name="AMQP" class="org.springframework.amqp.rabbit.logback.AmqpAppender">
        <layout>
            <pattern>
                <![CDATA[%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50}.%method %line - %msg%n ]]>
            </pattern>
        </layout>
        <host>rabbitmq address</host>
        <port>5672</port>
        <username>user</username>
        <password>password</password>
        <applicationId>credit-card-bill</applicationId>
        <routingKeyPattern>credit-card-bill</routingKeyPattern>
        <declareExchange>true</declareExchange>
        <exchangeType>direct</exchangeType>
        <exchangeName>ex_logstash</exchangeName>
        <generateId>true</generateId>
        <charset>UTF-8</charset>
        <durable>true</durable>
        <deliveryMode>PERSISTENT</deliveryMode>
    </appender>

     <root level="INFO">
        <appender-ref ref="console" />
        <appender-ref ref="InfoRollingFile" />
        <appender-ref ref="AMQP" />
    </root>

    三,在logstash安装目录新建logstash.conf,配置如下

input {
    rabbitmq {
        host => "10.139.60.131"
        port => 5672
        user => kkuser
        password => kkuser123
        durable => true
        queue => "q_logstash"
        codec => plain
    }
} 

output {
    elasticsearch {
        hosts => ["http://127.0.0.1:9200"]
    }
}

    四,启动ELK,通过Head可以看到Logstash创建了以logstash-为前缀,后跟日期的索引。发起请求,产生日志,在Kibana界面中就能查看到日志了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 明天是祖母的忌辰,已经二周年了。 到现在我都觉得奶奶没有死,她还活的好好儿的!我回家还会等奶奶来...
    马小东阅读 1,129评论 1 3