原作者:http://www.cnblogs.com/snidget/p/6269383.html
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中查找到收集过来的数据;

ELK简单使用的更多相关文章

  1. ELK简单安装测试

    1 介绍组件 Filebeat是一个日志文件托运工具,在你的服务器上安装客户端后,filebeat会监控日志目录或者指定的日志文件,追踪读取这些文件(追踪文件的变化,不停的读). Kafka是一种高吞 ...

  2. Windows环境下ELK简单搭建记录

    前言 ELK已经是一套成熟的日志解决方案,虽然出现了好久,今日才终于研究了一下,不过是在windows平台上安装的. 搭建步骤 下载软件 安装软件 修改配置文件 启动软件 集成测试 下载软件 首先从官 ...

  3. ELK简单安装

    ELK日志分析平台 一.ELK介绍 ELK是三个开源软件的缩写,分别为:Elasticsearch . Logstash以及Kibana,都是开源软件,新增一个beats,(轻量级日志处理工具Agen ...

  4. ELK简单部署

    系统环境: IP:192.168.0.156 ruby环境准备 yum -y install ruby-devel ruby-libs ruby-rdoc ruby-ri ruby-static ru ...

  5. ELK简单配置

    input { file { path => ["/usr/local/kencery/tomcat/logs/catalina.out"] type => " ...

  6. centos6 搭建ELK

    mark一下时间:2016年2月19日10:17:09 记录使用 Logstash: Logstash服务的组件,用于处理传入的日志. Elasticsearch: 存储所有日志 Kibana 4: ...

  7. ELK 架构之 Elasticsearch 和 Kibana 安装配置

    阅读目录: 1. ELK Stack 简介 2. 环境准备 3. 安装 Elasticsearch 4. 安装 Kibana 5. Kibana 使用 6. Elasticsearch 命令 最近在开 ...

  8. Node 框架接入 ELK 实践总结

    本文由云+社区发表 作者:J2X 我们都有过上机器查日志的经历,当集群数量增多的时候,这种原始的操作带来的低效率不仅给我们定位现网问题带来极大的挑战,同时,我们也无法对我们服务框架的各项指标进行有效的 ...

  9. ELK环境配置+log4j日志记录

    ELK环境配置+log4j日志记录 1. 背景介绍 在大数据时代,日志记录和管理变得尤为重要. 以往的文件记录日志的形式,既查询起来又不方便,又造成日志在服务器上分散存储,管理起来相当麻烦, 想根据一 ...

随机推荐

  1. HDU-3974 Assign the task题解报告【dfs序+线段树】

    There is a company that has N employees(numbered from 1 to N),every employee in the company has a im ...

  2. 利用MailSniper越权访问Exchange邮箱

    0x01 概述 Microsoft Exchange用户可以授权给其他用户对其邮箱文件夹进行各种级别的访问.例如,用户可以授予其他用户读取访问其收件箱中里面的电子邮件,但是要是用户(或Exchange ...

  3. 【OpenCV】SIFT原理与源码分析:方向赋值

    <SIFT原理与源码分析>系列文章索引:http://www.cnblogs.com/tianyalu/p/5467813.html 由前一篇<关键点搜索与定位>,我们已经找到 ...

  4. 51nod 1684 子集价值

    lyk最近在研究位运算. 它发现除了xor,or,and外还有很多运算. 它新定义了一种运算符“#”. 具体地,可以由4个参数来表示. ai,j表示 i#j. 其中i,j与a的值均∈[0,1]. 当然 ...

  5. Hdu3022 Sum of Digits

    Sum of Digits Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Tot ...

  6. poj1486 Sorting Slides

    Sorting Slides Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 4812   Accepted: 1882 De ...

  7. opencv函数制作的秒针模型

    曾经做过,没想到这次再次写这篇代码却用了这么久的时间.这回我要记住他. #include"cv.h" #include"highgui.h" int main( ...

  8. 111.保留的编号(ing)

    用于做整理的编号,000,111,222,……999

  9. 详解 Cookie 和 Session 关系和区别

    在技术面试中,经常被问到“说说Cookie和Session的区别”,大家都知道,Session是存储在服务器端的,Cookie是存储在客户端的,然而如果让你更详细地说明,你能说出几点?今天个推君就和大 ...

  10. [Java多线程]-学习多线程需要来了解哪些东西?(concurrent并发包的数据结构和线程池,Locks锁,Atomic原子类)

    前言:刚学习了一段机器学习,最近需要重构一个java项目,又赶过来看java.大多是线程代码,没办法,那时候总觉得多线程是个很难的部分很少用到,所以一直没下决定去啃,那些年留下的坑,总是得自己跳进去填 ...