Logstash安装搭建(一)
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安装搭建(一)的更多相关文章
- Elasticsearch + Logstash + Kibana 搭建教程
# ELK:Elasticsearch + Logstash + Kibana 搭建教程 Shipper:日志收集者.负责监控本地日志文件的变化,及时把日志文件的最新内容收集起来,输出到Redis暂存 ...
- 用ElasticSearch,LogStash,Kibana搭建实时日志收集系统
用ElasticSearch,LogStash,Kibana搭建实时日志收集系统 介绍 这套系统,logstash负责收集处理日志文件内容存储到elasticsearch搜索引擎数据库中.kibana ...
- 02篇ELK日志系统——升级版集群之kibana和logstash的搭建整合
[ 前言:01篇LK日志系统已经把es集群搭建好了,接下来02篇搭建kibana和logstash,并整合完成整个ELK日志系统的初步搭建. ] 1.安装kibana 3台服务器: 192.168.2 ...
- 键盘侠Linux干货| ELK(Elasticsearch + Logstash + Kibana) 搭建教程
前言 Elasticsearch + Logstash + Kibana(ELK)是一套开源的日志管理方案,分析网站的访问情况时我们一般会借助 Google / 百度 / CNZZ 等方式嵌入 JS ...
- centos6.5下Zabbix系列之Zabbix安装搭建及汉化
最近在研究zabbix,在整理完成之后就有了写一下总结博客的想法,在我研究zabbix的时候给我很大帮助的是it你好,博客地址http://itnihao.blog.51cto.com/他做的zabb ...
- win7下安装搭建PHP环境
由于最近新找的工作要求php,所以在电脑上安装搭建了PHP环境.主要参考了这篇文章http://www.leapsoul.cn/?p=695(之前第一次搭建时由于版本问题没有弄好) 1.先装apach ...
- centos6.5下Zabbix系列之Zabbix安装搭建及汉化 (转)
最近在研究zabbix,在整理完成之后就有了写一下总结博客的想法,在我研究zabbix的时候给我很大帮助的是it你好,博客地址 http://itnihao.blog.51cto.com/他做的zab ...
- ElasticSearch Kibana 和Logstash 安装x-pack记录
前言 最近用到了ELK的集群,想想还是用使用官方的x-pack的monitor功能对其进行监控,这里先上图看看: 环境如下: 操作系统: window 2012 R2 ELK : elasticsea ...
- 【阿里云】在 Windows Server 2016 下使用 FileZilla Server 安装搭建 FTP 服务
Windows Server 2016 下使用 FileZilla Server 安装搭建 FTP 服务 一.安装 Filezilla Server 下载最新版本的 Filezilla Server ...
随机推荐
- Web层后端权限模块
从零开始编写自己的C#框架(19)——Web层后端权限模块 不知不觉本系统写了快三个月了,最近写页面的具体功能时感觉到有点吃力,很多地方如果张嘴来讲的话可以说得很细,很全面,可写成文字的话,就不太 ...
- Android开发方法学
这是Cyril Mottier最近更新的一篇文章,原谅地址在这里:Android开发方法学. 这篇文章是他介绍自己所在项目小组(Capitaine Train Android Team)设计.开发时的 ...
- NLP startup material
The Association for Computational Linguistics(ACL,URL:http://aclweb.org/) Computational Linguistics( ...
- ASP.NET Web API的HttpController是如何被激活的?
ASP.NET Web API的HttpController是如何被激活的? HttpController与HttpControllerDescriptor 程序集的解析 HttpController ...
- 算法打基础——符号&递归解法
第二节 算法复杂度分析的的基本符号及 递归关系式下的复杂度解法 这次的主要知识点是: 1.各种复杂度符号 2.递归复杂度解法: 分为三种 替换法(猜!) 递归树法 主定理 1各种复杂度符号 ...
- [转]Jailbreak Detection Methods
Source: http://blog.spiderlabs.com/2014/10/jailbreak-detection-methods.html Many iOS applications co ...
- DevExpress 学习使用之 LookUpEdit
我的机器上,Winform 控件中的 LookUp 有1+3 种,在我们国家也被称为 4 种,你们那儿呢? 这 1+3 种 LookUpEdit 分别是 LookUpEdit.GridLookUpEd ...
- [转]gdb 调试 objc
源:http://bbs.pediy.com/showthread.php?t=159549 3. 在没有 symbols的情况下,想要下断 objc method 或者 private framew ...
- Js面向对象编程
Js面向对象编程 1. 什么是面向对象编程? 我也不说不清楚什么是面向对象,反正就那么回事吧. 编程有时候是一件很快乐的事,写一些小游戏,用编程的方式玩游戏等等 2. Js如何定义一个 ...
- jQuery event的复制粘贴的坑
jQuery为了兼容性会把系统暴露出来的event重新整理一遍,但是复制粘贴的event就被丢掉了. 所以要在所有原生浏览器想实现复制粘贴,大家都用flash实现了.其实只要用原生的方法捕获事件就ok ...