概述
为了提供分布式的实时日志搜集和分析的监控系统,我们生产环境采用了业界通用的日志数据管理解决方案 - 它主要包括 Elasticsearch 、 Logstash 和 Kibana 三个系统。通常,业界把这套方案简称为ELK,取三个系统的首字母,但是我们实践之后将其进一步优化为EFK,F代表Filebeat,用以解决Logstash导致的问题。
Filebeat 是基于原先 logstash-forwarder 的源码改造出来的,无需依赖 Java 环境就能运行,安装包10M不到。
如果日志的量很大,Logstash 会遇到资源占用高的问题,为解决这个问题,我们引入了Filebeat。Filebeat 是基于 logstash-forwarder 的源码改造而成,用 Golang 编写,无需依赖 Java 环境,效率高,占用内存和 CPU 比较少,非常适合作为 Agent 跑在服务器上。
架构大概如下:
前面已经对这部分概念做了很多介绍了,所以后面主要介绍下整体环境的搭建过程,下面先介绍环境准备部分。
1、下载必备软件包
1.1 注意事项1:
各个软件版本号需要一致,elasticsearch、kibana、logstash、filebeat必须下载同一个版本才能够无缝连接。
1.2 注意事项2:
通过ps -ef | grep kibana是找不到kibana进程的,而是用ps - ef | grep node
1.3 注意事项3:
下载软件需注意系统是多少位的(本次安装镜像为64位操作系统):getconf LONG_BIT
[root@localhost local]# getconf LONG_BIT64
1.4 所有软件包下载地址
(这里直接提供下载地址,大家根据需要去下载就行):
elasticsearch: https://www.elastic.co/downloads/elasticsearchkibana: https://www.elastic.co/downloads/kibanalogstash: https://www.elastic.co/downloads/logstashtomocat: https://tomcat.apache.org/download-80.cgi#8.5.38JDK: https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.htmlredis:http: //redis.io/download
2、安装配置jdk1.8
2.1、解压安装包
# tar -zxvf jdk-8u202-linux-x64.tar.gz -C /usr/local# mv /usr/local/jdk1.8.0_202 /usr/local/jdk
2.2、配置环境变量
#vim /etc/profile#在最后一行添加如下内容(根据具体地址而定):export JAVA_HOME=/usr/local/jdkexport CLASSPATH=$JAVA_HOME/lib/export PATH=$PATH:$JAVA_HOME/binexport PATH JAVA_HOME CLASSPATH
2.3、生效环境变量
source /etc/profile
2.4、测试
java -version
3、安装配置Tomcat
3.1、解压tomcat
# tar -zxvf apache-tomcat-8.5.39.tar.gz
3.2、启动tomcat
[root@localhost bin]# sh startup.sh
3.3、验证Tomcat安装、部署是否成功
访问地址:http://服务器IP:8080
浏览器显示环境准备部分搭建成功了!!
这里主要是下载对对应的安装包,然后配置下jdk跟tomcat方面,有个注意的地方是java -version看到版本信息不一定就是jdk配置成功,最好用javac -version来做验证。后面再介绍下elasticseach搭建过程,感兴趣的朋友可以关注下!