本文共 6111 字,大约阅读时间需要 20 分钟。
说来话长,网上的安装版本太坑爹了,很多是问题是版本兼容性,导致我在测试时一直有问题,好了,现在总结一个简单又完美的安装文档
安装版本:
先下载好以下软件包
【jdk-7u75-linux-x64.gz】
【redis-2.6.16.tar.gz】
wget http://download.redis.io/releases/redis-2.6.16.tar.gz
【elasticsearch-1.3.2.tar.gz】
wget https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.5.2.tar.gz
【logstash-1.4.2.tar.gz】
wget https://download.elasticsearch.org/logstash/logstash/logstash-1.4.2.tar.gz
【kibana-latest.zip】
wget http://download.elasticsearch.org/kibana/kibana/kibana-latest.zip
好了,直接开工:
一、JAVA环境安装
1 2 3 4 5 6 7 | tar -zxvf jdk-7u75-linux-x64.gz -C /opt vi /etc/profile export JAVA_HOME= /usr/local/jdk1 .7.0_75 export JRE_HOME=${JAVA_HOME} /jre export CLASSPATH=.:${JAVA_HOME} /lib :${JRE_HOME} /lib export PATH=${JAVA_HOME} /bin :$PATH source /etc/profile |
二、安装redis
1 2 3 4 5 6 7 | tar -zxvf redis-2.6.16. tar .gz cd redis-2.6.16 make –j24 make install mkdir -p /data/redis cd /data/redis/ mkdir {db,log,etc} |
编辑配置文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | vim /data/redis/etc/redis .conf #---------------------------------------------------- #this is the config file for redis pidfile /var/run/redis .pid port 6379 timeout 0 loglevel verbose logfile /data/redis/log/redis .log databases 16 save 900 1 save 300 10 save 60 10000 rdbcompression yes dbfilename dump.rdb dir /data/redis/db/ slave-serve-stale-data yes appendonly no appendfsync everysec no-appendfsync-on-rewrite no auto-aof-rewrite-percentage 100 auto-aof-rewrite-min-size 64mb slowlog-log-slower-than 10000 slowlog-max-len 128 #vm-enabled no #vm-swap-file /tmp/redis.swap #vm-max-memory 0 #vm-page-size 32 #vm-pages 134217728 #vm-max-threads 4 #hash-max-zipmap-entries 512 #hash-max-zipmap-value 64 #list-max-ziplist-entries 512 #list-max-ziplist-value 64 set -max-intset-entries 512 zset-max-ziplist-entries 128 zset-max-ziplist-value 64 activerehashing yes |
启动和验证redis
1 2 3 | [logstash@Logstash_2 redis] # redis-server /data/redis/etc/redis.conf & [logstash@Logstash_2 redis] # redils-cli redis 127.0.0.1:6379> keys * |
三、安装elasticsearch
1 2 3 4 5 6 7 8 9 10 11 12 | #tar zxvf elasticsearch-1.5.2.tar.gz #mv elasticsearch-1.5.2 /usr/local/ #cd /usr/local/ #ln -s elasticsearch-1.5.2 elasticsearch 在最下面文件增加如下内容(权限管理和防跨站攻击): #vi config/elasticsearch.yml http.cors.allow-origin: "/.*/" http.cors.enabled: true script.disable_dynamic: true 保存后,我们可以用以下命令启动 #/usr/local/elasticsearch/bin/elasticsearch -f |
ctrl+c退出
以后台方式运行
1 | #/usr/local/elasticsearch/bin/elasticsearch -d |
验证安装,访问默认的9200端口
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | curl -X GET http: //localhost :9200 { "status" : 200, "name" : "Eros" , "version" : { "number" : "1.3.2" , "build_hash" : "dee175dbe2f254f3f26992f5d7591939aaefd12f" , "build_timestamp" : "2014-08-13T14:29:30Z" , "build_snapshot" : false , "lucene_version" : "4.9" }, "tagline" : "You Know, for Search" } |
四、安装logstash
1 2 3 4 5 6 | #tar zxvf logstash-1.4.2.tar.gz #mv logstash-1.4.2 /usr/local #cd /usr/local #ln -s logstash-1.4.2 logstash #mkdir logstash/conf #chown -R root:root logstash |
logstash分为两种:一个是服务器,一个是代理端,我们在中心服务器都要启动
先说中心服务器
启动之前我们要先配置一下文件,这个配置主要是从REDIS取出键值
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | #vi logstash.conf input { redis { host => "127.0.0.1" port => "6379" key => "nginx_logs" data_type => "list" codec => "json" type => "nginx_logs" tags => [ "nginx_logs" ] } } output { elasticsearch { host => "127.0.0.1" } } |
好了,保存后就可以启动了
1 | #logstash/bin/logstash agent -f logstash.conf & |
同样,我们要启动logstash的服务器端,也就是网页版,会启动9292
当然了,这一步也可以省去,因为后面我们配置kibana,用kibana做网页访问展示
1 | #logstash/bin/logstash web & |
以上配置完,我们的中心服务就配置完了,看下我们的进程
1 2 3 4 5 | root@admin: /yundata/data/logstash # ps -ef|grep java root 11885 11724 0 09:20 pts /0 00:00:25 /usr/local/jdk1 .7.0_75 /bin/java -Xmx500m -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -Djava.awt.headless= true -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -jar /yundata/data/logstash/vendor/jar/jruby-complete-1 .7.11.jar -I /yundata/data/logstash/lib /yundata/data/logstash/lib/logstash/runner .rb web root 12619 1 0 09:34 pts /3 00:00:13 /usr/local/jdk1 .7.0_75 /bin/java -Xms256m -Xmx1g -Xss256k -Djava.awt.headless= true -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+HeapDumpOnOutOfMemoryError -XX:+DisableExplicitGC -Delasticsearch -Des.path.home= /yundata/data/elasticsearch-1 .3.2 - cp : /yundata/data/elasticsearch-1 .3.2 /lib/elasticsearch-1 .3.2.jar: /yundata/data/elasticsearch-1 .3.2 /lib/ *: /yundata/data/elasticsearch-1 .3.2 /lib/sigar/ * org.elasticsearch.bootstrap.Elasticsearch root 13768 12251 0 10:04 pts /3 00:00:00 grep --color=auto java root 21322 1 0 Apr15 ? 00:01:51 /usr/local/jdk1 .7.0_75 /bin/java -Xmx500m -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -Djava.awt.headless= true -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -jar /yundata/data/logstash/vendor/jar/jruby-complete-1 .7.11.jar -I /yundata/data/logstash/lib /yundata/data/logstash/lib/logstash/runner .rb agent -f redis.conf |
以上配置完,就可以访问我们的服务了,
1 | http: //127 .0.0.1:9292 /index .html #/dashboard/file/logstash.json |
以这里就不上图了,不过只能正常访问还看不到数据,后面我们再采集数据
五、安装kibana
这一步可以安装,也可以不用,因为:
logstash的最新版已经内置kibana,你也可以单独部署kibana。kibana3是纯粹JavaScript+html的客户端,所以可以部署到任意http服务器上。
前提安装好APACHE,我们直接放到目录下
1 2 | unzip kibana-latest.zip cp -r kibana-latest /var/www/html |
可以修改config.js来配置elasticsearch的地址和索引。
用浏览器访问试试看
好了,至此已经安装完了,很简单吧
我们接下来采集数据:在我们的NGINX服务器,
1、安装好JAVA环境,
2、拷贝logstash
3、编写采集脚本
10.252.35.170是我们有中心服器,我们现在把数据写入到中心服务器的redis
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | #vi nginx.conf input { file { type => "nginx_logs" path => [ "/alidata/log/nginx/access/default.log" ] exclude => [ "*.gz" , "access.log" ] } } output { stdout {} redis { host => "10.252.35.170" port => 6379 data_type => "list" key => "nginx_logs" } } |
启动
1 | logstash /bin/logstash agent -f nginx.conf & |
当然以上是我们测试写的一个配置,如果要具体的配置
可以参考《》
好了,在中心服务器我们启动redis监控,看数据有没有写入
1 | # redis-cli monitor |
这样一个比较快速 简单的日志服务器就搭建好了,当然这个采集脚本还要改进,后续我们再谈,
采集到数据后,我们刷新页面,就可以看到数据了
小小激动下~~~
本文转自 jackjiaxiong 51CTO博客,原文链接:http://blog.51cto.com/xiangcun168/1680441
转载地址:http://jkgvl.baihongyu.com/