ELK日志分析平台(一)——ELK平台的部署

ELK是什么

ELK Stack 是Elasticsearch、Logstash、Kiban三个开源软件的组合。
在实时数据检索和分析场合,三者通常是配合共用。

ELK Stack成为机器数据分析,实时日志处理领域,开源界的第一选择。和传统的日志处理方案相比,ELK Stack 具有如下几个优点:

• 处理方式灵活。Elasticsearch 是实时全文索引,不需要像 storm 那样预先编程才能使用;
• 配置简易上手。Elasticsearch 全部采用 JSON 接口,Logstash 是 Ruby DSL 设计,都是目前业界最通用的配置语法设计;
• 检索性能高效。虽然每次查询都是实时计算,但是优秀的设计和实现基本可以达到全天数据查询的秒级响应;
• 集群线性扩展。不管是 Elasticsearch 集群还是 Logstash 集群都是可以线性扩展的;
• 前端操作炫丽。Kibana 界面上,只需要点击鼠标,就可以完成搜索、聚合功能,生成炫丽的仪表板。

Elasticsearch简介

Elasticsearch是一个开源的分布式搜索分析引擎,建立在一个全文搜索引擎库 Apache Lucene基础之上。

一个分布式的实时文档存储,每个字段 可以被索引与搜索
一个分布式实时分析搜索引擎,能胜任上百个服务节点的扩展,并支持 PB 级别的结构化或者非结构化数据 

它是实时全文搜索和分析引擎,提供搜集、分析、存储数据三大功能;
是一套开放REST和JAVA API等结构提供高效搜索功能,可扩展的分布式系统。

基础模块

cluster:管理集群状态,维护集群层面的配置信息。
alloction:封装了分片分配相关的功能和策略。
discovery:发现集群中的节点,以及选举主节点。
gateway:对收到master广播下来的集群状态数据的持久化存储。
indices:管理全局级的索引设置。
http:允许通过JSON over HTTP的方式访问ES的API。
transport:用于集群内节点之间的内部通信。
engine:封装了对Lucene的操作及translog的调用。

应用场景

信息检索

日志分析

业务数据分析

数据库加速

运维指标监控

Elasticsearch的部署

实验环境:

192.168.122.101
192.168.122.102
192.168.122.103

关闭主机的fireewalld,selinux.,每个主机相互做解析

安装软件

# rpm -ivh jdk-8u171-linux-x64.rpm
# rpm -ivh elasticsearch-7.6.1.rpm	//7.6版本自带jdk
设置服务自启:
# systemctl daemon-reload
# systemctl enable elasticsearch

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
修改配置文件:

# vim /etc/elasticsearch/elasticsearch.yml
cluster.name: my-es			#集群名称
node.name: server1		#主机名需要解析
path.data: /var/lib/elasticsearch	#数据目录
path.logs: /var/log/elasticsearch	#日志目录
bootstrap.memory_lock: true	#锁定内存分配
network.host: 192.168.122.101		#主机ip
http.port: 9200			#http服务端口
cluster.initial_master_nodes: ["server1"]

在这里插入图片描述
在这里插入图片描述

此时ser8和ser9还没有进行配置,所以这里的初始化master,只能是ser7

修改系统限制

# vim /etc/security/limits.conf
elasticsearch soft memlock unlimited
elasticsearch hard memlock unlimited
elasticsearch 	   - 	nofile 	65536
elasticsearch	   -	nproc 	4096
# vim  /etc/elasticsearch/jvm.options 
-Xms1g
-Xmx1g
Xmx设置不超过物理RAM的50%,以确保有足够的物理RAM留给内
核文件系统缓存。但不要超过32G。

在这里插入图片描述

在这里插入图片描述

修改systemd启动文件

# vim /usr/lib/systemd/system/elasticsearch.service
[Service]		#在service语句块下添加
LimitMEMLOCK=infinity
# systemctl daemon-reload
# systemctl start elasticsearch

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
关闭swap分区

在这里插入图片描述

在这里插入图片描述
swappiness越小,操作系统占用swap的几率越小

查看服务开启的9200端口

在这里插入图片描述
浏览器访问

在这里插入图片描述
至此,server7的es安装完成。

head插件的安装过程

ElasticSearch-head是一款能连接ElasticSearch搜索引擎,并提供可视化的操作页面对ElasticSearch搜索引擎进行各种设置和数据检索功能的管理插件,如在head插件页面编写RESTful接口风格的请求,就可以对ElasticSearch中的数据进行增删改查、创建或者删除索引等操作。
类似于使用navicat工具连接MySQL这种关系型数据库,对数据库做操作。

head插件本质上是一个nodejs的工程,因此需要安装node:
# wget https://mirrors.tuna.tsinghua.edu.cn/nodesource/rpm_9.x/el/7/x86_64/nodejs-9.11.2-1nodesource.x86_64.rpm
# rpm -ivh nodejs-9.11.2-1nodesource.x86_64.rpm
# node -v    查看node的版本

在这里插入图片描述
在这里插入图片描述

# wget https://github.com/mobz/elasticsearch-head/archive/master.zip
# unzip master.zip

在这里插入图片描述
在这里插入图片描述
更换npm源安装(package.json文件中的依赖等)

 cd elasticsearch-head-master/
# npm install  --registry=https://registry.npm.taobao.org

修改ES主机ip和端口
# vim _site/app.js
"http://172.25.2.7:9200"
启动head插件
# npm run start & 

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
此时可以访问到,但是集群状态值是非健康的
在这里插入图片描述
修改ES跨域主持

# vim /etc/elasticsearch/elasticsearch.yml
http.cors.enabled: true	# 是否支持跨域
http.cors.allow-origin: "*"	# *表示支持所有域名
重启ES服务
# systemctl restart elasticsearch.service 

在这里插入图片描述
在这里插入图片描述
测试创建索引
在这里插入图片描述
提交请求后

在这里插入图片描述
刷新查看es状态
在这里插入图片描述
黄色表示主分片存在,可以访问,但是辅分片不存在,没有可用副本

为集群添加ser2和ser3节点

添加的方法和ser1安装es的步骤基本一致,都需要安装软件包然后进行修改配置文件,限制文件,关闭swap分区等

注意添加master
在这里插入图片描述在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值