新版本logstash+elasticsearch+redis+nginx 日志收集系统搭建
2014-11-21 23:31
786 查看
实习用到的。搭环境就是个体力活,收获也有点吧。记录下过程备用。中间参考了很多文档,写的时候有些内容也直接拷过来了。都给了链接。一、环境ubuntu 12.04java 1.7.071nginx 1.6.2elasticsearch 1.1.1logstash 1.4.2redis 2.8.17二、原理:从这儿看的上图可见,一共分为5个部分,shipper是我们部署在我们需要采集日志的机器上,broker汇聚这些日志,然后统一传到indexer上,ElasitcSearch是一个搜索引擎,负责存储这些日志,并搜索。Webinterface是一个前端展示页面。logstash起到shipper和Indexer的作用,配置文件不一样。broker一般采用redis,所有的shipper上的日志统一传到redis中。indexer负责从broker中取数据,并将它存储到elasticsearch中。webinterface一般使用kibana,现在es中集成了kibana,直接使用。三、安装。java安装:参考。源文件解压到/usr/lib/jvm/java底下,然后环境变量配置在终端执行命令:
sudo vi /etc/environment红色部分为添加的信息:PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/lib/jvm/java/jdk1.7.0_71/bin:/usr/lib/jvm/java/jdk1.7.0_71/jre/bin" JAVAHOME=/usr/lib/jvm/java/jdk1.7.0_71CLASSPATH=/usr/lib/jvm/java/jdk1.7.0_71 /lib:/usr/lib/jvm/java/jdk1.7.0_71/jre/lib接着设置默认的jdk,因为系统默认可能存在别的jdk
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/java/jdk1.7.0_04/bin/java 300 sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/java/jdk1.7.0_04/bin/javac 300选择系统默认的jdk,在终端执行命令:
sudo update-alternatives --config java选择刚安装的这个。nginx安装参照。略安装logstash redis elasticsearch看这篇文章有很多帮助redis:用的是2.8.17
wget http://download.redis.io/releases/redis-2.8.17.tar.gz tar -zxf redis-2.8.17.tar.gz cd redis-2.8.17 make sudo make install可以通过redis源代码里utils/install_server下的脚本简化配置工作
cd utils sudo ./install_server.shinstall_server.sh在问你几个问题后会把redis安装为开机启动的服务,可以通过下面的命令行来启动/停止服务
sudo /etc/init.d/redis_ start/end启动redis客户端来验证安装
redis-cli > keys *elasticsearch:
cd /search sudo mkdir elasticsearch cd elasticsearch sudo wget http://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.1.1.zip sudo unzip elasticsearch-1.1.1.zipelasticsearch解压即可使用非常方便,接下来我们看一下效果,首先启动ES服务,切换到elasticsearch目录,运行bin下的elasticsearch
cd /search/elasticsearch/elasticsearch-1.1.1bin/elasticsearch访问默认的9200端口
curl -X GET http://localhost:9200[/code] 我的输出:{ "status" : 200, "name" : "Mr. Wu", "version" : { "number" : "1.1.1", "build_hash" : "f1585f096d3f3985e73456debdc1a0745f512bbc", "build_timestamp" : "2014-04-16T14:27:12Z", "build_snapshot" : false, "lucene_version" : "4.7" }, "tagline" : "You Know, for Search"}logstash:到logstash官网下载1.4.2版本的压缩包。过程可以参考logstash官方指南。cd /searchsudo mkdir logstashcd logstash把压缩包拷进去。解压即可用。sudo unzip logstash-1.4.2.zipcd logstash-1.4.2bin/logstash 参数命令行参数可以参考logstashflags,主要有[/code]agent -f 配置文件 #运行客户端,指定配置文件。web #启动web服务安装过程结束。下面开始配置。参考这里配置nginx日志文件格式,在nginx.conf里设置log_format main '$remote_addr - $remote_user [$time_local] ' '"$request" $status $body_bytes_sent ' '"$http_referer" "$http_user_agent" ';设置shipper的logstash的配置文件。新建配置文件,名称为shipper.conf内容:input { file { type => "nginx-access" path => "/usr/local/nginx/logs/access.log" }}output { stdout { } redis { host => "127.0.0.1" port => 6379 data_type => "list" key => "logstash" }}path对应的是nginx日志的路径。output中stdout在原文的内容是“debug=>truedebug_format =>json”在我机器上会提示错误,因此都删除掉。造成的后果是采集的每条日志内容都会在控制台输出。因为shipper和index都是在一台机器。所以redis也是在localhost上。6379是redis的默认端口。设置index的logstash的配置文件。新建配置文件,名称为index.conf内容为:input { redis { host => "127.0.0.1" port => "6379" data_type => "list" key => "logstash" type => "redis-input" }}filter { grok { type => "nginx-access" pattern => "%{IPORHOST:source_ip} - %{USERNAME:remote_user} \[%{HTTPDATE:timestamp}\] %{QS:request} %{INT:status} %{INT:body_bytes_sent} %{QS:http_referer} %{QS:http_user_agent}" }}output { elasticsearch { host => "127.0.0.1" }}在filter中pattern是与nginx的日志格式一致的。然后就可以启动他们了。redis安装后默认开机启动。elasticsearch启动方式如上文所示。启动作为shipper的logstash:/search/logstash/logstash-1.4.2/bin/logstash agent -f/search/logstash/logstash-1.4.2/shipper.conf &启动作为index的logstash:/search/logstash/logstash-1.4.2/bin/logstash agent -f/search/logstash/logstash-1.4.2/index.conf &启动logstash的web界面:/search/logstash/logstash-1.4.2/bin/logstash web &web页面默认的端口是9292:http://127.0.0.1:9292点底下蓝色的logstash Dashboard。用webbench测试了下nginx,在logstash中已经接收到了数据:搭建已经完成了。因为是本机,所以都是用的127.0.0.1,实际的话要根据自己的地址设置。相关资料发现有人总结的不错,看看资料,有心得再来写了。
相关文章推荐
- logstash+elasticsearch+redis+kibana3 日志收集系统搭建
- Logstash+Redis+Elasticsearch+Kibana+Nginx搭建日志分析系统
- 使用kibana+logstash+elasticsearch+redis搭建分布式日志收集、分析、查询系统。
- Logstash+Redis+Elasticsearch+Kibana 快速搭建Nginx日志查询系统
- logstash+elasticsearch+redis+kibana3 日志收集系统搭建
- Logstash+Redis+Elasticsearch+Kibana+Nginx搭建日志分析系统
- Logstash+Redis+Elasticsearch+Kibana+Nginx搭建日志分析系统
- logstash+elasticsearch+kibana搭建日志收集分析系统
- elasticsearch + logstash + kibana 搭建实时日志收集系统【原创】
- Centos 6.5 安装nginx日志分析系统 elasticsearch + logstash + redis + kibana
- ELK(ElasticSearch+Logstash+Kibana)+redis日志收集分析系统
- 搭建ELK(ElasticSearch+Logstash+Kibana)日志分析系统(五) 通过redis扩展logstash
- 使用ElasticSearch+LogStash+Kibana+Redis搭建日志管理服务
- ELK日志系统:Elasticsearch + Logstash + Kibana 搭建教程
- 安装logstash+kibana+elasticsearch+redis搭建集中式日志分析平台
- ElasticSearch + Logstash + Kibana 实时日志收集、查询和分析系统
- 安装logstash+kibana+elasticsearch+redis搭建集中式日志分析平台
- docker 中 NGINX+PHP+MYSQL+REDIS+Elasticsearch 环境搭建 (linux系统)
- 使用ElasticSearch+LogStash+Kibana+Redis搭建日志管理服务