Logstash是一个具有实时管道的开源数据收集引擎。可以动态地统一不同来源的数据,并将数据归到不同目的地。也是一个管理事件和日志工具。你可以用它来收集日志,分析它们,并将它们储存起来以供以后使用。

  Logstash 通常都是和 Kibana 以及 Elasticsearch 一起使用,其实还有很多其他的用法值得我们关注的。Elasticsearch的相关配置与搭建可以查看本博客。本文将详细讲述logstash的安装和简单配置。

1、从官网下载Logstash

# wget https://download.elastic.co/logstash/logstash/logstash-2.3.2.tar.gz

2、下载logstash的rpm版本,解压使用官方启动脚本

# wget https://download.elastic.co/logstash/logstash/packages/centos/logstash-2.3.2-1.noarch.rpm

3、Java 8 下载地址:

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 

4、配置java环境

# tar zxf jdk-8u91-linux-x64.tar.gz -C /usr/local/
# vi /etc/profile
export JAVA_HOME=/usr/local/jdk1..0_91
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
# source /etc/profile

输入 java -version若看到如下信息,则java环境配置成功

java version "1.8.0_91"
Java(TM) SE Runtime Environment (build 1.8.0_91-b14)
Java HotSpot(TM) -Bit Server VM (build 25.91-b14, mixed mode)

5、解压rpm软件包

# mv logstash-2.3.-.noarch.rpm /tmp
# cd /tmp/
# rpm2cpio logstash-2.3.-.noarch.rpm | cpio -div

6、解压tar包,并配置启动脚本

# tar zxf logstash-2.3..tar.gz -C /usr/local/
# cd /usr/local/
# mv logstash-2.3./ logstash
# groupadd -r logstash  //创建logstash组
# useradd -r -g logstash -d /usr/local/logstash -s /sbin/nologin -c "logstash" logstash  //创建logstash用户 将rpm软件包中的脚本复制到系统指定位置
# cp /tmp/etc/init.d/logstash /etc/init.d/
# cp /tmp/etc/sysconfig/logstash /etc/sysconfig/
# cp /tmp/etc/logrotate.d/logstash /etc/logrotate.d/
# chmod /etc/logrotate.d/logstash 创建logstash的日志、HOME以及配置文件目录
# mkdir -p /etc/logstash/conf.d/  //配置文件目录
# mkdir /var/log/logstash  //日志目录
# mkdir /var/lib/logstash  //HOME目录
# chown logstash /var/log/logstash
# chown logstash:logstash /var/lib/logstash
# chown -R logstash:logstash /usr/local/logstash/ 配置启动脚本中的变量,将其修改为logstash的实际路径
# vi /etc/init.d/logstash
program=/usr/local/logstash/bin/logstash

此时就可以将自己写好的logstash配置文件放到  /etc/logstash/conf.d/ 下,并设置开机启动。

7、使用简单的配置文件测试

# cat /etc/logstash/conf.d/simple.conf
input {
stdin {}
}
output {
stdout {
codec => rubydebug }
}

使用命令运行logstash

# /usr/local/logstash/bin/logstash -f /etc/logstash/conf.d/simple.conf     // -f 指定配置文件,在启动之前还可以使用 -t 参数指定配置文件检查配置是否正确
Settings: Default pipeline workers:
Pipeline main started

输入hello world ,查看输出结果

#/usr/local/logstash/bin/logstash -f /etc/logstash/conf.d/simple.conf
Settings: Default pipeline workers:
Pipeline main started
hello world !
{
"message" => "hello world !",
"@version" => "",
"@timestamp" => "2016-06-13T02:35:01.737Z",
"host" => "localhost.localdomain"
}

可以看到,输入什么内容logstash按照某种格式输出,使用CTRL-C命令可以退出之前运行的Logstash。

8、配置logstash使用elasticsearch作为logstash后端

# cat /usr/local/logstash/conf.d/logstash-es-simple.conf
input {
stdin {}
}
output {
elasticsearch {
hosts => "127.0.0.1"}
stdout {
codec => rubydebug }
}

执行命令

 执行命令:
# /usr/local/logstash/bin/logstash agent -f conf.d/logstash-es-simple.conf
Settings: Default pipeline workers:
Pipeline main started
hello logstash
{
"message" => "hello logstash",
"@version" => "",
"@timestamp" => "2016-06-13T02:39:25.112Z",
"host" => "localhost.localdomain"
}

使用curl命令发送请求来查看ES是否接收到了数据:

# curl 'http://127.0.0.1:9200/_search?pretty'
{
"took" : ,
"timed_out" : false,
"_shards" : {
"total" : ,
"successful" : ,
"failed" :
},
"hits" : {
"total" : ,
"max_score" : 1.0,
"hits" : [ {
"_index" : "logstash-2016.06.13",
"_type" : "logs",
"_id" : "AVRg9UHczZ2iuimLmajG",
"_score" : 1.0,
"_source" : {
"message" : "hello logstash",
"@version" : "",
"@timestamp" : "2016-06-13T02:39:25.112Z",
"host" : "localhost.localdomain"
}
} ]
}
}

此时已经成功利用elasticsearch和logstash收集数据。

相关教程:

http://udn.yyuap.com/doc/logstash-best-practice-cn/

http://kibana.logstash.es/content/

Logstash安装搭建(一)的更多相关文章

  1. Elasticsearch + Logstash + Kibana 搭建教程

    # ELK:Elasticsearch + Logstash + Kibana 搭建教程 Shipper:日志收集者.负责监控本地日志文件的变化,及时把日志文件的最新内容收集起来,输出到Redis暂存 ...

  2. 用ElasticSearch,LogStash,Kibana搭建实时日志收集系统

    用ElasticSearch,LogStash,Kibana搭建实时日志收集系统 介绍 这套系统,logstash负责收集处理日志文件内容存储到elasticsearch搜索引擎数据库中.kibana ...

  3. 02篇ELK日志系统——升级版集群之kibana和logstash的搭建整合

    [ 前言:01篇LK日志系统已经把es集群搭建好了,接下来02篇搭建kibana和logstash,并整合完成整个ELK日志系统的初步搭建. ] 1.安装kibana 3台服务器: 192.168.2 ...

  4. 键盘侠Linux干货| ELK(Elasticsearch + Logstash + Kibana) 搭建教程

    前言 Elasticsearch + Logstash + Kibana(ELK)是一套开源的日志管理方案,分析网站的访问情况时我们一般会借助 Google / 百度 / CNZZ 等方式嵌入 JS ...

  5. centos6.5下Zabbix系列之Zabbix安装搭建及汉化

    最近在研究zabbix,在整理完成之后就有了写一下总结博客的想法,在我研究zabbix的时候给我很大帮助的是it你好,博客地址http://itnihao.blog.51cto.com/他做的zabb ...

  6. win7下安装搭建PHP环境

    由于最近新找的工作要求php,所以在电脑上安装搭建了PHP环境.主要参考了这篇文章http://www.leapsoul.cn/?p=695(之前第一次搭建时由于版本问题没有弄好) 1.先装apach ...

  7. centos6.5下Zabbix系列之Zabbix安装搭建及汉化 (转)

    最近在研究zabbix,在整理完成之后就有了写一下总结博客的想法,在我研究zabbix的时候给我很大帮助的是it你好,博客地址 http://itnihao.blog.51cto.com/他做的zab ...

  8. ElasticSearch Kibana 和Logstash 安装x-pack记录

    前言 最近用到了ELK的集群,想想还是用使用官方的x-pack的monitor功能对其进行监控,这里先上图看看: 环境如下: 操作系统: window 2012 R2 ELK : elasticsea ...

  9. 【阿里云】在 Windows Server 2016 下使用 FileZilla Server 安装搭建 FTP 服务

     Windows Server 2016 下使用 FileZilla Server 安装搭建 FTP 服务 一.安装 Filezilla Server 下载最新版本的 Filezilla Server ...

随机推荐

  1. windows 8以上找回开始菜单

    步骤如下: 右击任务栏,选择工具栏——新建工具 在工具栏---新建工具栏的输入框中输入,”C:\ProgramData\Microsoft\Windows\Start Menu\Programs,然后 ...

  2. C#编程断点续传

    C#编程总结(十二)断点续传 Posted on 2014-02-16 10:56 停留的风 阅读(384) 评论(3) 编辑 收藏 C#编程总结(十二)断点续传 我们经常使用下载工具,如bit精灵. ...

  3. SZU:D89 The Settlers of Catan

    Judge Info Memory Limit: 65536KB Case Time Limit: 3000MS Time Limit: 3000MS Judger: Number Only Judg ...

  4. smtp中ehlo的使用

    以前玩smtp的时候申明都是用的helo,最近在整理邮件服务的时候,才知道还有一个叫做ehlo的(太落后了). google了一下,了解了基本上是这么个情况:ehlo是对helo的扩展,即extend ...

  5. IL代码完结篇

    读懂IL代码就这么简单(三)完结篇   一 前言 写了两篇关于IL指令相关的文章,分别把值类型与引用类型在 堆与栈上的操作区别详细的写了一遍这第三篇也是最后一篇,之所以到第三篇就结束了,是因为以我现在 ...

  6. vs2013使用初体验

    刚安装好vs2013 , 初步体验了一把, 下面是我目前感受到的改变(对比vs2012) 1. 任务栏图标变了 (左边vs2013, 右边vs2012)    2. 开始界面 (vs2012有ligh ...

  7. iOS关于RunLoop和Timer

    RunLoop这个东西,其实我们一直在用,但一直没有很好地理解它,或者甚至没有知道它的存在.RunLoop可以说是每个线程都有的一个对象,是用来接受事件和分配任务的loop.永远不要手动创建一个run ...

  8. 关于Grunt可视化的尝试

    关于Grunt可视化的尝试 使用Grunt遇到的问题? 必须要安装NodeJS 必须安装grunt-cli 需要编写复杂的Gruntfile.js规则 每个项目中必须存在nodejs的grunt模块 ...

  9. 解决jqplot与jquery-ui导入必要包时的冲突

    解决jqplot与jquery-ui导入必要包时的冲突 对于一个网页中,即要有jqplot的画图,又要有jquery-ui的风格显示! 但在导入必要的包时,出现了问题! 先导入jqplot的必要包: ...

  10. 利用ie的behavior属性兼容css3的一些属性

    behavior是从Internet Explorer 5开始引入的,是一种通过使用 CSS 向 HTML 元素添加行为的方法. 但是只有 Internet Explorer 支持 behavior ...