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 ...
随机推荐
- java中数据库通用层
/** * 数据库通用类 * */ public class ConnDB { /** * 获取数据库连接对象 * @return 数据库连接对象 * */ public static Connect ...
- Oracle常用操作
比较时间 select * from up_date where update < to_date('2007-09-07 00:00:00','yyyy-mm-dd hh24:mi:ss' ...
- windows下使用git时生成sshkey和配置
在windows下如何安装git就不介绍了,我这里主要使用的TortoiseGit,主要记录下在windows上如何通过sshkey链接git 在开始菜单中找到git bash,git bash是gi ...
- ResolveUrl in ASP.NET - The Perfect Solution
原文:ResolveUrl in ASP.NET - The Perfect Solution If you are looking for ResolveUrl outside of Page/Co ...
- js 获取某年的某天是第几周
/** * 判断年份是否为润年 * * @param {Number} year */ function isLeapYear(year) { return (year % 400 == 0) || ...
- django restful webservice返回json数据
做这个demo的前提是你已经配好了python ,django ,djangorestframwork(在我的上一篇博客中有介绍,大家也可以google),mysql-python等. djangor ...
- IOS学习之路二十二(UIAlertView获得文本框内容及添加北京图片)
今天写项目要用到警告框带输入框的,于是就自己做了个小demo. 效果图大体如下: 下面简单介绍一下UIAlertView alertViewStyle属性有以下三种选项: UIAlertViewSt ...
- jQuery判断元素是否显示与隐藏
jQuery判断一个元素是显示还是隐藏,jQuery使用is()方法来判断一个元素是否显示,反之则为隐藏 核心代码 if($("#username").is(":hidd ...
- Android开发中与服务器交互时,遇到java.io.IOException: Target host must not be null的问题
当我遇到这个问题的时候,也在网上查找好半天.找到了一个和这个问题很类似的问题——java.lang.IllegalStateException: Target host must not be nul ...
- LuaBridge 中C++类和继承示例
luabridge不是一个陌生的名字,GIT上已经有3-4年多没有更新.将lua和C++相互调用封装的很方便,比如以下示例代码: /////////////////////////////////// ...