一、efk、elk 的介绍
1、efk、elkk
elk: ElasticSearch, Logstash,kibana,Beats
efk: ElasticSearch,Beats,kibana
1、ElasticSearch 搜索引擎,存储数据
ElasticSearch 是一个基于Lucene 的搜索引擎,提供索引,搜索功能,它提供了一个分布式多用户能力的全文搜素引擎,基于 RESTFUL web 接口。ElasticSearch 是用 Java 开发的,并作为Apache 许可条款下的开发源码发布,是当前流行的企业级搜素引擎。设计于云计算中,能够达到实时搜素,稳定,可靠,快速。安装使用方便。
.2、Logstash 接收,处理,转发日志的工具
Logstash 是一个开源的服务器端数据处理流水线,它可以同时从多个数据源获取数据,并将其转换为最喜欢的“存储”(Ours is Elasticsearch , naturally)
3、Beatd: 采集日志信息(加上beats 就是 efs), GO 开发的,所以高效率、很快
Filebeat : Log Files
Metricbeat : Metrics
Packetbeat : Network Data
Winlogbeat : WindoWs Event Logs
Heartbeat : Uptime Monitoring
4、Kibana : 独立的、美观的图形数据展现界面
Kibana 让你可视化你的 Elasticsarch 数据并导航 Elastic Stack, 所以你可以做任何事情,从凌晨2:00分析为什么你得到分页,了解雨水可能对你的季度数字造成的影响。
常见的消息队列
二、 实验前准备
1、环境准备
2、修改主机名、hosts文件,确保节点直接能通过主机名连通
hostnamectl set-hostname els.dgf.com #修改主机名
hostnamectl set-hostname logstash.dgf.com #修改主机名
hostnamectl set-hostname filebeat.dgf.com #修改主机名
hostnamectl set-hostname kibana.dgf.com #修改主机名
bash #重新加载修改主机名
3、查看服务器的当前时间
date #显示系统当前时间
4、安装时间服务器
yum -y install ntpdate #安装时间服务器
ntpdate ntp1.aliyun.com #同步时间
hwclock -w #写入bios
5、修改hosts
cat <<EOF>> /etc/hosts
192.168.100.203 els.dgf.com
192.168.100.204 logstash.dgf.com
192.168.100.205 filebeat.dgf.com
192.168.100.206 kibana.dgf.com
EOF
6、安装java 环境
安装JDK,至少1.8 以上的版本。因为是java语言编写的。需要装JDK
yum install java-1.8.0-openjdk-devel -y
7.安装elasticsearch
rpm -ivh elasticsearch-7.7.0-x86_64.rpm
8、JVM的配置
vim /etc/elasticsearch/jvm.options #分配空间的大小
-xmslg #初始化大小
-xmxlg #最大大小
9、配置els
vim /etc/elasticsearch/elasticsearch.yml #配置els
cluster.name: dgf #集群节点
node.name: els #节点名
path.data: /els/data #索引路径
path.logs: /ele/logs #日志存储路径
network.host: 192.168.100.203 #对外通讯的地址,以此修改为自己机器对外的ip
启动报错,解决方式如下
cluster.initial_master_nodes: ["els"]
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
10、创建出所需的路径,并修改权限
mkdir -pv /els/{data,logs} && chown -R elasticsearch.elasticsearch /els/*
11、开启服务
systemctl start elasticsearch.service
12、查看9200端口是否开启
netstat -anptu |grep 9200
13、查看集群信息
curl 192.168.100.203:9200
三 、搭建elasticsearch 群集 (自己选择)配置els
vim /etc/elasticsearch/elasticsearch.yml
各节点修改node.name 以及 network.host
15、创建三台服务器出所需的路径,并修改权限
mkdir -pv /els/{data,logs} && chown -R elasticsearch.elasticsearch /els/*
# 在多台服务创建相应的目录和修改权限
systemctl start elasticsearch.service
#在多台服务重启服务
四、安装elasticsearsh 的 head 插件 (Web 前端)
1、下载git 环境
cd /usr/local/
yum -y install git
2、git 克隆
git clone git://github.com/mobz/elasticsearch-head.git
3、克隆失败后上传包
4.网络下载npm命令需要联网下载配置
网络yum源的配置
CentOS 7
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
或者curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all 指令清除索引缓存和下载包的缓存
运行 yum makecache 生成缓存
epel(CentOS 7)
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum -y install npm #网络安装npm
使用本地yum安装npm命令
vi /etc/yum.repos.d/yushuai.repo
[yushuai]
name=xiaoqiao
baseurl=file:///root/npm/npm
enabled=1
gpgcheck=0
yum -y install npm #安装npm
5、
cd /usr/local/elasticsearch-head #该目录下
yum install #安装npm的各种模块
6、再次修改配置文件,在最后加一个配置段
vi /etc/elasticsearch/elasticsearch.yml
http.cors.enabled: true #是否允许head 访问elasticsarch, 默认为false
http.cors.allow-origin: "*" #授所有权限
7、重启elasticsearch 服务 ,打开9100 端口
systemctl restart elasticsearch
8、启动head
cd /usr/local/elasticsearch-head/
npm run start #前端运行
nohup npm run start & #后台运行
jobs #查看后台运行的任务
五、测试elasticsearch-head
网页访问http://192.168.100.203:9100