CentOS7部署ELK
时间:2017-03-06 19:35 来源:linux.it.net.cn 作者:IT
本文跳过了CentOS的安装过程,如有不懂的请自己百度下
最近因为业务需要监控nginx和apache的日志,所以粗略研究了下ELK。这三个字母分别代表了Elasticsearch, Logstash, Kibana。他们组成了一个基础的日志统计系统,L负责日志信息获取,E负责创建日志缓存,K负责最终的视图呈现。
安装
推荐使用tar包,rpm看似方便,但在实际的使用中会有些麻烦,后面会再进行说明。
环境准备
Java环境,我使用的是1.8(java安装方式,应该不用再说了吧)
过程
由于都是使用的tar包,所以直接解压出来就好
tar -zxvf xxxxxxx.tar.gz
说明
这里说明一下为什么要选择用tar包而不是rpm,目的是方便目录管理。tar包解压后所有的文件都在一起,而如果使用的是rpm包,安装完成后你会发现目录非常散乱,这里拿Logstash举个例子来看看安装完成后都有哪些目录就明白了。(当然看各自喜好,也会有人觉得能接受rpm安装后的路径,so自己选择吧)
tar解压后
rpm安装后
配置
Logstash
配置文件在解压路径下的config文件夹中,包含了四个文件
-
jvm.options
-
log4j2.properties
-
logstash.yml (logstash的主配置包括服务地址、进程数等)
-
startup.options
在config文件夹中创建一个test.config文件规定logstash数据从哪里来,怎么过滤,怎么输出,所以这个文件包含了三个部分 input,filter,output
input {
# 从console输入
stdin {}
}
filter {
}
output {
stdout {
# 从console输出
codec => rubydebug
}
}
-
可支持从文件读取数据
-
过滤器官方提供了很多可配置的插件,用的比较多的是grok,geoip,kv等
-
结果可输出到控制台和文件,也可以输出给elasticsearch
Elasticsearch
配置文件同样也在解压路径下的config文件夹中,包含了三个文件
-
jvm.options
-
log4j2.properties
-
elasticsearch.yml (主配置文件)
主配置文件中一些重要的配置
-
path.data和path.logs
-
cluster.name(集群名称)
-
node.name(节点名称)
-
bootsrap.memory_lock
-
network.host
-
discovery.zen.ping.unicast.hosts
-
discovery.zen.minimum_master_nodes
Kibana
解压后的主路径下的config文件夹中,有一个叫kibana.yml的文件,这个就是主配置文件了。配置文件中可配置的属性很多,大家可以参考官方文档进行修改。这里主要说一下和elasticsearch对接的基础配置
-
server.port,server.host,server.name
-
elasticsearch.url
当然,kibana对接elasticsearch远不止这么简单,这么写的目的只是为了说明这样配置kibana能看到e上的数据,至于更高级的配置,比如https协议,用户配置等等,在实际应用中再做相应的调整。
运行
Logstash
进入解压目录运行 ./bin/logstash -f config/xxxx.config
为了确保配置文件书写正确可以使用 ./bin/logstash -f config/xxx.config -t
进行测试
Elasticsearch
进入解压目录运行 ./bin/elasticsearch
这里需要注意一下的是,如果当前为root去启动e,会报错
没有去深究其原因,解决办法是切换一个非root账户进行启动就ok了。
Kibana
进入解压目录运行 ./bin/kibana
传送门
Logstash官方文档
Kibana官方文档
Elasticsearch官方文档
(责任编辑:IT)
本文跳过了CentOS的安装过程,如有不懂的请自己百度下最近因为业务需要监控nginx和apache的日志,所以粗略研究了下ELK。这三个字母分别代表了Elasticsearch, Logstash, Kibana。他们组成了一个基础的日志统计系统,L负责日志信息获取,E负责创建日志缓存,K负责最终的视图呈现。 安装推荐使用tar包,rpm看似方便,但在实际的使用中会有些麻烦,后面会再进行说明。 环境准备Java环境,我使用的是1.8(java安装方式,应该不用再说了吧) 过程
由于都是使用的tar包,所以直接解压出来就好 说明这里说明一下为什么要选择用tar包而不是rpm,目的是方便目录管理。tar包解压后所有的文件都在一起,而如果使用的是rpm包,安装完成后你会发现目录非常散乱,这里拿Logstash举个例子来看看安装完成后都有哪些目录就明白了。(当然看各自喜好,也会有人觉得能接受rpm安装后的路径,so自己选择吧)
tar解压后
rpm安装后 配置Logstash配置文件在解压路径下的config文件夹中,包含了四个文件
在config文件夹中创建一个test.config文件规定logstash数据从哪里来,怎么过滤,怎么输出,所以这个文件包含了三个部分 input,filter,output
Elasticsearch配置文件同样也在解压路径下的config文件夹中,包含了三个文件
主配置文件中一些重要的配置
Kibana解压后的主路径下的config文件夹中,有一个叫kibana.yml的文件,这个就是主配置文件了。配置文件中可配置的属性很多,大家可以参考官方文档进行修改。这里主要说一下和elasticsearch对接的基础配置
当然,kibana对接elasticsearch远不止这么简单,这么写的目的只是为了说明这样配置kibana能看到e上的数据,至于更高级的配置,比如https协议,用户配置等等,在实际应用中再做相应的调整。 运行Logstash
进入解压目录运行
为了确保配置文件书写正确可以使用 Elasticsearch
进入解压目录运行 这里需要注意一下的是,如果当前为root去启动e,会报错
没有去深究其原因,解决办法是切换一个非root账户进行启动就ok了。 Kibana
进入解压目录运行 传送门
Logstash官方文档 (责任编辑:IT) |