Logstash是一个接收,处理,转发日志的工具。支持系统日志,webserver日志,错误日志,应用日志,总之包括所有可以抛出来的日志类型。

典型的使用场景下(ELK):

  用Elasticsearch作为后台数据的存储,kibana用来前端的报表展示。Logstash在其过程中担任搬运工的角色,它为数据存储,报表查询和日志解析创建了一个功能强大的管道链。Logstash提供了多种多样的 input,filters,codecs和output组件,让使用者轻松实现强大的功能。

  学习Logstash最好的资料就是官网,介绍三个学习地址:

1、ELK官网帮助文档

https://www.elastic.co/guide/en/logstash/5.1/plugins-outputs-stdout.html

2、Logstash匹配帮助文档

http://grokdebug.herokuapp.com/patterns#

3、Grok在线正则匹配

http://grokdebug.herokuapp.com/

4、国内grok在线正则匹配

http://grok.qiexun.net/

下面就正式开始主题~~

logstash部署配置

1、基础环境支持(JAVA)

yum -y install java-1.8*
java --version

2、下载解压logstash

logstash-5.0.1.tar.gz
tar -zxvf logstash-5.0.1.tar.gz
cd logstash-5.0.1
mkdir conf #创建conf文件夹存放配置文件
cd conf

3、配置文件

配置test文件(结合前面搭建好的ES集群测试)

[root@logstash1 conf]# cat test.conf
input {
stdin {
}
}
output {
elasticsearch {
hosts =>["172.16.81.133:9200","172.16.81.134:9200"]
index => "test-%{+YYYY.MM.dd}"
}
stdout {
codec => rubydebug
}
}

#检查配置文件语法
[root@logstash1 conf]# /opt/logstash-5.0.1/bin/logstash -f /opt/logstash-5.0.1/conf/test.conf --config.test_and_exit
  Sending Logstash's logs to /opt/logstash-5.0.1/logs which is now configured via log4j2.properties
  Configuration OK
  [2017-12-26T11:42:12,816][INFO ][logstash.runner ] Using config.test_and_exit mode. Config Validati  on Result: OK. Exiting Logstash
#执行命令
  /opt/logstash-5.0.1/bin/logstash -f /opt/logstash-5.0.1/conf/test.conf
手动输入信息
  2017.12.26 admin 172.16.81.82 200
结果:
 {
  "@timestamp" => 2017-12-26T03:45:48.926Z,
  "@version" => "1",
  "host" => "0.0.0.0",
  "message" => "2017.12.26 admin 172.16.81.82 200",
  "tags" => []
 }

配置kafka集群的logstash配置文件

客户端logstash推送日志

#配置客户端logstash配置文件
[root@www conf]# cat nginx_kafka.conf
input {
file {
type => "access.log"
path => "/var/log/nginx/imlogin.log"
start_position => "beginning"
}
} output {
kafka {
bootstrap_servers => "172.16.81.131:9092,172.16.81.132:9092"
topic_id => 'summer'
}
}

配置服务端logstash过滤分割日志

[root@logstash1 conf]# cat kafka.conf
input {
kafka {
bootstrap_servers => "172.16.81.131:9092,172.16.81.132:9092"
group_id => "logstash"
topics => ["summer"]
consumer_threads => 50
decorate_events => true
}
} filter {
grok {
match => {
"message" => "%{NOTSPACE:accessip} \- \- \[%{HTTPDATE:time}\] %{NOTSPACE:auth} %{NOTSPACE:uri_stem} %{NOTSPACE:agent} %{WORD:status} %{NUMBER:bytes} %{NOTSPACE:request_url} %{NOTSPACE:browser} %{NOTSPACE:system} %{NOTSPACE:system_type} %{NOTSPACE:tag} %{NOTSPACE:system}"
}
}
date {
match => [ "accessip", "MMM dd YYYY HH:mm:ss" ]
}
} output {
elasticsearch {
hosts => ["172.16.81.133:9200","172.16.81.134:9200"]
index => "logstash-%{+YYYY.MM.dd}"
}
}

然后再es集群上观察消费情况

[root@es1 ~]# curl -XGET '172.16.81.134:9200/_cat/indices?v&pretty'
health status index uuid pri rep docs.count docs.deleted store.size pri.store.size
green open logstash-2017.12.29.03 waZfJChvSY2vcREQgyW7zA 5 1 1080175 0 622.2mb 311.1mb
green open logstash-2017.12.29.06 Zm5Jcb3DSK2Ws3D2rYdp2g 5 1 183 0 744.2kb 372.1kb
green open logstash-2017.12.29.04 NFimjo_sSnekHVoISp2DQg 5 1 1530 0 2.7mb 1.3mb
green open .kibana YN93vVWQTESA-cZycYHI6g 1 1 2 0 22.9kb 11.4kb
green open logstash-2017.12.29.05 kPQAlVkGQL-izw8tt2FRaQ 5 1 1289 0 2mb 1mb

配合ES集群的head插件使用!!观察日志生成情况!!

4、kibana安装部署

下载rpm包

kibana-5.0.1-x86_64.rpm

安装kibana软件

rpm -ivh kibana-5.0.1-x86_64.rpm

配置文件

[root@es1 opt]# cat /etc/kibana/kibana.yml | grep -v "^#" | grep -v "^$"
server.port: 5601
server.host: "172.16.81.133"
elasticsearch.url: "http://172.16.81.133:9200"

启动kibana

systemctl start kibana
systemctl enable kibana

浏览器浏览

http://172.16.81.133:5601/

正常显示数据!!

有问题请指出!出现了很多IP地址不知道可以查看前面几篇!

Logstash+Kibana部署配置的更多相关文章

  1. elasticsearch+logstash+kibana部署

    这篇博客讲的是elasticsearch+logstash+kibana部署的方法. 内容大纲: 1.elasticsearch+logstash+kibana部署 2.收集Tomcat日志 3.收集 ...

  2. ELK (Elasticsearch+Logstash+Kibana)部署

    部署机器: 服务端:dev-server    X.X.X.X      ( logstash-1.5.4,elasticsearch-1.7.1,kibana-4.1.1 ) 客户端:dev-cli ...

  3. ELK(ElasticSearch+Logstash+Kibana)配置中的一些坑基于7.6版本

    三个组件都是采用Docker镜像安装,过程简单不做赘述,直接使用Docker官方镜像运行容器即可,注意三个组件版本必须一致. 运行容器时最好将三个组件的核心配置文件与主机做映射,方便直接在主机修改不用 ...

  4. ELK( ElasticSearch+ Logstash+ Kibana)分布式日志系统部署文档

    开始在公司实施的小应用,慢慢完善之~~~~~~~~文档制作 了好作运维同事之间的前期普及.. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 软件下载地址: https://www.e ...

  5. ELK6.0部署:Elasticsearch+Logstash+Kibana搭建分布式日志平台

    一.前言 1.ELK简介 ELK是Elasticsearch+Logstash+Kibana的简称 ElasticSearch是一个基于Lucene的分布式全文搜索引擎,提供 RESTful API进 ...

  6. ELk(Elasticsearch, Logstash, Kibana)的安装配置

    目录 ELk(Elasticsearch, Logstash, Kibana)的安装配置 1. Elasticsearch的安装-官网 2. Kibana的安装配置-官网 3. Logstash的安装 ...

  7. Elasticsearch + logstash + kibana 配置

    Elasticsearch 配置 Elasticsearch不仅仅是Lucene和全文搜索,我们还能这样去描述它: 分布式的实时文件存储,每个字段都被索引并可被搜索 分布式的实时分析搜索引擎 可以扩展 ...

  8. ELK日志系统:Elasticsearch + Logstash + Kibana 搭建教程

    环境:OS X 10.10.5 + JDK 1.8 步骤: 一.下载ELK的三大组件 Elasticsearch下载地址: https://www.elastic.co/downloads/elast ...

  9. 【转】ELK(ElasticSearch, Logstash, Kibana)搭建实时日志分析平台

    [转自]https://my.oschina.net/itblog/blog/547250 摘要: 前段时间研究的Log4j+Kafka中,有人建议把Kafka收集到的日志存放于ES(ElasticS ...

随机推荐

  1. 学习ABP ASP.NET Core with Angular 环境问题

    1. 前言 最近学习ABP架构 搭建ASP.NET Core with Angular遇到了些问题,折腾了一个礼拜最终在今天解决了,想想这个过程的痛苦就想利用博客记录下来.其实一直想写博客,但因为 时 ...

  2. [转]winform 自动伸缩控件xpandercontrols 使用说明

    链接地址:http://blog.sina.com.cn/s/blog_b5b004920101f5h3.html

  3. Pipeline in scala——给scala添加管道操作

     linux系统中管道这一功能相信大家肯定使用过,比如现在想找到用户目录下文件名包含db的所有文件,ls ~的结果,作为grep db的参数: ➜ ~ ls ~ | grep db kv.mv.db ...

  4. ls /proc/$$,self/fd/3,255 引发的一些琐事

    我在使用bash的时候通常会利用它的自动补全功能来看看文件夹下的内容(连按两下Tab键),例如: 说明Music文件夹下有这三个文件,我也就不需要提前用ls命令来确定了. 但是最近我在查看当前shel ...

  5. Java语言的概述?-什么是Java? (附一张Java工程师的学习路线图)

    什么是Java? Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承.指针等概念,因此Java语言具有功能强大和简单易用两个特征.Java语言作为静态面向 ...

  6. MySQL 数据类型和约束(外键是重点🙄)

    数据类型 1. 数字(默认都是由符号,宽度表示的是显示宽度,与存储无关).tinyint 括号里指定宽度 七位2进制数最大数就是2**7 -1=127 最小是-128 验证: create tabel ...

  7. MySQL查询(进阶)(每个标点都是重点)

    MySQL 是工作中很普遍的需要用到的,所以必须掌握,而 之前我们一直说的都是怎么存. 你只会存不会取有个屁用.所以希望大家在如何查询读取数据这方面多下点功夫. 这篇和上一篇都是干货,我也是第一次学. ...

  8. SQL基础学习_03_数据更新

    数据的插入 1. 基本INSERT语句     INSERT的基本语法为:     INSERT INTO  <表名> (列1, 列2, 列3,  -) VALUES (值1, 值2, 值 ...

  9. windows的ReactNative挖坑一分钟爬坑一小时

    其实开发并不需要Android Studio来开发,因为命令行都是要自己手打的,所以就开始了我的挖坑爬坑之旅 首先安装React Native要用到的git.nodejs等等这里不讲了,主要讲在手机上 ...

  10. zabbix web监控模板

    问题关键:宏变量 {HOST.NAME} 配置 我直接在 Linux OS这个模板中添加的,都随意: 效果 加个报警 以上.