• 基于mq搭建elk


    基于mq搭建elk

    其实elk就是ES,Logstash,kibana,那ES的数据源由很多,本文主要讲下通过mq把数据扔到es然后通过kibana展示

    官网地址:https://www.elastic.co/guide/en/logstash/current/plugins-inputs-rabbitmq.html

    Logstash是一个开源数据收集引擎,具有实时管道功能。Logstash可以动态地将来自不同数据源的数据统一起来,并将数据标准化到你所选择的目的地

    安装

    在官网下载之后解压
    logstash-sample.conf

    这里主要配置日志的输入和输出,下面是通过mq输入,输出到es的例子,放在bin文件夹下

    input { 
    rabbitmq {
    exchange => "notificationExchage"
    exchange_type => "topic"
    key => "xwxlogstash"
    host => "172.16.20.1"
    port => 5672
    user => "test"
    password => "itsme999"
    queue => "xwxlogstash"
    auto_delete => false
    vhost => "/dev"

    }
    }

    output {
    elasticsearch {
    hosts => ["localhost:9200"]
    index => "xwxlogstash_log_mq"
    }
    }

    在bin下面执行cmd ---logstash -f logstash-sample.conf

    遇到的问题:

    • 解压之后的文件夹路径不能带中文,不然会报错

    logback-spring配置
    上述logstash启动之后,进行logback-spring配置

     

     <appender name="RabbitMq" class="org.springframework.amqp.rabbit.logback.AmqpAppender">
    <host>172.16.20.1</host>
    <port>5672</port>
    <username>test</username>
    <password>itsme999</password>
    <virtualHost>/dev</virtualHost>
    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
    <level>INFO</level>
    </filter>
    <routingKeyPattern>xwxlogstash</routingKeyPattern>
    <declareExchange>true</declareExchange>
    <exchangeType>topic</exchangeType>
    <exchangeName>notificationExchage</exchangeName>
    <generateId>true</generateId>
    <durable>false</durable>
    <declareExchange>true</declareExchange>
    <autoDelete>false</autoDelete>
    <charset>UTF-8</charset>
    <layout class="ch.qos.logback.classic.PatternLayout">
    <pattern>
    <![CDATA[%msg]]>
    </pattern>
    </layout>
    </appender>

    注意这里,如果mq是多环境的需要加<virtualHost>指定环境,不然启动项目会报错

    kibana
    下载解压kibana,然后直接运行bat文件
    正常启动之后访问localhost:5601

    检查kibana状态

    http://localhost:5601/status#?_g=()

    ​​

    用Elasticsearch连接到Kibana
    在你开始用Kibana之前,你需要告诉Kibana你想探索哪个Elasticsearch索引。第一次访问Kibana是,系统会提示你定义一个索引模式以匹配一个或多个索引的名字。

    • 在management中添加es索引


    Discover

    Lucene查询语法

    Kibana查询语言基于Lucene查询语法。

    • 为了执行一个文本搜索,可以简单的输入一个文本字符串,例如:千与千寻
    • 查询某个字段 xxx:xxx .列如:cost:39.7
    • 查询某个字段的范围 xxx:[111 TO 2222],注意TO必须大写,例如:cost:[39.7 TO 60]
    • 如果想做复杂的查询可以用AND ,OR 和NOT来查询.列如:cost:[39.7 TO 60] AND film_name:千


    例子

    • 启动es
    • 启动es-head
    • 启动logstash
    • 启动配好logback的项目


     
  • 相关阅读:
    数据库常用连接字符串(网址)
    WPF布局(2)控件拖动
    TreeView templete(code project)
    寄宿(host)和应用程序域(appdomain)
    C#DSN操作
    WPF布局(3)坐标(转)
    C#注册表操作
    程序集加载与反射
    关于RichTextBox 及 RTF格式文件的保存
    Ajax实现不刷屏的前提下实现页面定时刷新
  • 原文地址:https://www.cnblogs.com/xwx20160804/p/11719473.html
Copyright © 2020-2023  润新知