ELK框架搭建之win版本

ELK框架搭建之win版本**ELK安装管理之win版本**(一)Elasticsearch+Logstash+Kibana简称elk,下面将是各个安装过程(二)安装ELK1.安装elasticsearch1.https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.10.2-windows-x86_64.zip下载文件进行解压,版本号可以进行更改尽量适配版本2.解压好之后至今在bin目录下cmd也可自行

大家好,欢迎来到IT知识分享网。

**

ELK安装管理之win版本

**

(一)Elasticsearch+Logstash +Kibana 简称elk,下面将是各个安装过程

(二) 安装ELK

1.安装elasticsearch

  1.https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.10.2-windows-x86_64.zip
  下载文件进行解压,版本号可以进行更改 尽量适配版本
  
  2.解压好之后 至今在bin目录下cmd 也可自行切换命令输入elasticsearch.bat

2.安装 kibana

  1.https://artifacts.elastic.co/downloads/kibana/kibana-7.10.2-windows-x86_64.zip
下载后解压文件,依然版本号可更改适配es版本号

2.解压好之后 至今在bin目录下cmd 也可自行切换命令输入kibana.bat

3.http://127.0.0.1:5601/ 运行好去浏览器输入会进入这个页面

在这里插入图片描述

4.在dev tool测试es是否成功开启

在这里插入图片描述
3.安装Logstash

1.https://www.elastic.co/fr/downloads/logstash 去上面下载 选择自己所需要的版本

2.解压之后在bin目录下面新建个文件logstash.conf

3.文件里面放入
input{
 stdin{
}
}
output{
  stdout{
}
}

4.cmd切换到bin目录下 运行logstash –f logstash.conf 也就是刚才创建的conf

5.运行成功之后的截图是这个样子

在这里插入图片描述

6.在127.0.0.1:9600 会得到

在这里插入图片描述

7.注意一下 conf要另存为所有文件格式并且编码是ANSI值,此外安装路径不允许存在任何中文 否则会报编码错误

4.目前是一个简单的elk框架算是安装完毕,下一步就要用logstash连接数据库进行自动抽取

(三)配置logstash.conf 对接数据库

1.创建一个sql的文件夹 里面主要存放的是你的sql文件

2.比如说你的sql文件是all_data.sql 我们接下来就要conf指定这份文件

3.在config文件夹下面创建文件all_data.conf 在里面配数据库数据
这是个完整的例子

# logstash同步数据到ES中的启动方式:cd到logstash的bin目录,logstash.bat -f #该配置文件所在的路径#
input{
    jdbc{
		# 数据库驱动包存放路径
        jdbc_driver_library => "D:\es\logstash-7.10.2\logstash-7.10.2\lib\mysql-connector-java-8.0.18.jar"
		# 数据库驱动器;踩过的坑:驱动器前面少了Java::  导致启动成功后执行报错
        jdbc_driver_class => "Java::com.mysql.cj.jdbc.Driver"
		# 数据库连接方式
        jdbc_connection_string => "jdbc:mysql://182.92.157.122:3306/elasticsearch?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai"
		# 数据库用户名
        jdbc_user => "root"
		# 数据库密码
        jdbc_password => "123456"
		# 数据库重连尝试次数
		connection_retry_attempts => "3"
		# 判断数据库连接是否可用,默认false不开启
		jdbc_validate_connection => "true"
		# 数据库连接可用校验超时时间,默认3600s
		jdbc_validation_timeout => "3600"
		# 开启分页查询(默认false不开启)
        jdbc_paging_enabled => "true"
		# 单次分页查询条数(默认100000,若字段较多且更新频率较高 建议调低此值)
        jdbc_page_size => "500"
		# statement为查询数据sql,如果sql较复杂,建议通过statement_filepath配置sql文件的存放路径 我这边选择的是filepath
          statement_filepath => "D:\es\logstash-7.10.2\logstash-7.10.2\sql\all_data.sql"
		# sql_last_value为内置的变量,存放上次查询结果中最后一条数据tracking_column的值,此处即为rowid
		# statement => "SELECT * FROM nba_player where id > :sql_last_value"
		# 是否将字段名转换为小写,默认true(如果有数据序列化、反序列化需求,建议改为false);
		lowercase_column_names => false
		# 是否记录上次执行结果,true表示会将上次执行结果的tracking_column字段的值保存到last_run_metadata_path指定的文件
		record_last_run => true
		# 需要记录查询结果某字段的值时,此字段为true,否则默认tracking_column为timestamp的值
		use_column_value => true
		# 查询结果用于增量同步数据的字段数据类型,仅包括numeric和timestamp,默认为numeric,如果表内有时间的话 尽量用时间字段
		tracking_column_type => numeric
		# 需要记录的字段,用于增量同步,需是数据库字段
		tracking_column => "id"
		# 记录上次执行结果数据的存放位置
		last_run_metadata_path => "D:\es\logstash-7.10.2\logstash-7.10.2\logs\all_data.log"
		# 是否清除last_run_metadata_path的记录,需要增量同步时此字段必须为false
		clean_run => false
		# 同步频率(分 时 天 月 年),默认每分钟同步一次
        schedule => "* * * * *"
		# ES索引的type
        type => "nba"
    }
	
	# 如果同步多个表,可以在复制一个jdbc{}块,修改相应的地方即可
}

output{
   if [type] == "nba" {
		elasticsearch{
			hosts => "127.0.0.1:9200"
			index => "all_data"
			document_id => "%{id}"
		}
	}
}

4.如果发生编码问题 看错误 报那种编码错误 就修改文件成那种编码

5.下面是需要重点注意的值
在这里插入图片描述
6.jdbc每次只能指定一份sql文件 不可多个指定 所以如果是多个的话就直接复制一份 例如这样在这里插入图片描述
重新编写一份就可,注意type 新的日志地址新的sql地址

7.然后直接logstash –f [conf地址] 就可以 例如logstash -f D:\es\logstash-7.10.2\logstash-7.10.2\config\all_data_nba.conf

8.运行成功了之后是这个样子注意:运行中遇到编码问题 UTF-8 或者ASNI 等 将有编码问题的文件修改为相应的编码即可,还有logstash在7.0的版本就已经开始移除了type类型 一个索引一个类型默认_doc 如果要一个索引下面多个类型尽量用6.0版本一下的,如果是6.0版本请设置include_type_name=true ,8.0的版本已经完全移除了type 升级需谨慎

注意:运行中遇到编码问题 UTF-8 或者ASNI 等 将有编码问题的文件修改为相应的编码即可,还有logstash在7.0的版本就已经开始移除了type类型 一个索引一个类型默认_doc 如果要一个索引下面多个类型尽量用6.0版本一下的,如果是6.0版本请设置include_type_name=true ,8.0的版本已经完全移除了type 升级需谨慎

(四)在Kibana查看刚才的数据

1.进入网站127.0.0.1:5601

2.在菜单栏选项找到
在这里插入图片描述

点进去之后选择

在这里插入图片描述

这里可以看到你所有的索引数据

在这里插入图片描述

在这里插入图片描述

索引名称是你刚才在conf中指定的名称,看索引是否存在如果不存在请排查故障

3.之后点击
在这里插入图片描述

选择

在这里插入图片描述

页面上是我已经创建好的不用在意,点击之后

在这里插入图片描述

在index-name中输入你的索引名称进入下一步,如果搜不到索引,说明数据conf文件没有运行成功,进入之后

在这里插入图片描述

选择Time field ,按需选择,创建成功之后会有这个界面

在这里插入图片描述

代表创建成功,然后选择看板

在这里插入图片描述

进入之后选择自己的索引,不同版本的kibana界面不一样,但是选项都是通用的,上面会显示你索引中的数据

在这里插入图片描述
4.Kibana中的dev tool功能
下面介绍一些比较简单的命令,因为我本地的是最新的版本所以7.0默认_doc ,6.0一下的版本直接把_doc更换为自己在conf中指定的type便可

1.获取所有数据

GET /all_data/_doc/_search

在这里插入图片描述

2.轻量级搜索

GET /all_data/_doc/_search?q=teamName:"骑士"&&q=displayName:"马修 德拉维多瓦",将查询数值赋值给q= 多个查询条件直接加&&,q是query的简写

在这里插入图片描述

3.条件查询

GET /all_data/_doc/_search
{
  "query":{
    "match":{
      "displayName":"科迪 马丁"
    }
 }
}

在这里插入图片描述
4.更复杂的条件查询在这里插入图片描述

上图的意思是 查询条件为displayName&&playYear 这是must里面的条件
而should里面的条件则是||

(五)配置管道ingest-attachment 用于读取文件

1.切换到es bin 目录下面打开cmd 然后输入
elasticsearch-plugin install ingest-attachment

2.会自动安装 安装好重启es
在这里插入图片描述

3.在console上面创建相应的索引
PUT /_ingest/pipeline/attachment?pretty
{

“description”: “Extract attachment information”,
“processors”: [
{

“attachment”: {

“field”: “data”
}
}
]
}
这是官方创建管道的方法

4.载入数据和查看数据
在这里插入图片描述
在这里插入图片描述
关于管道的整体流程是将附件转成base64的编码,后使用管道 直接将附件的base64编码放入es 即可,由于我们使用的管道,所以 ingest-attachment 会自动从你添加的base64的编码中提取文本放入 attament.content 中。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/15717.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信