IT评测·应用市场-qidao123.com技术社区

标题: 浅易ELK搭建 [打印本页]

作者: 干翻全岛蛙蛙    时间: 2024-7-22 19:41
标题: 浅易ELK搭建
ELK包括elasticsearch、logstash、kibana,是用于数据抽取(Logstash)、搜索分析(Elasticsearch)、数据展现(Kibana)的一整套解决方案,本文搭建的为7.8版本,均为单节点部署(JDK要求1.8.0_73以上)

1. elasticsearch

Elasticsearch 是使用java开辟,基于Lucene、分布式、通过Restful方式举行交互的近实时搜索平台框架。它的特点有:分布式,零配置,主动发现,索引主动分片,索引副本机制,restful风格接口,多数据源,主动搜索负载等。
1.1 下载


1.2 ES配置


  1. #设置访问端口
  2. network.host: 0.0.0.0
  3. #设置对外访问端口
  4. http.port: 9200
  5. #开启认证
  6. xpack.security.enabled: true
  7. xpack.security.audit.enabled: true
  8. xpack.license.self_generated.type: basic
  9. xpack.security.transport.ssl.enabled: true
复制代码
1.3 启动ES

Linux下不能直接使用root账户启动,需创建es账号,并把es地点目录权限开放给es账户

  1. groupadd es
  2. useradd -r -g es es
复制代码

  1. chown -R [elk所在目录]
复制代码

  1. ./elasticsearch -d
复制代码
通过浏览器可以或许访问到如下页面即表示启动成功

1.4 开启权限认证


  1. ./elasticsearch-setup-passwords interactive
复制代码
根据提示后输入Y,随后根据提示设置暗码,设置完之后重启es即可
1.5 IK分词器配置(非必须)


2. kibana

kibana是es数据的前端展现,数据分析时,可以方便地看到数据。作为开辟人员,可以方便访问es。
2.1 下载


2.2 配置


  1. # 默认端口
  2. server.port: 5601
  3. # ES 服务器的地址
  4. elasticsearch.hosts: ["http://127.0.0.1:9200"]
  5. # 索引名
  6. kibana.index: ".kibana"
  7. # 支持中文
  8. i18n.locale: "zh-CN"
  9. # es账户
  10. elasticsearch.username: "elastic"
  11. elasticsearch.password: "123456"
  12. # 显示登陆页面
  13. xpack.monitoring.ui.container.elasticsearch.enabled: true
复制代码
2.3 启动kibana

同es一样,Linux下不能直接使用root账户启动,需创非root账号,并把kibana地点目录权限开放给新增账户
  1. - 切换至非root账户,在`bin`目录下后台启动kibana
  2. ```sh
  3. ./kibana
复制代码
通过浏览器可以或许访问到如下页面即表示启动成功

3. logstash

logstash是一个数据抽取工具,将数据从一个地方转移到另一个地方。如hadoop生态圈的sqoop等。
3.1 下载

下载地址:https://www.elastic.co/cn/downloads/logstash
目录结构雷同es
3.2 配置


  1. http.host: "0.0.0.0"
  2. xpack.monitoring.enabled: true
  3. xpack.monitoring.elasticsearch.username: logstash_system
  4. xpack.monitoring.elasticsearch.password: "123456"
  5. xpack.monitoring.elasticsearch.hosts: ["http://127.0.0.1:9200"]
复制代码

  1. input {
  2.   tcp {
  3.     port => 8899
  4.   }
  5. }
  6. output {
  7.         elasticsearch {
  8.                 hosts => ["http://127.0.0.1:9200"]
  9.                 index => "saas_log"
  10.                 user => "elastic"
  11.                 password => "123456"
  12.         }
  13. }
复制代码
3.3 启动logstash

同es一样,Linux下不能直接使用root账户启动,需创非root账号,并把logstash地点目录权限开放给新增账户

  1. ./logstash -f ../config/logstash-sample.conf
复制代码
4. springboot推送数据


  1. <dependency>
  2.         <groupId>net.logstash.logback</groupId>
  3.     <artifactId>logstash-logback-encoder</artifactId>
  4.     <version>4.11</version>
  5. </dependency>
复制代码

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <configuration debug="false" scan="false">
  3.         <springProperty scop="context" name="spring.application.name" source="spring.application.name" defaultValue=""/>
  4.         <property name="log.path" value="logs/${spring.application.name}"/>
  5.         <property name="logstash.destination" value="${spring.logstash.destination}"/>
  6.         <!-- 彩色日志格式 -->
  7.         <property name="CONSOLE_LOG_PATTERN"
  8.                           value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
  9.         <!-- 彩色日志依赖的渲染类 -->
  10.         <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter"/>
  11.         <conversionRule conversionWord="wex"
  12.                                         converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/>
  13.         <conversionRule conversionWord="wEx"
  14.                                         converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/>
  15.         <appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
  16.                 <!--可以访问的Logstash日志收集端口-->
  17.                 <destination>127.0.0.1:8899</destination>
  18.                 <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder">
  19.                         <providers>
  20.                                 <timestamp>
  21.                                         <timeZone>UTC</timeZone>
  22.                                 </timestamp>
  23. <!--                                <pattern>-->
  24. <!--                                        <pattern>-->
  25. <!--                                                {-->
  26. <!--                                                "severity": "%level",-->
  27. <!--                                                "service": "${springAppName:-}",-->
  28. <!--                                                "trace": "%X{X-B3-TraceId:-}",-->
  29. <!--                                                "span": "%X{X-B3-SpanId:-}",-->
  30. <!--                                                "exportable": "%X{X-Span-Export:-}",-->
  31. <!--                                                "pid": "${PID:-}",-->
  32. <!--                                                "thread": "%thread",-->
  33. <!--                                                "class": "%logger{40}",-->
  34. <!--                                                "message": "%message"-->
  35. <!--                                                }-->
  36. <!--                                        </pattern>-->
  37. <!--                                </pattern>-->
  38.                         </providers>
  39.                 </encoder>
  40.         </appender>
  41.         <!-- Level: FATAL 0  ERROR 3  WARN 4  INFO 6  DEBUG 7 -->
  42.         <root level="info">
  43.                 <appender-ref ref="LOGSTASH"/>
  44.         </root>
  45. </configuration>
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 IT评测·应用市场-qidao123.com技术社区 (https://dis.qidao123.com/) Powered by Discuz! X3.4