目录
前言
一、拓补图
二、部署
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可视化分析
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
关闭防火墙
[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 #输出成功
你好,南京!
解压
[root@tomcat /opt]#tar zxvf apache-tomcat-9.0.16.tar.gz #解包
[root@tomcat /opt]#mv apache-tomcat-9.0.16 /usr/local/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
创建软连接
[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
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
#关闭防火墙
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)
----------以下操作,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
检查群集健康情况
用宿主机浏览网页,打开 http://192.168.3.12:9200/_cluster/health?pretty
检查群集状态信息
打开 http://192.168.3.12:9200/_cluster/state?pretty
------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/,同上操作
登陆node1
1.打开浏览器输入http://192.168.3.12:9100/ 查看索引信息
2.可以看见索引默认被分片5个,并且有一个副本
3.点击数据浏览,会发现在node1上创建的索引为index-demo,类型为test这些相关的信息
在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/ 查看索引信息
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-*信息