安装logstash及logstash的初步使用-处理DNS日志

lzj-blog 2018-08-23 原文

安装logstash及logstash的初步使用-处理DNS日志

安装logstash

需要高版本的java
使用1.4版本的java会有报错
# Can't start up: not enough memory

查询java信息

rpm -qa | grep java

查询yum源内含有的所有java的安装包

yum -y list java*

选择需要的版本

yum install java-xxx-openjdk.x86_64

安装完成后,验证版本

java -verison

下载logstash

cd /opt/soft
wget https://artifacts.elastic.co/downloads/logstash/logstash-6.3.2.tar.gz

解压

tar zxvf logstash-6.3.2.tar.gz
cd logstash-6.3.2

若需要安装插件,可以通过logstash-plugin 来安装

查看可以安装的插件

./bin/logstash-plugin list
./bin/logstash-plugin install pkg_name

安装插件
https://github.com/logstash-plugins/logstash-patterns-core

需要安装gem

yum install -y rubygem #centos6.5
yum install -y gem #centos7

安装完成后,解压github上的插件然后进入目录执行

gem build *.gemspec

会产生一个新的*.gem文件

./bin/logstash-plugin install *.gem
然后就安装成功了

logstash的使用方式
在任意文件夹下创建一个conf文件(这里演示就直接创建在程序目录下了)

touch /opt/soft/logstash/bin/std.conf
vi /opt/soft/logstash
/bin/std.conf

以下是一个实例

需要处理的日志格式:17-Jul-2018 10:54:06.822 client 127.0.0.1 18524: view default: kugou.xdwscache.ourwebpic.com IN A NOERROR + NS NE NT ND NC H 25 Response: kugou.xdwscache.ourwebpic.com 50 IN A 127.0.0.1;kugou.xdwscache.ourwebpic.com 50 IN A 127.0.0.1;

std.conf内容如下

#input  日志文件来源,还可以使用redis等等具体可查询官网的input选项
input {
    file {
    #指定路径
    path => ["/home/dnslog/*.log"]
    }
}
#格式处理
filter{
    #判断message是否含有字符“Respose”
    if "Response" in [message] {
        #通过正则的方式来切割日志,并且赋予需要的数据变量。本文导入了模块logstash-patterns-core
        #logstash-patterns-core此模块来自于github:https://github.com/logstash-plugins/logstash-patterns-core
        grok{
            match =>{
        "message" => "%{BIND9_TIMESTAMP:timestamp} client %{IP:clientip} %{POSINT:clientport}: view %{DATA:view}\:\ %{DATA:query} IN %{DATA:aaa} %{DATA:status} \+ %{GREEDYDATA:res}"
        }
    }
        #在此通过正则过滤
        grok {
        match => {
        #这里的res由上面grok过滤获得
        "res" => ".*?(%{HOSTNAME:query1} %{NONNEGINT:clientport1} IN A %{IP:resolution};)$.*?"
        }   
        }
    #if判断失败的就直接丢弃
    }else {
        drop {}
    }
    #geoip插件通过plugin install 安装,这个插件对移动的地址识别有异常。
    geoip{
    #由以上第二个正则grok过滤得到的resolution获取IP
    source => "resolution"
    target => "geoip"
    #可以注释掉fields,那就是输出完成的geoip的数据。这边只取了需要的
    fields => ["city_name","country_name","region_name"]
    }

    #日期插件会替换原本自身的@timestamp项
    date {
    #将日期格式化为标准输出
    match => ["timestamp", "dd-MMM-yyyy HH:mm:ss.SSS"]
    locale => "en"
    timezone => "+00:00"

#   target=>"@timestamp"
#   timezone=>"Asia/Shanghai"
    }
    #格式化日志将服务器名称发送过去
    mutate {
    rename => { "[host][name]" => "host" }
    }
    #去除不需要的项
    mutate {
    remove_field => ["_type","_source","path","message", "@version","clientport","clientport1","res"]
    }
}
#输出
output {
    #输出到elasticsearch,并且定义index名字
    elasticsearch{
    index => "logstash_dns%{[host]}_%{+YYYY.MM.dd}"
        hosts => "127.0.0.1:8200"
    }
#输出到界面,以rubydebug的格式,还有json等等格式
stdout {codec => rubydebug} 
}

这样一个DNS的日志格式就处理完成了

发表于 2018-08-23 17:26 进击的大佬 阅读() 评论() 编辑 收藏

 

版权声明:本文为lzj-blog原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/lzj-blog/p/9525129.html

安装logstash及logstash的初步使用-处理DNS日志的更多相关文章

  1. ELK搭建以及运行和ElasticStarch的详细使用(7.X版本之上)

      ELK初体验     1.官网   https://www.elastic.co/cn/downloads […]...

  2. 05 . ELK Stack+Redis日志收集平台

    环境清单 IP hostname 软件 配置要求 网络 备注 192.168.43.176 ES/数据存储 e […]...

  3. ELK学习记录二 :elasticsearch、logstash及kibana的安装与配置

    注意事项: 1.ELK版本要求5.X以上,本人使用版本:elasticsearch-6.0.0、kibana- […]...

  4. Elasticsearch实践(二):搜索

    本文以 Elasticsearch 6.2.4为例。 经过前面的基础入门,我们对ES的基本操作也会了。现在来学 […]...

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

    本文由云+社区发表 作者:J2X 我们都有过上机器查日志的经历,当集群数量增多的时候,这种原始的操作带来的低效 […]...

  6. 微服务下,使用 ELK 进行日志采集以及统一处理

    摘要:微服务各个组件的相关实践会涉及到工具,本文将会介绍微服务日常开发的一些利器,这些工具帮助我们构建更加健壮 […]...

  7. nginx用户认证与htpasswd命令

    最近在搭建ELK,然后ELK的kibana界面想添加一个访问限制,看到kibana有个插件x-pack,本来想 […]...

  8. Elasticsearch Java Rest Client API 整理总结 (三)——Building Queries

    目录 上篇回顾 Building Queries 匹配所有的查询 全文查询 Full Text Queries […]...

随机推荐

  1. 博客园 页面定制CSS代码

    <!DOCTYPE html> <html xmlns="http://www.w3.org […]...

  2. 分类器训练结果之混淆矩阵分析

    机器学习尤其针对分类器这,有各种指标来评判最终的模型效果,以前总听说混淆矩阵,也不知道到底干啥的,反正听着就让 […]...

  3. RMQ问题–范围最小值问题

    范围最小值问题(Range Minium Query,RMQ)—RMQ问题   一、一维问题 给出 […]...

  4. 论文工具 – AnonymousUser

    论文工具 <!doctype html> <html lang="zh"> <h […]...

  5. 关于南京市智慧教育基础平台市区协同推进项目申报工作的通知

    师生基础库系统 http://uiateacher.nje.cn/Doc/Introduction 师生基础库 […]...

  6. 【转】Eclipse启动参数配置

    Eclipse启动参数配置   eclipse.exe -vmargs -Xverify:none -XX:+ […]...

  7. 一些阿里云服务器的使用

    记录的一些使用阿里云搭建环境的blog,备用。 1.在阿里云服务器上快速搭建JavaWeb环境JDKtomca […]...

  8. Spring 笔记 -06- 从 MySQL 建库到 登录验证数据库信息(maven)

    Spring 笔记 -06- 从 MySQL 建库到 登录验证数据库信息(maven) 本篇和 Spring […]...

展开目录

目录导航