Linux企业运维——ELK日志分析平台(上)安装与配置、ES图形化管理插件

Linux企业运维——ELK日志分析平台(上)安装与配置、ES图形化管理插件

一、ELK简介

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

为了解决Lucene使用时的繁复性,于是Elasticsearch便应运而生。它使用 Java 编写,内部采用 Lucene 做索引与搜索,但是它的目标是使全文检索变得更简单,简单来说,就是对Lucene 做了一层封装,它提供了一套简单一致的 RESTful API 来帮助我们实现存储和检索。

在这里插入图片描述

Elasticsearch 不仅仅是 Lucene,并且也不仅仅只是一个全文搜索引擎:

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

ELK基础模块:

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

ELK应用场景:

  • 信息检索
  • 日志分析
  • 业务数据分析
  • 数据库加速
  • 运维指标监控

二、ELK的安装与配置

关掉server2、server3
在server4上关闭并禁用httpd服务,卸载之前安装的jdk,因为我们要安装的ELK7.6.1是自带jdk的在这里插入图片描述
server5关闭并禁用httpd服务
在这里插入图片描述
server4中docker没有存在的镜像和容器
在这里插入图片描述
真实主机开启虚拟机server6
在这里插入图片描述
可以看到现在运行了3台虚拟机,确保3台虚拟机内存至少1G,我们这里给2G,否则用swap分区速度慢
在这里插入图片描述
在真实主机上分别为现在的三台虚拟机配置地址解析
在这里插入图片描述
真实主机将ELK安装包发送给server4
在这里插入图片描述
server4收到ELK包后进行安装
在这里插入图片描述
安装完成后开启elasticsearch服务,看到9200端口开启
在这里插入图片描述
server4进入/etc/elasticsearch目录下,编辑elasticsearch.yaml文件,配置集群名称和节点名称
在这里插入图片描述
设置任何主机都可访问,服务端口9200,集群中符合主机要求的节点为server4、5、6,主节点为server4
在这里插入图片描述
此处没有设定锁死,即没有配置 bootstrap.memory_lock: true参数,否则需要修改系统配置
修改方法:
修改系统限制

 vim /etc/security/limits.conf
elasticsearch soft memlock unlimited
elasticsearch hard memlock unlimited
elasticsearch      -   nofile   65536
elasticsearch     -  nproc   4096
 vim 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

编辑完elasticsearch.yaml配置文件后,重启elasticsearch服务
在这里插入图片描述
真实主机测试访问server4的9200端口,访问成功
在这里插入图片描述
禁用swap分区可以使使用效果更流畅,如果内存不够的话不禁止也可以
在这里插入图片描述
在这里插入图片描述
查看/var/log/elasticsearch/my-es.log日志文件
在这里插入图片描述

三、ELK集群搭建

server4将ELK的安装包发送给server5和server6
在这里插入图片描述
server5和server6安装ELK在这里插入图片描述
在这里插入图片描述
server4将本地配置好的elasticsearch.yml发送给server5和server6
在这里插入图片描述
server5将收到的配置文件的基本信息进行更改,将节点名称改为server5
在这里插入图片描述
在这里插入图片描述
server6也需要做相同的修改
在这里插入图片描述
在这里插入图片描述
server4、5、6重启elasticsearch服务
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
真实主机测试访问server5的9200端口,访问成功
在这里插入图片描述
再测试访问server5的9200端口,访问成功
在这里插入图片描述

四、elasticsearch可视化

4.1、cerebro插件

真实主机安装podman(等同于docker)
在这里插入图片描述
真实主机加载并拉起cerebro镜像,映射服务到9000端口
在这里插入图片描述
网页访问本地9000端口,在页面输入需要监听的地址和端口,这里填入server4的
在这里插入图片描述
进入cerebro界面,点击nodes可以看到ES集群中3个节点的情况
在这里插入图片描述

4.2、elasticsearch-head插件

真实主机将master.zip和nodejs包发送给server4
在这里插入图片描述
server4安装nodejs和unzip(用来解压master.zip)
在这里插入图片描述
使用unzip解压master.zip
在这里插入图片描述
server4切换到elasticsearch-head-master目录下,确保可以访问外网,由于npm速度慢,所以更换为cnpm源。
在这里插入图片描述
查看cnpm版本
在这里插入图片描述
安装bzip2(用于安装cnpm)
在这里插入图片描述
cnpm install进行安装
在这里插入图片描述
进入到_site文件夹内,查看app.js
在这里插入图片描述
在代码中可以看到监控地址是本机的9200端口
在这里插入图片描述
使用cnpm run start &运行head插件,运行在本地9100端口,再进入到/etc/elasticsearch/目录下编辑elasticsearch.yml文件
在这里插入图片描述
设置允许跨域访问
在这里插入图片描述
重启elasticsearch服务
在这里插入图片描述
网页访问server4的9100端口进入监控页面,输入server4的9200端口查看elasticsearch集群状态,前面有五角星代表是master节点
在这里插入图片描述


版权声明:本文为weixin_44310047原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。