无论是甲方还是一方都需要面对大量日志处理的情况,之前分析的时候用基本的shell命令进行处理,但是面对大量数据的时候则有些力不从心,而且面对纯文字也不大直观。后来有人推荐了ELK,最近ELK升级到了版本五。E, L, K三大组件统一了版本号,花了一段时间总算搭好了。
基本环境信息:Linux操作系统:CentOS 6.9 x64
Java版本号:1.8.0_131
ELK: 5.5
0×01 安装javaELK需要最新的java1.8.CentOS自带了openjdk1.7,删了重新安装Oracle Java
yum remove java mkdir /usr/java tar -zxvf jdk-8u131-linux-x64.tar.gz -C /usr/java/编辑/etc/profile
JAVA_HOME=/usr/java/jdk1.8.0_131 JRE_HOME=/usr/java/jdk1.8.0_131/jre PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin CLASSPATH=:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib export PATH=$PATH:$JAVA_HOME:$JRE_HOME:$CLASSPATH创建java的软连接
cd /usr/bin ln -s /usr/java/jdk1.8.0_131/bin/java java如图,安装成功
2. 安装elasticsearchElasticsearch 教程系列文章:
使用Elasticsearch + Logstash + Kibana搭建日志集中分析平台实践
Ubuntu 14.04搭建ELK日志分析系统(Elasticsearch+Logstash+Kibana)
Ubuntu 14.04中Elasticsearch集群配置
Elasticsearch-5.0.0移植到Ubuntu 16.04
在Ubuntu 16.04 中安装 Elasticsearch 5.4分析引擎
去elk官网下载elasticsearch的rpm包,
直接安装
rpm -ivh elasticsearch-5.5.0.rpm启动测试
/etc/init.d/elasticsearch start如图,安装成功
清空elasticsearch的数据
curl -XDELETE 'http://127.0.0.1:9200/logstash-*'配置一下权限
cd /var/lib
chmod -R 777 logstash
3. 安装kibana还是从官网下载kibana的二进制包
rpm -ivh kibana-5.5.0-x86_64.rpm启动
/etc/init.d/kibana start如图所示,kibaba也安装成功了,现在kibana只能从本地访问,为了方便调试,利用nginx做一下反向代理
yum install nginx #/etc/nginx/conf.d/default.conf server { listen 80; location / { proxy_pass [:5601](:5601); } } 4. 安装logstash安装logstash和之前的步骤一样,但是logstash是没有独立的守护服务的
安装后的路径
/usr/share/logstash/创建config的软连接
cd /usr/share/logstash ln -s /etc/logstash ./configLogstash配置文件是JSON格式,放在/etc/logstash/conf.d 。 该配置由三个部分组成:输入,过滤器和输出。
input 数据输入端,可以接收来自任何地方的源数据。
file:从文件中读取
syslog:监听在514端口的系统日志信息,并解析成RFC3164格式。
redis:从redis-server list 中获取
beat:接收来自Filebeat的事件
Filter 数据中转层,主要进行格式处理,数据类型转换、数据过滤、字段添加,修改等,常用的过滤器如下。