用ElasticSearch,LogStash,Kibana搭建实时日志收集系统

用ElasticSearch,LogStash,Kibana搭建实时日志收集系统介绍一、安装jdk7

ElasticSearch,LogStash均是java程序,所以需要jdk环境。

下载:jdk-7u71-linux-x64.rpm

rpm -ivh jdk-7u71-linux-x64.rpm

配置JDK 编辑/etc/profile文件 在文件中找到export PATH USER LOGNAME 等内容,,添加以下内容:

JAVA_HOME=/usr/java/jdk1.7.0_71JRE_HOME=/usr/java/jdk1.7.0_71/jrePATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/binCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/libexport PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL JAVA_HOME JRE_HOME CLASSPATH

检查JDK环境 使用source /etc/profile命令,使环境变量立即生效。 查看当前安装的JDK版本,命令:java -version 检查环境变量,echo $PATH

二、安装elasticsearch

elasticsearch是一个搜索引擎,负责存储日志内容。

下载安装 wget https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.4.4.tar.gz tar zxvf elasticsearch-1.4.4.tar.gz

修改config/elasticsearch.yml配置文件

: truehttp.cors.allow-origin: “/.*/” 修改bin/elasticsearch文件# 使jvm使用os,max-open-fileses_parms=ulimit -n 1000000ulimit -l unlimitedlaunch_service “

运行 ./bin/elasticsearch -d ./logs下为日志文件

检查节点状态 curl -XGET ‘:9200/_nodes?os=true&process=true&pretty=true’

{ “cluster_name” : “elasticsearch”, “nodes” : {“7PEaZbvxToCL2O2KuMGRYQ” : {“name” : “Gertrude Yorkes”,”transport_address” : “inet[/172.16.18.116:9300]”,”host” : “casimbak”,”ip” : “172.16.18.116”,”version” : “1.4.4”,”build” : “c88f77f”,”http_address” : “inet[/172.16.18.116:9200]”,”settings” : {“index”: {“number_of_replicas”: “0”,”translog”: {“flush_threshold_ops”: “5000”},”number_of_shards”: “1”,”refresh_interval”: “1”},”path” : {“logs” : “/home/jfy/soft/elasticsearch-1.4.4/logs”,”home” : “/home/jfy/soft/elasticsearch-1.4.4″},”cluster” : {“name” : “elasticsearch”},”bootstrap” : {“mlockall” : “true”},”client” : {“type” : “node”},”http” : {“cors” : {“enabled” : “true”,”allow-origin” : “/.*/”}},”foreground” : “yes”,”name” : “Gertrude Yorkes”,”max-open-files” : “ture”},”process” : {“refresh_interval_in_millis” : 1000,”id” : 13896,”max_file_descriptors” : 1000000,”mlockall” : true},…} }}

表明ElasticSearch已运行,状态与配置相符

“index”: {“number_of_replicas”: “0”,”translog”: {“flush_threshold_ops”: “5000”},”number_of_shards”: “1”,”refresh_interval”: “1”},”process” : {“refresh_interval_in_millis” : 1000,”id” : 13896,”max_file_descriptors” : 1000000,”mlockall” : true},

安装head插件监控elasticsearch状态 elasticsearch/bin/plugin -install mobz/elasticsearch-head :9200/_plugin/head/

三、安装logstash

logstash一个日志收集处理过滤程序。

LogStash分为日志收集端进程和日志处理端进程,收集端负责收集多个日志文件实时的将日志内容输出到redis队列缓存,处理端负责将redis队列缓存中的内容输出到ElasticSarch中存储。收集端进程运行在产生日志文件的服务器上,处理端进程运行在redis,elasticsearch同一服务器上。

下载 wget https://download.elasticsearch.org/logstash/logstash/logstash-1.4.2.tar.gz

redis安装配置略,但要注意监控redis队列长度,如果长时间堆集说明elasticsearch出问题了 每2S检查一下redis中数据列表长度,100次 redis-cli -r 100 -i 2 llen logstash:redis

配置Logstash日志收集进程 vi ./lib/logstash/config/shipper.conf

input {file {type => “hostapd_log”path => “/root/hostapd/hostapd.log”sincedb_path => codec => plain{charset => “GBK”}}file {type => “hkt_log”path => “/usr1/app/log/bsapp.tr”sincedb_path => “/home/jfy/soft/logstash-1.4.2/sincedb_hkt.access”start_position => “beginning”codec => plain{charset => “GBK”}}}output {redis {host => ‘172.16.18.116’data_type => ‘list’key => }}

运行收集端进程 ./bin/logstash agent -f ./lib/logstash/config/shipper.conf

积极思考造成积极人生,消极思考造成消极人生。

用ElasticSearch,LogStash,Kibana搭建实时日志收集系统

相关文章:

你感兴趣的文章:

标签云: