原作者: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. 二维RMQ模板

    int main(){ ; i <= n; i++) ; j <= m; j++) { scanf("%d", &val[i][j]); dp[i][j][][ ...

  2. Codeforces Round #409 (rated, Div. 2, based on VK Cup 2017 Round 2)

    A 每次可以换一个或不换,暴力枚举位置即可 B 模拟 C 二分答案.. 边界可以优化r=totb/(tota-p),二分可以直接(r-l>=EPS,EPS不要太小,合适就好),也可以直接限定二分 ...

  3. 手脱PEtite v2.1

    1.载入PEID PEtite v2.1 2.载入OD,先F8跟一下 0042C10F > B8 00C04200 mov eax,跑跑排行.0042C000 ; //程序入口点 0042C11 ...

  4. 前端PHP入门-023-重点日期函数之程序执行时间检测

    我们有的时经常需要做程序的执行时间执行效率判断. 实现的思路如下: <?php //记录开始时间 //记录结整时 // 开始时间 减去(-) 结束时间 得到程序的运行时间 ?> 可是大家不 ...

  5. OpenCV---直方图反向投影

    一:直方图反向投影的方法 二:二维直方图的表示 (一)直接显示 def hist2D_demo(image): hsv = cv.cvtColor(image,cv.COLOR_BGR2HSV) hi ...

  6. 拖放API中的drag和drop实战

    原文地址:→传送门 写在前面 在HTML5之前,实现拖放功能需要借助mousedown/mousemove/mouseover/mouseout/mouseup等鼠标事件来完成,HTML5中拖放API ...

  7. css单位em、px、rem和pt的区别

    1.PX :像素(Pixel) PX是相对长度单位,它是相对于显示器屏幕分辨率而言的. 优缺点:比较稳定和精确,但在浏览器中放大或缩放浏览页面时会出现页面混乱的情况. 2.EM:是相对长度单位. EM ...

  8. [数据库中间件]centos6.6下配置libzdb所产生的错误

    1.关于gmtime_r.timegm的隐藏声明错误,从系统的time.h中复制两个函数引用到libzdb自己定义的time.h,代码如下: extern struct tm *gmtime_r (c ...

  9. fetch and js异步介绍

    http://www.ruanyifeng.com/blog/2012/12/asynchronous%EF%BC%BFjavascript.html   Javascript异步编程的4种方法 ht ...

  10. 【leetcode 简单】第四十题 求众数

    给定一个大小为 n 的数组,找到其中的众数.众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素. 你可以假设数组是非空的,并且给定的数组总是存在众数. 示例 1: 输入: [3,2,3] 输出: 3 ...