您的位置:首页 > 其它

ELK的简单安装使用

2017-01-10 14:56 351 查看
ELK
ELK是什么?
Elasticsearch
LogStash
Kibana

1,简单的安装
我采用的是本地window环境;
下载的包如下:



首先安装的是jdk8,安装完成之后,设置路径,

增加一个系统变量 JAVA_HOME 值为安装的jdk目录;
编辑系统变量 PATH 在值的末尾添加 ;%JAVA_HOME%/bin

打开命令行窗口,输入 java -version; 看看是否安装成功;



输入输出的版本号是1.8开头的,则jdk8环境安装完成;

elk的最新版本都是依赖的jdk1.8

然后安装的是elasticResearch;
直接解压到某个目录





elasticSearch 是一个分布式的,支持REST风格的搜索和分析工具。



这次什么配置都不用更改,使用它的默认配置,
打开命令行窗口,把bin目录下的 elasticsearch.bat 拖拽到命令行窗口,即可启动;



从命令行输出可以看到,已经成功的启动了,开启了两个端口 9200,9300
9200是 httpserver,可以通过浏览器直接访问到。
9300是 TransportService, clusterService ,是交换服务和集群服务,集群节点编号0;



可以看到这个 elasticSearch的集群信息;

先不去详细研究,把基础环境搭建起来再看。
接下来,安装kibana;



这是一个把数据边的可视化,并且提供一个导航查询的工具。看里面的文档结构,基于nodejs写得;



配置kibana;英文注释写的很清楚;



打开命令行窗口,把bin下面的 kibana.bat 的拽到命令行窗口下,即可运行kibana;并且链接上了elastic;
打开 127.0.0.1:5601之后会要先配置索引,选择默认的即可;
然后即可查询;



最后安装的是logstash



这是一个日志收集工具, 分成四步,收集,过滤,转换,输出;

首先需要配置好 logstash
input { stdin { } }

filter {
grok {
match => { "message" => "%{COMBINEDAPACHELOG}" }
}
date {
match => [ "timestamp" , "dd/MMM/yyyy:HH:mm:ss Z" ]
}
}

output {
elasticsearch { hosts => ["localhost:9200"] }
stdout { codec => rubydebug }
}

主要配置了一个message的格式,和时间戳的格式;

使用脚本启动 D:\logstash-5.1.1\bin\logstash.bat -f D:\logstash-5.1.1\config\l
ogstash.conf



即可把在命令行中输入的数据,传输到 elasticSearch ;

然后在kibana中展示出来;

最后一个简单的应用,把tomcat的异常日志和错误日志使用logstash,传输到 elasticSearch

配置文件:

input {
file {
path => "D:/tomcat/apache-tomcat-7.0.62/logs/localhost_access_log*.txt"
type => "apache_access_log"
add_field => {"tomcatip" => "172.27.42.22"}
}
}

filter{
if [type] == "apache_access_log" {
grok{
match => { "message" => "%{IPORHOST:clientip} %{USER:ident} %{USER:auth} \[%{HTTPDATE:timestamp}\] \"(?:%{WORD:verb} %{URIPATHPARAM:request}(?: HTTP/%{NUMBER:httpversion})?|-)\" %{NUMBER:response} (?:%{NUMBER:bytes}|-) %{NUMBER:responsetime} \"(?:%{URI:referrer}|-)\" %{QS:agent}" }
}
date{
match => [ "timestamp", "dd/MMM/yyyy:HH:mm:ss Z" ]
target => ["writetime"]
}
mutate {
convert => {
"response" => "integer"
"bytes" => "integer"
"responsetime" => "integer"
}
}
}
}

output {
if [type] == "apache_access_log" {
elasticsearch {
hosts => "127.0.0.1:9200"
index => "logstash-apacheaccesslog-%{+YYYY.MM.dd}"
}
}
}
然后在kibana中可以看到tomcat的访问日志数据,并可以对它的访问情况定制仪表盘,得到BI报表;



直接使用filebeat抓取tomcat的日志



修改配置文件:





使用命令启动:



然后可以在kibana中查找到收集过来的数据;

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: