Logstash+kibana+ ElasticSearch+redis
这是之前Logstash+kibana+ ElasticSearch+redis 安装时,自己整理的初学者容易看懂的资料,按照以下的步骤也已经完成了安装。
这里有二台服务器:
192.168.148.201
logstash index,redis,ElasticSearch,kibana,JDK
192.168.148.129 logstash agent,JDK
1 系统各部分应用介绍
Logstash:一个完全开源对日志进行收集、分析和存储的工具。他可以做系统的log收集,转载的工具。同时集成各类日志插件,对日志查询和分析的效率有很大的帮助.一般使用shipper作为log收集、indexer作为log转载.
- Logstash shipper收集log 并将log转发给redis 存储
- Logstash indexer从redis中读取数据并转发给elasticsearch
redis:在这里做一个缓存的机制,logstash shipper将log转发到redis(只做队列处理不做存储)。Logstash indexer从redis中读取数据并转发给elasticsearch。 这里加上redis是为了提高Logstash shipper的日志提交到Logstash indexer的速度,同时避免由于突然断电等导致的数据的丢失。
Elasticsearch:开源的搜索引擎框架,它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。也可进行多数据集群,提高效率。这里的目的是从redis中读取数据,并转发到kibana中。
Kibana:漂亮的界面展示,用web界面将数据挖掘后的数据以图表等形式进行形象的展示。
以下是工作的一个流程图:

2 服务端的安装步骤(192.168.148.201)
2.1 JDK安装
1.下载JDK:jdk-8u25-linux-x64.tar.gz
2.解压安装:
我们把JDK安装到这个路径(自己定义):/opt
cd /opt
tar -zxvf jdk-8u25-linux-x64.tar.gz
出现文件夹 jdk1.8.0_25。
3.配置环境变量:vim ~/.bashrc
在打开的文件的末尾添加,
export JAVA_HOME=/opt/jdk1..0_25
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
保存退出,然后输入下面的命令来使之生效
source ~/.bashrc
4.配置默认JDK
sudo update-alternatives --install /usr/bin/java java /opt/jdk1..0_25/bin/java sudo update-alternatives --install /usr/bin/java java /opt/jdk1..0_25/bin/javac
注意:如果以上两个命令出现找不到路径问题,只要重启一下计算机在重复上面两行代码就OK了。
执行下面的代码可以看到当前各种JDK版本和配置:
sudo update-alternatives --config java
5.测试
打开一个终端,输入下面命令:
java -version
检测java命令是否已经可以运行了。
2.2 redis
下面是redis.conf的主要配置参数的意义:
- daemonize:是否以后台daemon方式运行
- pidfile:pid文件位置
- port:监听的端口号
- timeout:请求超时时间
- loglevel:log信息级别
- logfile:log文件位置
- databases:开启数据库的数量
- save * *:保存快照的频率,第一个*表示多长时间,第三个*表示执行多少次写操作。在一定时间内执行一定数量的写操作时,自动保存快照。可设置多个条件。
- rdbcompression:是否使用压缩
- dbfilename:数据快照文件名(只是文件名,不包括目录)
- dir:数据快照的保存目录(这个是目录)
- appendonly:是否开启appendonlylog,开启的话每次写操作会记一条log,这会提高数据抗风险能力,但影响效率。
- appendfsync:appendonlylog如何同步到磁盘(三个选项,分别是每次写都强制调用fsync、每秒启用一次fsync、不调用fsync等待系统自己同步)
这时你可以打开一个终端进行测试了,配置文件中默认的监听端口是6379
1.部署一个redis单机实例:
wget https://github.com/antirez/redis/archive/3.0.0-rc1.tar.gz
2.
tar zxvf 3.0.-rc1.tar.gz
3.编译
需要说明的事,redis的安装非常简单,已经有现成的Makefile文件,直接运行make命令即可。
make
make install
4.redis.conf配置文件为:
daemonize yes
port
appendonly yes
5.启动:
redis.server redis.conf
6.测试
redis-cli 127.0.0.1:> quit /bin redis-server redis.conf &
2.3 logstash
下载并解压:
$ wget https://download.elasticsearch.org/logstash/logstash/logstash-1.4.2.tar.gz $ tar zxvf logstash-1.4..tar.gz -C /usr/local/ $ cd /usr/local/logstash-1.4. $ mkdir conf logs
配置文件conf/central.conf:
input {
file {
path => "/var/log"
type => "syslog"
exclude => "*.gz"
}
redis {
host => "127.0.0.1"
port =>
type => "redis-input"
data_type => "list"
key => "key_count"
}
}
output {
elasticsearch {
host => "192.168.148.201"
port => ""
}
启动:
root@user:/opt/logstash-1.4.# bin/logstash agent --verbose --config conf/central.conf --log logs/stdout.log
2.4 ElasticSearch
$ wget https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.3.4.tar.gz
$ elasticsearch使用默认配置即可,默认的cluster name为:elasticsearch;
启动:
lasticsearch -d
$ bin/elasticsearch解压即可使用非常方便,接下来我们看一下效果,首先启动ES服务,切换到elasticsearch目录,运行bin下的elasticsearch
cd /search/elasticsearch/elasticsearch-0.90./bin ./elasticsearch start
访问默认的9200端口
curl -X GET http://localhost:9200
3.启动服务
# elasticsearch-1.1./bin/elasticsearch & # logstash-1.4./bin/logstash -f logstash-1.4./conf/logstash-apache.conf &
2.5部署Kibana
$ wget https://download.elasticsearch.org/kibana/kibana/kibana-3.1.1.tar.gz $ tar zxvf kibana-3.1..tar.gz
修改配置文件config.js,仅需要配置elasticsearch的地址即可:
elasticsearch: "http://192.168.148.201:9200"
cp -r kibana-3.1. /var/www/html/kibana3
出现问题:kibana 的WEB界面无法出现,80端口已经被用
cd /etc/apache2/sites-available cp -default.conf kibana3.conf vim kibana3.conf
<VirtualHost *:>#修改端口
ServerAdmin 192.168.148.201/kibana3#有没有都没关系的
DocumentRoot /var/www/html/kibana3#kibana的根目录
<Directory /var/www/html/kibana3>
Options None
AllowOverride None
Allow from all
</Directory>
CustomLog /var/www/html/kibana combined#放日志的地方
</VirtualHost>
cd /etc/apache2 vim ports.conf
Listen
Listen #新加的
<IfModule ssl_module>
Listen
</IfModule>
<IfModule mod_gnutls.c>
Listen
</IfModule>
各种重启:
cd /var/www/html/kibana3/app/dashboards
mv logstash.json default.json
/etc/init.d/apache2 restart
cd /opt
elasticsearch-1.1./bin/elasticsearch &
logstash-1.4./bin/logstash -f logstash-1.4./conf/logstash.conf &
3.客户端的安装
安装服务端安装:
bin/logstash -e 'input { stdin { } } output { stdout { codec => rubydebug } }'
我们再输入一些字符,这次我们输入"goodnight moon":
goodnight moon { "message" => "goodnight moon", "@timestamp" => "2013-11-20T23:48:05.335Z", "@version" => "", "host" => "my-laptop" }
netstat –atln 看端口信息
4.访问:http://192.168.148.201:8080

欢迎界面


Logstash+kibana+ ElasticSearch+redis的更多相关文章
- log4net.redis+logstash+kibana+elasticsearch+redis 实现日志系统
前端时间写了个随笔 log4net.NoSql +ElasticSearch 实现日志记录 ,因项目原因需要把日志根java平台的同事集成采用logstash+kibana+elasticsearch ...
- 安装logstash+kibana+elasticsearch+redis搭建集中式日志分析平台
安装logstash+kibana+elasticsearch+redis搭建集中式日志分析平台 2014-01-16 19:40:57| 分类: logstash | 标签:logstash ...
- 使用Elasticsearch、Logstash、Kibana与Redis(作为缓冲区)对Nginx日志进行收集(转)
摘要 使用Elasticsearch.Logstash.Kibana与Redis(作为缓冲区)对Nginx日志进行收集 版本 elasticsearch版本: elasticsearch-2.2.0 ...
- 使用ELK(Elasticsearch + Logstash + Kibana) 搭建日志集中分析平台实践--转载
原文地址:https://wsgzao.github.io/post/elk/ 另外可以参考:https://www.digitalocean.com/community/tutorials/how- ...
- (转)开源分布式搜索平台ELK(Elasticsearch+Logstash+Kibana)入门学习资源索引
Github, Soundcloud, FogCreek, Stackoverflow, Foursquare,等公司通过elasticsearch提供搜索或大规模日志分析可视化等服务.博主近4个月搜 ...
- ELK6.0部署:Elasticsearch+Logstash+Kibana搭建分布式日志平台
一.前言 1.ELK简介 ELK是Elasticsearch+Logstash+Kibana的简称 ElasticSearch是一个基于Lucene的分布式全文搜索引擎,提供 RESTful API进 ...
- 开源分布式搜索平台ELK(Elasticsearch+Logstash+Kibana)入门学习资源索引
from: http://www.w3c.com.cn/%E5%BC%80%E6%BA%90%E5%88%86%E5%B8%83%E5%BC%8F%E6%90%9C%E7%B4%A2%E5%B9%B ...
- Elasticsearch + logstash + kibana 配置
Elasticsearch 配置 Elasticsearch不仅仅是Lucene和全文搜索,我们还能这样去描述它: 分布式的实时文件存储,每个字段都被索引并可被搜索 分布式的实时分析搜索引擎 可以扩展 ...
- GlusterFS + lagstash + elasticsearch + kibana 3 + redis日志收集存储系统部署 01
因公司数据安全和分析的需要,故调研了一下 GlusterFS + lagstash + elasticsearch + kibana 3 + redis 整合在一起的日志管理应用: 安装,配置过程,使 ...
随机推荐
- QT核心编程之Qt线程 (c)
QT核心编程之Qt线程是本节要介绍的内容,QT核心编程我们要分几个部分来介绍,想参考更多内容,请看末尾的编辑推荐进行详细阅读,先来看本篇内容. Qt对线程提供了支持,它引入了一些基本与平台无关的线程类 ...
- weak 弱引用的实现方式
来源:冬瓜争做全栈瓜 链接:https://desgard.com/weak/ 对于 runtime 的分析还有很长的路,最近在写 block 系列的同时,也回顾一下之前疏漏的细节知识.这篇文章是关于 ...
- iOS runtime 运行时( 二 )
我们在编程过程中,如果使用到了runtime(运行时),我们几乎都是想动态的改变这个类的信息,包括方法,属性,balabala的,并且获得这个类的一些信息,等等,下面我们就来看看怎么通过runtime ...
- WPF 之 窗口间传参数
有如下几种方式: 1) 声明个全局变量,就是App.xaml里面声明:在所有窗体里面都可以引用 Application.Current.Properties["ArgumentName&qu ...
- K - Ancient Messages(dfs求联通块)
K - Ancient Messages Time Limit:3000MS Memory Limit:0KB 64bit IO Format:%lld & %llu Subm ...
- oracle 11g ora-01843 无效月份
PS:进入注册表--regedit--HKEY_LOCAL_MACHINE--SOFTWARE--ORACLE-KEY_OraDb11g_home1---NLS_LANG(双击此项设置的键值为AMER ...
- jquery plugins —— datatables 搜索后汇总
网上的例子 http://datatables.club/example/plug-ins/api.html只能对当前页面或所有数据进行汇总,不能对搜索结果数据汇总. 以下是对datatables自带 ...
- LearnMVC5-AddAModel
本人是MVC新手,将从微软官网学习MVC并将看过的英文文档翻译成中文,由于本人英文水平不好,有翻译不准确.错误的地方万望指出,我看到后将会在第一时间修改.另外也希望这一系列文章能为后来者起到引导作用. ...
- mysql-DDL-创建数据库
创建一个数据库 • 建立数据库操作: 语法: create database 数据库名 叙述:创建一个具有指定名称的数据库.如果要创建的 数据库已经存在,或者没有创建它的适当权限,则此 语句失败. 例 ...
- oracle PL/SQL(procedure language/SQL)程序设计之触发器(trigger)
创建触发器 触发器类似于过程和函数,都拥有声明.执行和异常处理过程的带名PL/SQL块.与包类似,触发器必须存储在数据库中.前面已经讲过,过程是显式地通过过程调用执行的,同时过程调用可以传递参数.与之 ...