基于5台虚拟机,搭建ELK集群.
方案:
1. ELK是日志分析平台,而不是一款软件,是一整套解决方案,是三个软件产品的首字母缩写,ELK分别代表:
Elasticsearch:负责日志检索和储存
Logstash:负责日志的收集和分析、处理
Kibana:负责日志的可视化
2. ELK组件在海量日志系统的运维中,可用于解决分布式日志数据集中式查询和管理系统监控等,故障排查,安全信息和事件管理,报表功能
部署Elasticsearch分布式集群安装,Kibana作为可视化平台,实时总结流量和数据的图表,Logstash用来收集处理日志,如表-1所示
步骤:
1.创建虚拟机,更改主机名,配置IP,搭建第三方yum源(以主机es1为例)
[root@es1 ~]# echo es1 > /etc/hostname
[root@es1 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
# Generated by dracut initrd
DEVICE="eth0"
ONBOOT="yes"
IPV6INIT="no"
IPV4_FAILURE_FATAL="no"
NM_CONTROLLED="no"
TYPE="Ethernet"
BOOTPROTO="static" #定义为静态IP
IPADDR=192.168.1.51
NEMASK=255.255.255.0
GATEWAY=192.168.1.254
[root@se1 ~]# vim /etc/yum.repos.d/local.repo
[local_repo]
name=CentOS-$releasever - Base
baseurl="ftp://192.168.1.254/system"
enabled=1
gpgcheck=1
[elk]
name=elk
baseurl="ftp://192.168.1.254/elk" #事先要将安装ELK的rpm软件包拷贝到/var/ftp/elk目录下,并使用createrepo搭建服务端
enabled=1
gpgcheck=0
2. 定义本地解析
[root@se1 ~]# vim /etc/hosts
192.168.1.51 es1
192.168.1.52 es2
192.168.1.53 es3
192.168.1.54 es4
192.168.1.55 es5
3.部署elasticsearch节点(以主机es1为例)
[root@es1 ~]# yum -y install java-1.8.0-openjdk.x86_64
[root@es1 ~]# java -version
openjdk version "1.8.0_161"
OpenJDK Runtime Environment (build 1.8.0_161-b14)
OpenJDK 64-Bit Server VM (build 25.161-b14, mixed mode)
[root@es1 ~]# sestatus #查看selinux状态
SELinux status: disabled
[root@es1 ~]# yum -y install elasticsearch
[root@es1 ~]# vim /etc/elasticsearch/elasticsearch.yml
17 cluster.name: myelk #配置集群名字
23 node.name: es1 #当前主机名称
54 network.host: 0.0.0.0 # 0.0.0.0示意监听所有地址
68 discovery.zen.ping.unicast.hosts: ["es1", "es2", "es3"] #声明集群里的主机成员有谁,不需要全部写进去
[root@es1 ~]# systemctl restart elasticsearch
[root@es1 ~]# systemctl enable elasticsearch
[root@es1 ~]# netstat -antup | grep 9200
[root@es1 ~]# netstat -antup | grep 9300
4.访问9200端口查看是否安装成功
5. 主机集群安装完成后的,可以访问51-55的任意一台主机, 集群的节点都是5台,若先启动的是es4或es5,这两个会自动成为各自的集群,解决办法,先启动集群里的es1或es2或es3其中的一台,或者把es4和es5重启,es4和es5会自动加进去. ES 集群验证:返回字段解析:
”status”: ”green“ 集群状态:绿色为正常、黄色表示有问题但不是很严重、红色表示严重故障
”number_of_nodes”: 5, 表示集群中节点的数量
结束.