搭建EFK

目录

前言 

一、拓补图

二、部署

1、环境

2、配置tomcat服务器

2.1  安装 JDK ,配置 JAVA 环境

2.2  安装配置 Tomcat

2.3  Tomcat 配置

2.4  启动 Tomcat

2.5  优化 Tomcat 启动速度

3、配置 Elasticsearch 环境

4、安装elasticsearch集群

4.1  部署 Elasticsearch 软件

4.2  检查集群健康状态

4.3  安装 elasticsearch-head 插件 

5、部署filebeat

6、node1安装 Kibana


前言 

通过filebeat监控tomcat日志,提交给es,并由kibana可视化分析

一、拓补图

搭建EFK_第1张图片

二、部署

1、环境

tomcat	CentOS 7-1	192.168.3.11	filebeat
Node1	CentOS 7-2	192.168.3.12	Elasticsearch、Kibana
Node2	CentOS 7-3	192.168.3.13	Elasticsearch

2、配置tomcat服务器

2.1  安装 JDK ,配置 JAVA 环境

关闭防火墙

[root@tomcat ~]#systemctl stop firewalld.service 
[root@tomcat ~]#systemctl disable firewalld.service 
[root@tomcat ~]#setenforce 0
setenforce: SELinux is disabled

准备好安装包,上传到 /opt/ 目录

[root@tomcat ~]#cd /opt/
[root@tomcat /opt]#ls
apache-tomcat-9.0.16.tar.gz  jdk-8u201-linux-x64.rpm  rh

安装 JDK ,并设置 JDK 的环境变量

[root@tomcat /opt]#rpm -ivh jdk-8u201-linux-x64.rpm 

[root@tomcat /opt]#vim /etc/profile.d/java.sh				#/etc/profile.d/环境变量脚本目录	
export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar		#可执行文件的位置
export PATH=$JAVA_HOME/bin:$PATH

[root@tomcat /opt]#source /etc/profile.d/java.sh           #将脚本导入到环境变量中,使其生效
[root@tomcat /opt]#java -version						   #查看版本
java version "1.8.0_201"
Java(TM) SE Runtime Environment (build 1.8.0_201-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)

 CLASSPATH:编译、运行Java程序时(tomcat),JRE 会去该变量指定的路径中搜索所需的类( .class)文件。
dt.jar:是关于运行环境的类库,主要是swing 的包。
tools.jar:主要是一 些 jdk 工具的类库,包括 javac, java,javap, javadoc等。
JDK:java development kit ( java开发工具)
JRE:java runtime environment ( java运行时环境)
JVM:java virtuak machine (java虚拟机) ,使 java程序可以在多种平台上运行class文件。

测试 

[root@tomcat /opt]#vim a.java
public class a {
public static void main (String[] args) {
System.out.println("你好,南京!");
}
}

[root@tomcat /opt]#javac a.java                           #执行,编译成功后生成可执行文件 
[root@tomcat /opt]#java a                                 #输出成功
你好,南京!

2.2  安装配置 Tomcat

解压

[root@tomcat /opt]#tar zxvf apache-tomcat-9.0.16.tar.gz					  #解包
[root@tomcat /opt]#mv apache-tomcat-9.0.16 /usr/local/tomcat     		  #转移包位置并改名

2.3  Tomcat 配置

查看 /usr/local/ 目录(Tomcat 的主目录)

[root@tomcat /usr/local/tomcat]#ll /usr/local/tomcat
总用量 124
drwxr-x--- 2 root root  4096 10月 14 00:28 bin
-rw-r----- 1 root root 19203 2月   5 2019 BUILDING.txt
drwx------ 3 root root   254 10月 14 16:31 conf
-rw-r----- 1 root root  6095 2月   5 2019 CONTRIBUTING.md
drwxr-x--- 2 root root  4096 10月 14 00:28 lib
-rw-r----- 1 root root 57092 2月   5 2019 LICENSE
drwxr-x--- 2 root root   197 10月 14 00:30 logs
-rw-r----- 1 root root  2333 2月   5 2019 NOTICE
-rw-r----- 1 root root  3255 2月   5 2019 README.md
-rw-r----- 1 root root  6854 2月   5 2019 RELEASE-NOTES
-rw-r----- 1 root root 16262 2月   5 2019 RUNNING.txt
drwxr-x--- 2 root root    30 10月 14 00:28 temp
drwxr-x--- 7 root root    81 2月   5 2019 webapps
drwxr-x--- 3 root root    22 10月 14 00:30 work

2.4  启动 Tomcat

创建软连接

[root@tomcat]#ln -s /usr/local/tomcat/bin/startup.sh /usr/local/bin/		
[root@tomcat]#ln -s /usr/local/tomcat/bin/shutdown.sh /usr/local/bin/

开启服务

[root@tomcat]#startup.sh
[root@tomcat]#netstat -natp | grep  8080
tcp6       0      0 :::8080                 :::*                    LISTEN      4922/java   

打开浏览器访问 Tomcat 的主页 http://192.168.3.11:8080

2.5  优化 Tomcat 启动速度

vim /usr/java/jdk1.8.0_201-amd64/jre/lib/security/java.security
#117 进行修改
securerandom.source=file:/dev/urandom	
#/dev/random 和/dev/urandom 都是伪终端,但是/dev/urandom(随机值)提供的数据流更快
#因为默认系统会有很多外界因素的影响,造成随机性并不是很好,使用urandom优化可以提供更好的数据流

#重启tomcat
/usr/local/tomcat/bin/shutdown.sh			
/usr/local/tomcat/bin/startup. sh

3、配置 Elasticsearch 环境

#关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
setenforce 0

hostnamectl set-hostname node1		//c7-2修改主机名
hostnamectl set-hostname node2		//c7-3修改主机名

----------以下操作,node1、node2 相同------------------------------------------------------------------------------------
#修改dns
vim /etc/hosts
192.168.3.12 node1
192.168.3.13 node2

cd /opt
#将软件包传至该目录下

rpm -ivh jdk-8u201-linux-x64.rpm 

vim /etc/profile.d/java.sh				#/etc/profile.d/环境变量脚本目录	
export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar		#可执行文件的位置
export PATH=$JAVA_HOME/bin:$PATH

source /etc/profile.d/java.sh           #将脚本导入到环境变量中,使其生效

java -version						   #查看版本
java version "1.8.0_201"
Java(TM) SE Runtime Environment (build 1.8.0_201-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)

4、安装elasticsearch集群

4.1  部署 Elasticsearch 软件

----------以下操作,node1、node2 相同------------------------------------------------------------------------------------
1.安装 rpm 包
cd /opt
#将软件包传至该目录下
rpm -ivh elasticsearch-5.5.1.rpm 

2.加载系统服务
systemctl daemon-reload 	//加载系统服务
systemctl enable elasticsearch	//开启服务

3.更改 ES 主要配置文件
cp /etc/elasticsearch/elasticsearch.yml /etc/elasticsearch/elasticsearch.yml.bak
#备份

vim /etc/elasticsearch/elasticsearch.yml
//17行	cluster.name: my-elk-cluster							#集群名字
//23行	node.name: node1										#节点名字,node2节点就写node2
//33行	path.data: /data/elk_data								#数据存放路径
//37行	path.logs: /var/log/elasticsearch/						#日志存放路径
//43行	bootstrap.memory_lock: false							#不在启动的时候锁定内存(前端缓存,与IOPS-性能测试方式,每秒读写次数相关)
//55行	network.host: 0.0.0.0									#提供服务绑定的IP地址,0.0.0.0代表所有地址
//59行	http.port: 9200											#侦听端口为9200
//68行	discovery.zen.ping.unicast.hosts: ["node1", "node2"]	#集群发现通过单播实现


grep -v "^#" /etc/elasticsearch/elasticsearch.yml
#检查配置

4.创建数据存放路径并授权
mkdir -p /data/elk_data
chown elasticsearch:elasticsearch /data/elk_data/

5.查看启动 ES 是否成功开启
systemctl start elasticsearch.service
netstat -antp | grep 9200
#这里需要等一会儿才能出来,或者多restart重启几次服务即可

6.查看节点信息,用宿主机浏览器打开 
http://192.168.3.12:9200
http://192.168.3.13:9200

搭建EFK_第2张图片

搭建EFK_第3张图片

4.2  检查集群健康状态

检查群集健康情况

用宿主机浏览网页,打开 http://192.168.3.12:9200/_cluster/health?pretty

搭建EFK_第4张图片

检查群集状态信息

打开 http://192.168.3.12:9200/_cluster/state?pretty

搭建EFK_第5张图片

4.3  安装 elasticsearch-head 插件 

------node1、node2操作相同----------------------------------------
1.编译安装 node 组件依赖包
cd /opt
#将软件包传至本目录下
yum install -y gcc gcc-c++ make

tar zxvf node-v8.2.1.tar.gz
cd node-v8.2.1/
./configure 

make -j 4 && make install
#过程耗时较长!!建议同时编译安装node2

2.安装 phantomjs(前端框架)
cd /usr/local/src/
#将软件包传至本目录下
tar jxvf phantomjs-2.1.1-linux-x86_64.tar.bz2

cd phantomjs-2.1.1-linux-x86_64/bin
cp phantomjs /usr/local/bin

3.安装 elasticsearch-head(数据可视化工具)
cd /usr/local/src/
#将软件包传至本目录下
tar zxvf elasticsearch-head.tar.gz

cd elasticsearch-head/
npm install

4.修改主配置文件
cd ~
vim /etc/elasticsearch/elasticsearch.yml
#在尾部添加配置
http.cors.enabled: true
http.cors.allow-origin: "*"
#注释
1.开启跨域访问支持,默认为false
2.跨域访问允许的域名地址

systemctl restart elasticsearch

5.启动 elasticsearch-head
cd /usr/local/src/elasticsearch-head/
npm run start &
#切换到后台运行
#按回车切回命令符操作

netstat -lnupt |grep 9100
netstat -lnupt |grep 9200
1.在宿主机上打开浏览器,访问 http://192.168.3.12:9100/
2.然后在 Elasticsearch 后面的栏目中摄入 http://192.168.3.12:9200,点击连接,查看群集颜色是否是健康的绿色
3.访问 http://192.168.3.13:9100/,同上操作

搭建EFK_第6张图片

搭建EFK_第7张图片

登陆node1

搭建EFK_第8张图片

1.打开浏览器输入http://192.168.3.12:9100/ 查看索引信息
2.可以看见索引默认被分片5个,并且有一个副本
3.点击数据浏览,会发现在node1上创建的索引为index-demo,类型为test这些相关的信息

搭建EFK_第9张图片

搭建EFK_第10张图片

5、部署filebeat

在tomcat服务器上进行部署

cd /opt
#把安装包拖进来
rpm -ivh filebeat-5.5.1-x86_64.rpm //安装

1.编辑配置文件
vim /etc/filebeat/filebeat.yml	
12 filebeat.prospectors:
18 - input_type: log
21   paths:
22     - /usr/local/tomcat/logs/*.log
81 output.elasticsearch:
83 hosts: ["192.168.3.12:9200"]

2.手动载入ES索引模板
curl -XPUT 'http://192.168.3.12:9200/_template/filebeat?pretty' -d@/etc/filebeat/filebeat.template.json
#成功会返回true

3.启动filebeat
/etc/init.d/filebeat start

4.宿主机浏览 http://192.168.3.12:9100/ 查看索引信息

搭建EFK_第11张图片

6、node1安装 Kibana

cd /usr/local/src/
#将软件包传至本目录下
rpm -ivh kibana-5.5.1-x86_64.rpm

cd /etc/kibana/
cp kibana.yml kibana.yml.bak

vim kibana.yml
//2行	server.port: 5601                					#kibana打开的端口
//7行	server.host: "0.0.0.0"           					#kibana侦听的地址
//21行	elasticsearch.url: "http://192.168.3.12:9200"		#和elasticsearch建立联系
//30行	kibana.index: ".kibana"								#在elasticsearch中添加.kibana索引


systemctl start kibana.service
systemctl enable kibana.service

宿主机浏览 192.168.3.12:5601

1.首次登录创建一个索引 名字:filebeat-*  ##这是对接系统日志文件
Index name or pattern   
#下面输入filebeat-*

2.然后点最下面的出面的create 按钮创建

3.然后点最左上角的Discover按钮,会发现filebeat-*信息



搭建EFK_第12张图片

搭建EFK_第13张图片

你可能感兴趣的:(elasticsearch,java,大数据)