前言

ELK搭建没有难度,难的是logstash的配置文件,logstash主要分为三个部分,input,filter和output。

input,输入源可选的输入源由很多,详情见ELK官网,这里我们说s3作为输入源。

filter,过滤器,logstash可以在input和output中间添加过滤器,可以将数据进行分类、过滤、打标签等操作,将数据格式化。logstash的核心就在此。

output,输出。一般是输出到elasticsearch。

说明:

AWS的ELB日志存储在S3,可以通过logstash的S3插件获取,经过过滤器后,输出到elasticsearch。

ELK的搭建和配置在这里就不说了,看官方文档就行,这里提供一个logstash的配置文件 ,用于抓取和格式化ELB日志。

input {
s3 {
access_key_id => "access_key"
secret_access_key => "secret_key"
bucket => "elb_bucket"
region => "aws_region"
type => "s3"
}
} filter {
mutate{
split => { "message" => " " }
add_field => {
"log_time" => "%{[message][0]}"
}
add_field => {
"elb_name" => "%{[message][1]}"
}
add_field => {
"client_ip" => "%{[message][2]}"
}
add_field => {
"t1" => "%{[message][4]}"
}
add_field => {
"t2" => "%{[message][5]}"
}
add_field => {
"t3" => "%{[message][6]}"
}
add_field => {
"elb_code" => "%{[message][7]}"
}
add_field => {
"server_code" => "%{[message][8]}"
}
add_field => {
"getpost" => "%{[message][11]}"
}
add_field => {
"url" => "%{[message][12]}"
}
remove_field => [ "message" ]
}
mutate {
convert => { "t1" => "float" }
convert => { "t2" => "float" }
convert => { "t3" => "float" }
convert => { "elb_code" => "integer" }
convert => { "server_code" => "integer" }
}
grok {
break_on_match => false
match => { "client_ip" => "%{IPV4:device_ip}" }
match => { "url" => "%{URIPROTO:url_head}://%{URIHOST:url_destination}:%{POSINT:url_port}%{URIPATH:url_path}(?:%{URIPARAM:url_param})?" }
match => { "getpost" => "%{WORD:get_post}" }
remove_field => [ "getpost" ]
}
mutate{
split => { "url_path" => "." }
add_field => {
"url_api" => "%{[url_path][0]}"
}
add_field => {
"html_ashx" => "%{[url_path][1]}"
}
}
date {
match => ["log_time", "ISO8601"]
target => "log_date"
add_tag => [ "log_date" ]
remove_field => [ "log_time" ]
}
geoip {
source => "device_ip"
add_tag => [ "geoip" ]
remove_field => [ "client_ip" ]
}
}
output {
elasticsearch {
hosts => ["xxx.xxx.xxx.xxx:9200"]
index => "logstash-s3-%{+YYYY-MM-dd}"
}
}

【ELK】抓取AWS-ELB日志的logstash配置文件的更多相关文章

  1. 手把手教你用Python抓取AWS的日志(CloudTrail)数据

    数据时代,利用数据做决策是大数据的核心价值. 本文手把手,教你使用python进行AWS的CloudTrail配置,进行日志抓取.进行数据分析,发现数据价值! 如今是云的时代,许多公司都把自己的IT架 ...

  2. [原创]adb使用教程v1.0-----by-----使用logcat快速抓取android崩溃日志

    原文再续,书接上回:<使用logcat快速抓取android崩溃日志>中提到的工具包可以下载拉~ <使用logcat快速抓取android崩溃日志>:http://www.cn ...

  3. [原创]adb使用教程v1.1.0-----by-----使用logcat快速抓取android崩溃日志

    原文再续,书接上回:<使用logcat快速抓取android崩溃日志>中提到的工具包可以下载拉~ <使用logcat快速抓取android崩溃日志>:http://www.cn ...

  4. .NET LINQ分析AWS ELB日志避免996

    前言 小明是个单纯的.NET开发,一天大哥叫住他,安排了一项任务: "小明,分析一下我们超牛逼网站上个月的所有AWS ELB流量日志,这些日志保存在AWS S3上,你分析下,看哪个API的响 ...

  5. [原创]使用logcat快速抓取android崩溃日志

    在android APP测试过程中会发生不少的crash,目前抓取日志的主流方法是通过eclipse或者eclipse的ddms组件进行捕抓,这两种方法有个缺点是启动时非常耗时.本文通过adb程序与b ...

  6. 使用flume抓取tomcat的日志文件下沉到kafka消费

    Tomcat生产日志 Flume抓取日志下沉到kafka中 将写好的web项目打包成war包,eclise直接导出export,IDEA 在artifact中添加新的artifact-achieve项 ...

  7. 抓取Android崩溃日志

    作为一个测试人员,特别是安卓的测试,由于系统版本的不同和手机本身各个品牌的优化和硬件的不同,会出现各种各样的崩溃. 记录崩溃的方式有很多种,比如使用录屏工具或文档进行记录,但是最简洁明了可以直接定位的 ...

  8. Java学习-046-日志抓取合并后排序问题解决方案之 --- log4j 二次定制,实现日志输出添加延时10ms

    自3月25至今,已经好久没有写学习日志了,今天在写日志抓取合并的小方法,发现抓取后的日志并米有依据系统执行的日志顺序排序.日志抓取排列逻辑如下: 通过日志标识,从各个日志文件(例如 use.log,e ...

  9. 制作bat脚本,抓取Android设备logcat

    ::bat制作抓取Android设备的logcat,并保存以时间命名的txt文件至设备目录 1 @ECHO off adb wait-for-device ECHO 正在连接设备 adb logcat ...

随机推荐

  1. document.querySelector()与document.querySelectorAll()

      document.querySelector()与document.querySelectorAll() CreationTime--2018年7月1日10点49分 Author:Marydon ...

  2. NSDate 类的总结,全面基础

    <span style="font-size:24px;"><span style="font-size:18px;">//1.创建日期 ...

  3. 【HTML5】用脚本控制交互元素details元素的使用

    1.源码 <!. Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quo ...

  4. jquery.validate.js 验证表单时,在IE当中未验证就直接提交的原因

    jquery.validate.js 验证表单时,在IE当中未验证就直接提交的原因 今天利用了jquery.validate.js来验证表单,发现在火狐.谷歌浏览器当中都可以进行验证,但是在IE系列浏 ...

  5. 工作总结 @Html.EditorFor @Html.TextBoxFor 表达式树 绑定显示日期格式数据

    页面显示 不出来 没有 这个input ............. 换成 @Html.TextBoxFor input 出来了 这是 为什么呢 ? 用@Html.TextBox 也可以出来 为什么 @ ...

  6. HTML5 的四个亮点

    1.XDM  cross-document-messaging  跨文档消息传递. 2.原生拖放功能. 3.新媒体元素 audio.video. 4.历史状态管理.

  7. CentOS7 yum 安装 Nginx最新版本

    CentOS7 yum 安装 Nginx最新版本 下载对应当前系统版本的nginx包(package) # wget  http://nginx.org/packages/centos/7/noarc ...

  8. Cygwin 版本的 Curl 安装,提取,使用笔记

    Cygwin 版本的 Curl 安装,提取,使用笔记 Cygwin 版本的 Curl 使其恢复 HTTPS 请求功能Cygwin 版本的 Curl 依赖的 DLL 清单提取 Cygwin 版本的 Cu ...

  9. wxWidgets之wxGrid控件

    1. 介绍 wxGrid控件时wxWidgets界面库中内置的网格控件. 通经常使用来显示表格数据.该控件拥有强大的功能.开发人员可依据自己的需求对其进行定制. 2. 经常使用API      构造函 ...

  10. lua学习笔记(六)

    (2012-04-12 23:32:35) 转载▼   函数  定义     function mytest(a,b,c) <函数体> end     mytest = function( ...