环境准备:三台机器centos6.5以上 4C8G/100G以上
简单介绍:
日志主要包括系统日志、应用程序日志和安全日志。系统运维和开发人员可以通过日志了解服务器软硬件信息、检查配置过程中的错误及错误发生的原因。经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误。
通常,日志被分散的储存不同的设备上。如果你管理数十上百台服务器,你还在使用依次登录每台机器的传统方法查阅日志。这样是不是感觉很繁琐和效率低下。当务之急我们使用集中化的日志管理,例如:开源的syslog,将所有服务器上的日志收集汇总。
集中化管理日志后,日志的统计和检索又成为一件比较麻烦的事情,一般我们使用grep、awk和wc等Linux命令能实现检索和统计,但是对于要求更高的查询、排序和统计等要求和庞大的机器数量依然使用这样的方法难免有点力不从心。
Filebeat+ELK是四个开源工具组成,简单解释如下:
Filebeat:ELK 协议栈的新成员,一个轻量级开源日志文件数据搜集器,基于 Logstash-Forwarder 源代码开发,是对它的替代。在需要采集日志数据的 server 上安装 Filebeat,并指定日志目录或日志文件后,Filebeat就能读取数据,迅速发送到 Logstash 进行解析,亦或直接发送到 Elasticsearch 进行集中式存储和分析。
Elasticsearch:是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。
Logstash:是一个完全开源的工具,它可以对你的日志进行收集、过滤,并将其存储供以后使用(如,搜索)。
Kibana:也是一个开源和免费的工具,它可以为 Logstash 和 ElasticSearch 提供的日志分析友好的Web 界面,可以帮助您汇总、分析和搜索重要数据日志。
这里之所以用Filebeat+ELK是因为Filebeat相对于logstash而言,更轻量级,占用系统资源少。
10.0.254.A 装es
10.0.254.B 装logstash kibana
10.0.254.C 装filebeat
安装步骤:
1、配置Java环境:(安装elasticsearch的时候需要有Java环境,jdk可以去oracle官方网站下载,版本号可以和我的不一样)
自己百度网盘里的包
elasticsearch-6.2.3.tar.gz
filebeat-6.2.3-linux-x86_64.tar.gz
kibana-6.2.3-linux-x86_64.tar.gz
logstash-6.2.3.tar.gz
jdk1.8.0_111
A机器:
tar -zxvf elasticsearch-6.2.3.tar.gz
进入confing目录,备份配置文件
cp elasticsearch.yml elasticsearch.yml.bak
修改配置文件如下
期间需要修改vim /etc/security/limits.d/90-nproc.conf 调高数值比如4096 等
启动服务需要用普通用户
nohup ./elasticsearch & 启动
B机器安装logstash+kibana
解压 logstash.tar.gz的包
然后新建一个logstash启动指定logstash.conf的配置文件。原配置文件进行备份
input {
beats {
port => "5044"
}
}
output {
stdout {
codec => rubydebug
}
elasticsearch {
hosts => [ "10.0.254.93:9200" ]
index => "%{[fields][service_name]}-%{+YYYY.MM.dd}"
}
}
这里我们只配置了input和output部分,其实Logstash默认有input、filter、output三个区域,但一般至少配置input和output部分就够了,并且logstash的默认配置文件logstash.yml我们选择不修改就行。
下面我们启动logstash,然后进行先进行简单的测试:
#cd /usr/local/src/logstash-6.2.4 #./bin/logstash -e 'input { stdin { } } output { stdout { } }' --先进行不指定配置文件测试
当我们输入hello world的时候,对应的下面也会输出
logstash可以启动整个目录在配置文件中 logstash.yml添加如下
在这期间如果logstash启动有报错,请具体查看,是否缺少logstash的包如图
4、安装filebeat
#wget -P /usr/local/src https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.2.4-linux-x86_64.tar.gz #cd /usr/local/src #tar xvf filebeat-6.2.4-linux-x86_64.tar.gz #cp /usr/local/src/filebeat-6.2.4/filebeat.yml /usr/local/src/filebeat-6.2.4/filebeat.yml.default
编辑filebeat.yml文件,内容如下:
启动filebeat服务:
#cd /usr/local/src/filebeat-6.2.4 #./filebeat & --在后台运行
注意:filebeat没有监听端口,主要看日志和进程,filebeat监听的文件记录信息在/usr/local/src/filebeat-6.2.4/data/registry里面
添加多台机器的filebeat时应该在配置文件添加标签
同时需要修改logstash的conf文件
应对filebeat收集同一个服务器的多目录日志设置。需要在filebeat配置文件写入tags,配置完成 nohup ./filebeat & 启动
然后配置logstash
启动logstash
nohup ./logstash -f /home/ELK2/logstash-6.2.3/conf & (启动为目录形式,需要在logstash里面配置 path.config)