简易ELK搭建

ELK搭建

  • 1. elasticsearch
    • 1.1 下载
    • 1.2 ES配置
    • 1.3 启动ES
    • 1.4 开启权限认证
    • 1.5 IK分词器配置(非必须)
  • 2. kibana
    • 2.1 下载
    • 2.2 配置
    • 2.3 启动kibana
  • 3. logstash
    • 3.1 下载
    • 3.2 配置
    • 3.3 启动logstash
  • 4. springboot推送数据

ELK包括elasticsearch、logstash、kibana,是用于数据抽取(Logstash)、搜索分析(Elasticsearch)、数据展现(Kibana)的一整套解决方案,本文搭建的为7.8版本,均为单节点部署(JDK要求1.8.0_73以上)

  • 本文为ELK简易版本部署

1. elasticsearch

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

1.1 下载

  • 地址: https://www.elastic.co/cn/downloads/past-releases#elasticsearch
    ES目录:
  • elasticsearch-7.8.0
    • bin 脚本目录,包括:启动、停止等可执行脚本
    • config 配置文件目录
    • data 索引目录,存放索引文件的地方
    • logs 日志目录
    • modules 模块目录,包括了es的功能模块
    • plugins 插件目录,es支持插件机制

1.2 ES配置

  • config 下的elasticsearch.yml末尾加上以下配置
#设置访问端口
network.host: 0.0.0.0
#设置对外访问端口
http.port: 9200
#开启认证
xpack.security.enabled: true
xpack.security.audit.enabled: true
xpack.license.self_generated.type: basic
xpack.security.transport.ssl.enabled: true

1.3 启动ES

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

  • 创建用户用户组
groupadd es
useradd -r -g es es
  • 开放目录权限
chown -R [elk所在目录]
  • 切换至es账户,在bin目录下后台启动es
./elasticsearch -d 

通过浏览器能够访问到如下页面即表示启动成功
在这里插入图片描述

1.4 开启权限认证

  • es账户在bin目录下运行
./elasticsearch-setup-passwords interactive

根据提示后输入Y,随后根据提示设置密码,设置完之后重启es即可

1.5 IK分词器配置(非必须)

  • 下地址:https://github.com/medcl/elasticsearch-analysis-ik/releases/tag/v7.8.0
  • 下载后解压到plugins目录下并把压缩包删除,随后重启es,解压后参考目录
    在这里插入图片描述

2. kibana

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

2.1 下载

  • 下载地址:https://artifacts.elastic.co/downloads/kibana/kibana-7.8.0-linux-x86_64.tar.gz
  • 主要目录:
  • kibana-7.8.0
    • bin 脚本目录,包括:启动、停止等可执行脚本
    • config 配置文件目录
    • data 数据存放目录
    • logs 日志目录
    • modules 模块目录
    • plugins 插件目录

2.2 配置

  • config 下的kibana.yml末尾加上以下配置
# 默认端口
server.port: 5601
# ES 服务器的地址
elasticsearch.hosts: ["http://127.0.0.1:9200"]
# 索引名
kibana.index: ".kibana"
# 支持中文
i18n.locale: "zh-CN"
# es账户
elasticsearch.username: "elastic"
elasticsearch.password: "123456"
# 显示登陆页面
xpack.monitoring.ui.container.elasticsearch.enabled: true

2.3 启动kibana

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

- 切换至非root账户,在`bin`目录下后台启动kibana
```sh
./kibana

通过浏览器能够访问到如下页面即表示启动成功
在这里插入图片描述

3. logstash

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

3.1 下载

下载地址:https://www.elastic.co/cn/downloads/logstash

目录结构类似es

3.2 配置

  • config 下的kibana.yml末尾加上以下配置
http.host: "0.0.0.0"
xpack.monitoring.enabled: true
xpack.monitoring.elasticsearch.username: logstash_system
xpack.monitoring.elasticsearch.password: "123456"
xpack.monitoring.elasticsearch.hosts: ["http://127.0.0.1:9200"]
  • 修改config 下的logstash-sample.conf为以下配置
input {
  tcp {
    port => 8899
  }
}

output {
	elasticsearch {
		hosts => ["http://127.0.0.1:9200"]
		index => "saas_log"
		user => "elastic"
		password => "123456"
	}
}

3.3 启动logstash

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

  • 切换至非root账户,在bin目录下后台启动logstash
./logstash -f ../config/logstash-sample.conf

4. springboot推送数据

  • 基于logback,除日志相关依赖外,额外加入logstash依赖
<dependency>
	<groupId>net.logstash.logback</groupId>
    <artifactId>logstash-logback-encoder</artifactId>
    <version>4.11</version>
</dependency>
  • 设置logback配置
    在这里插入图片描述
<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false" scan="false">
	<springProperty scop="context" name="spring.application.name" source="spring.application.name" defaultValue=""/>
	<property name="log.path" value="logs/${spring.application.name}"/>
	<property name="logstash.destination" value="${spring.logstash.destination}"/>
	<!-- 彩色日志格式 -->
	<property name="CONSOLE_LOG_PATTERN"
			  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}}"/>
	<!-- 彩色日志依赖的渲染类 -->
	<conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter"/>
	<conversionRule conversionWord="wex"
					converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/>
	<conversionRule conversionWord="wEx"
					converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/>
	<appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
		<!--可以访问的Logstash日志收集端口-->
		<destination>127.0.0.1:8899</destination>
		<encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder">
			<providers>
				<timestamp>
					<timeZone>UTC</timeZone>
				</timestamp>
<!--				<pattern>-->
<!--					<pattern>-->
<!--						{-->
<!--						"severity": "%level",-->
<!--						"service": "${springAppName:-}",-->
<!--						"trace": "%X{X-B3-TraceId:-}",-->
<!--						"span": "%X{X-B3-SpanId:-}",-->
<!--						"exportable": "%X{X-Span-Export:-}",-->
<!--						"pid": "${PID:-}",-->
<!--						"thread": "%thread",-->
<!--						"class": "%logger{40}",-->
<!--						"message": "%message"-->
<!--						}-->
<!--					</pattern>-->
<!--				</pattern>-->
			</providers>
		</encoder>
	</appender>

	<!-- Level: FATAL 0  ERROR 3  WARN 4  INFO 6  DEBUG 7 -->
	<root level="info">
		<appender-ref ref="LOGSTASH"/>
	</root>
</configuration>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/803258.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

自然语言处理(NLP)——法国工程师IMT联盟 期末考试题

1. 问题1 &#xff08;法语&#xff09;En langue arabe lcrasante majorit des mots sont forms par des combinaisons de racines et de schmes. Dans ce mcanisme... &#xff08;英语&#xff09;In Arabic language the vast majority&#xff08;十之八九&#xff09; of…

《昇思25天学习打卡营第23天|onereal》

第23天学习内容简介&#xff1a; ----------------------------------------------------------------------------- 本案例基于MindNLP和ChatGLM-6B实现一个聊天应用。 1 环境配置 配置网络线路 2 代码开发 下载权重大约需要10分钟 ------------------------------- 运…

UI设计工具选择指南:Sketch、XD、Figma、即时设计

在数字产品设计产业链中&#xff0c;UI设计师往往起着连接前后的作用。产品经理从一个“需求”开始&#xff0c;制定一个抽象的产品概念原型。UI设计师通过视觉呈现将抽象概念具体化&#xff0c;完成线框图交互逻辑视觉用户体验&#xff0c;最终输出高保真原型&#xff0c;并将…

基于Java的在线考试系统

你好呀&#xff0c;我是计算机学姐码农小野&#xff01;如果有相关需求&#xff0c;可以私信联系我。 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;Java MySQL B/S架构 SpringBoot框架 工具&#xff1a;Eclipse、MySQL环境配置工具 系统展示 首…

ArkUI状态管理

State装饰器 在声明式UI中&#xff0c;是以状态驱动试图更新 状态 (State) 指驱动视图更新的数据(被装饰器标记的变量) 试图(View) 基于UI描述渲染得到用户界面 说明 1.State装饰器标记的变量必须初始化&#xff0c;不能为空 2.State支持Object、classstring、number、b…

【LeetCode:试题 16.06. 最小差 + 双指针 + 防止整型溢出】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

Pythonselenium自动化测试实战项目详解

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 说明&#xff1a;本项目采用流程控制思想&#xff0c;未引用unittest&pytest等单元测试框架 …

SSE(Server Sent Event)实战(3)- Spring Web Flux 实现

上篇博客 SSE&#xff08;Server Sent Event&#xff09;实战&#xff08;2&#xff09;- Spring MVC 实现&#xff0c;我们用 Spring MVC 实现了简单的消息推送&#xff0c;并且留下了两个问题&#xff0c;这篇博客&#xff0c;我们用 Spring Web Flux 实现&#xff0c;并且看…

Unity动画系统(3)---融合树

6.1 动画系统基础2-6_哔哩哔哩_bilibili Animator类 using System.Collections; using System.Collections.Generic; using UnityEngine; public class EthanController : MonoBehaviour { private Animator ani; private void Awake() { ani GetComponen…

【ECharts】使用 ECharts 处理不同时间节点的数据系列展示

使用 ECharts 处理不同时间节点的数据系列展示 在数据可视化中&#xff0c;我们经常遇到这样的问题&#xff1a;不同数据系列的数据点在时间轴上并不对齐。这种情况下&#xff0c;如果直接在 ECharts 中展示&#xff0c;图表可能会出现混乱或不准确。本文将通过一个示例代码&a…

解决VSCode自动识别文件编码

在VScode 的 设置界面 输入 autoGuess 关键字 &#xff0c;勾选启用即可自动识别&#xff01;&#xff01;&#xff01;

【Python与GUI开发】事件处理与打包分发

文章目录 前言 一、高级事件处理 1.自定义事件 2.拖放操作 3.复杂控件的事件处理 二、打包和分发 Tkinter 应用 1.PyInstaller 2.cx_Freeze 3.spec 文件 4.分发注意事项 三、实战示例&#xff1a;文件浏览器 总结 前言 在前面的讨论中&#xff0c;我们深入理解了 T…

Qt MV架构-委托类

一、基本概念 与MVC模式不同&#xff0c;MV视图架构中没有包含一个完全分离的组件来处理与用户的交互。 一般地&#xff0c;视图用来将模型中的数据显示给用户&#xff0c;也用来处理用户的输入。为了获得更高的灵活性&#xff0c;交互可以由委托来执行。 这些组件提供了输入…

每日一 练,java

目录 题目分析代码 题目 选自牛客网 1.小美的平衡矩阵 小美拿到了一个&#x1d45b;∗&#x1d45b;的矩阵&#xff0c;其中每个元素是 0 或者 1。 小美认为一个矩形区域是完美的&#xff0c;当且仅当该区域内 0 的数量恰好等于 1 的数量。现在&#xff0c;小美希望你回答有多…

电瓶车检测AI算法:视频智能分析技术助力电瓶车规范与安全管理

随着电瓶车&#xff08;电动自行车&#xff09;的普及&#xff0c;其在城市交通中扮演着越来越重要的角色。然而&#xff0c;电瓶车的管理、安全监控以及维护等方面也面临着诸多挑战。近年来&#xff0c;人工智能&#xff08;AI&#xff09;技术的发展为解决这些问题提供了新的…

网络开局 与 Underlay网络自动化

由于出口和核心设备 部署在核心机房,地理位置集中,业务复杂,开局通常需要网络工程师进站调测。 因此核心层及核心以上的设备(包含核心层设备,旁挂独立AC设备和出口设备)推荐采用WEB网管开局方式或命令行开局方式。 核心以下的设备(包含汇聚层设备、接入层设备和AP)由于数量众…

使用 exe4j 转换 Java jar 程序为 Windows 平台可执行文件 (.exe)

使用 exe4j 转换 Java jar 程序为 Windows 平台可执行文件 &#xff08;.exe&#xff09; 介绍exe4j 特点&#xff1a;转换全过程&#xff08;软件操作&#xff09;1、注册2、选择模式3、配置应用4、选择执行的方式&#xff08;我这里管这个叫呈现方式&#xff09;5、选择 JAR …

6.Dockerfile及Dockerfile常用指令

Dockerfile是构建docker镜像的脚本文件 Dockerfile有很多的指令构成&#xff0c;指令由上到下依次运行。 每一条指令就是一层镜像&#xff0c;层越多&#xff0c;体积就越大&#xff0c;启动速度也越慢 井号开头的行是注释行。指令写大写写小写都行&#xff0c;但一般都写为…

Java SpringAOP简介

简介 官方介绍&#xff1a; SpringAOP的全称是&#xff08;Aspect Oriented Programming&#xff09;中文翻译过来是面向切面编程&#xff0c;AOP是OOP的延续&#xff0c;是软件开发中的一个热点&#xff0c;也是Spring框架中的一个重要内容&#xff0c;是函数式编程的一种衍生…

WEB前端05-JavaScrip基本对象

JavaScript对象 1.Function对象 函数的创建 //方法一&#xff1a;自定义函数 function 函数名([参数]) {函数体[return 表达式] }//方法二&#xff1a;匿名函数 (function([参数]) {函数体[return 表达式] }); **使用场景一&#xff1a;定义后直接调用使用(只使用一次) (fun…