开源日志分析工具elk安装部署
在公司中,日志分析也是正常维护中较为关键的一环,elk平台集成了日志收集,分类,查找,界面,以及绘制各种图表等功能,非常的方便
elk 分为
- Elasticsearch 是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制, restful 风格接口,多数据源,自动搜索负载等。
- Logstash 是一个完全开源的工具,他可以对你的日志进行收集、分析,并将其存储供以后使用(如,搜索)。
- kibana 也是一个开源和免费的工具,他 Kibana 可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志。
首先进行logstash环境的安装
######这次使用的是官网最新版本2.3.4 安装logstash之前需要确认自己是否安装了java
环境,并且需要java 7 以上
使用Ubuntu
的童鞋可以参考我的这篇帖子来进行安装 Ubuntu通过apt-get安装java环境
######官网给出了非常详细的安装教程这里不在赘述 yum,apt,wget安装Logstash
如图所示,logstash分为了输入,过滤,和输出,这让我们数据的收集,汇聚起到了非常方便的作用
首先我们可以尝试启动Logstash来进行测试是否安装成功
bin/logstash -e 'input { stdin { } } output { stdout {} }'
logstash直接讲数据输出到了控制台,如果我们在控制台看到了输出则logstash安装成功。
接下来就是logstash以配置文件来启动 此处应该主从多个服务器,从服务器负责监听所需日志的变化,并且发送到主服务器中,主服务器对从服务器发送来的数据进行汇总处理.
那么问题来了,从服务器如何把数据发送到主服务器呢?
此处我们用将数据用Redis同步到主服务器上。具体请看配置
从服务器
首先我们新建一个文件夹,(位置自定) sudo touch shipper.conf && sudo chmod 777 shipper.conf
接下来进入shipper.conf
,填写详细配置
input {
file {
path => [
# 这里填写需要监控的文件
"/var/log/logstash/first.log",
"/var/log/logstash/second.log"
]
}
}
output {
# 输出到控制台
# stdout { }
# 输出到redis
redis {
host => "101.200.221.135" # redis主机地址
port => 6379 # redis端口号
db => 8 # redis数据库编号
data_type => "channel" # 使用发布/订阅模式
key => "logstash_list_0" # 发布通道名称
}
}
主服务器
同样的创建一个配置文件sudo touch indexer.conf
input {
redis {
host => "101.200.221.135" # redis主机地址
port => 6379 # redis端口号
db => 8 # redis数据库编号
data_type => "channel" # 使用发布/订阅模式
key => "logstash_list_0" # 发布通道名称
}
}
output {
file{
path => "/var/log/logstash/all.log"
}
#此处是返送到elasticsearch
elasticsearch{
hosts =>"127.0.0.1"
}
}
具体Logstash就配置完成了
解析来启动Logstash
bin/logstash -f shipper.conf
bin/logstash -f indexer.conf
向从服务器监听的文件中插入一条数据 echo "123" >>/var/log/logstash/first.log
切换到主服务器看到/var/log/logstash/all.log
下同步了我们在从服务器创建的数据
Elasticsearch的配置安装
此处用的是官网最新版本2.3
同样,Elasticsearch文档非常详细,不在赘述
安装完成后 `./elasticsearch` 启动即可 ,或者作为守护进程来启动 `./elasticsearch -d`
在indexer.conf
介绍过,将数据发送到`Elasticsearch`处理 注意`Elasticsearch`监听端口9200,确保可以访问
Kibana的配置安装
######Kibana选用4.5
切换到kibnana文件夹,执行./kibnana
即可
kibnana默认使用的是5601端口
到此我们安装就彻底结束了,具体使用请参照官网
thanks