zoukankan      html  css  js  c++  java
  • ELK+Kafka部署指南(三)

    五、安装kibana

    kibana官方配置指南:https://www.elastic.co/guide/en/kibana/current/settings.html

    安装启动####

    步骤1、解压安装包、修改配置

    解压安装包:kibana-7.0.0-linux-x86_64.tar.gz

    进入到解压后的目录:cd kibana-7.0.0-linux-x86_64

    进入到config文件夹:cd config

    修改配置文件:vi kibana.yml

    开发环境修改后的配置如下:

    kibana.yml

    
    server.port: 5601
    server.host: "172.18.5.47"
    server.name: "kibana"
    elasticsearch.url: "http://172.18.5.47:9200"
    
    
    步骤2、启动kibana

    启动:./kibana &

    步骤3、访问测试
    在浏览器中输入:http://172.18.5.47:5601,出现如下界面,说明部署成功

    安装时遇到的问题:
    1、Your Kibana index is out of date, reset it or use the X-Pack upgrade assistant.

    修改:kibana.yml

    打开:kibana.index: ".kibana6"

    六、Log4j2配置

    <?xml version="1.0" encoding="UTF-8"?>
    <!--设置log4j2的自身log级别为warn-->
    <!--日志级别以及优先级排序: OFF > FATAL > ERROR > WARN > INFO > DEBUG > TRACE > ALL -->
    <!--Configuration后面的status,这个用于设置log4j2自身内部的信息输出,可以不设置,
    当设置成trace时,你会看到log4j2内部各种详细输出-->
    <!--monitorInterval:Log4j能够自动检测修改配置 文件和重新配置本身,设置间隔秒数-->
    <configuration status="WARN" monitorInterval="30" packages="com.kingdee.re.log4j2,com.kingdee.re.common.kafka">
    <Properties>
    <Property name="DRUID_SQL_LEVEL">DEBUG</Property>
    <Property name="PATTERN_FORMAT">[%d{yyy-MM-dd HH:mm:ss}] %5p %c{1}:%L - %m%n</Property>
    
    <!-- 获取系统变量使用sys:前缀,默认值格式【:-默认值】  -->
    <Property name="APP_NAME">${sys:boot.app.name:-OwnerCloud.wy}</Property>
    <Property name="LOG_TYPE">${sys:log.type:-app}</Property>
    <Property name="ROLLINGFILE_SIZE">20 MB</Property>
    <Property name="ROLLINGFILE_PATH">/kingdee/OwnerCloud/logs</Property>
    <Property name="KAFKA_SERVERS">172.18.5.47:9092</Property>
    <Property name="KAFKA_TOPIC">kafka-log</Property>
    </Properties>
    <!--先定义所有的appender-->
    <appenders>
    <!--这个输出控制台的配置-->
    <console name="Console" target="SYSTEM_OUT">
    <!--控制台只输出level及以上级别的信息(onMatch),其他的直接拒绝(onMismatch) -->
    <ThresholdFilter level="DEBUG" onMatch="ACCEPT" onMismatch="DENY" />
    <!--输出日志的格式-->
    <!--<PatternLayout pattern="[%d{ABSOLUTE}] [%D] %5p %c{1}:%L - %m%n"/>-->
    <PatternLayout pattern="${PATTERN_FORMAT}"/>
    </console>
    <!--文件会打印出所有信息,这个log每次运行程序会自动清空,由append属性决定,这个也挺有用的,适合临时测试用
    <File name="log" fileName="log/test.log" append="false">
    <PatternLayout pattern="%d{yyy-MM-dd HH:mm:ss} %-5level %class{36} %L %M - %msg%xEx%n"/>
    </File>
    -->
    <!-- 这个会打印出所有的info及以下级别的信息,每次大小超过size,
    则这size大小的日志会自动存入按年份-月份建立的文件夹下面并进行压缩,作为存档-->
    <RollingFile name="fileLog" fileName="${ROLLINGFILE_PATH}/${APP_NAME}.log"
    filePattern="${ROLLINGFILE_PATH}/$${date:yyyy-MM}/${APP_NAME}.log-%d{yyyy-MM-dd}-%i.log">
    <PatternLayout pattern="${PATTERN_FORMAT}"/>
    <Policies>
    <TimeBasedTriggeringPolicy/>
    <SizeBasedTriggeringPolicy size="${ROLLINGFILE_SIZE}"/>
    </Policies>
    </RollingFile>
    
     
    
    <!--kafka日志 -->
    
    <KafkaLog name="kafkaLog" topic="${KAFKA_TOPIC}" logType="${LOG_TYPE}" ignoreExceptions="false">
    <PatternLayout pattern="${PATTERN_FORMAT}"/>
    <Property name="bootstrap.servers">${KAFKA_SERVERS}</Property>
    <Property name="max.block.ms">1000</Property><!-- 阻塞时间 -->
    </KafkaLog>
    
    
    <!-- primary的Appender失败之后会转发failOvers数组中的appender -->
    <!-- retryIntervalSeconds 下次重试时间 -->
    <Failover name="failOver" primary="kafkaLog" retryIntervalSeconds="60">
    <Failovers>
    <appender-ref ref="fileLog"/>
    </Failovers>
    </Failover>
    
    
    </appenders>
    <!--然后定义logger,只有定义了logger并引入的appender,appender才会生效-->
    <loggers>
    <Logger name="org.apache.kafka" level="INFO" additivity="false">
    <appender-ref ref="fileLog"/>
    </Logger>
    <Logger name="com.kingdee.re.common.kafka" level="INFO" additivity="false">
    <appender-ref ref="fileLog"/>
    </Logger>
    <!--异步logger方式-->
    <AsyncLogger name="org.springframework" level="INFO" additivity="false">
    <appender-ref ref="failOver"/>
    </AsyncLogger >
    <AsyncLogger name="com.kingdee.re" level="INFO" additivity="false">
    <appender-ref ref="failOver"/>
    </AsyncLogger >
    <AsyncLogger name="org.mybatis" level="INFO" additivity="false">
    <appender-ref ref="failOver"/>
    </AsyncLogger >
    <AsyncLogger name="druid.sql" level="INFO" additivity="false">
    <appender-ref ref="failOver"/>
    </AsyncLogger >
    <AsyncLogger name="druid.sql.Statement" level="${DRUID_SQL_LEVEL}" additivity="false">
    <appender-ref ref="failOver"/>
    </AsyncLogger >
    
    <Root level="INFO" includeLocation = "true">
    <appender-ref ref="failOver"/>
    </Root>
    
    </loggers>
    </configuration>
    
  • 相关阅读:
    Mysql存储引擎概念特点介绍及不同业务场景选用依据
    python
    nginx使用keepalived实现高可用
    python-文件操作(1)
    浏览器缓存知识小结及应用
    cookie 和 session
    tcp三次握手
    TCP/IP系列——长连接与短连接的区别
    python
    python- 迭代器与生成器
  • 原文地址:https://www.cnblogs.com/gloria-liu/p/12201987.html
Copyright © 2011-2022 走看看