Elk分别为 elasticsearch,logstash, kibana
elk资料:http://kibana.logstash.es/content/
官网为:https://www.elastic.co/products
Elasticsearch:
https://www.elastic.co/downloads/elasticsearch
https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.7.1.tar.gz
logstash:
https://www.elastic.co/downloads/logstash
https://download.elastic.co/logstash/logstash/logstash-1.5.4.tar.gz
kibana:
https://www.elastic.co/products/kibana
https://download.elastic.co/kibana/kibana/kibana-4.1.2-linux-x64.tar.gz
1、先说一下规划
2、Ubuntu安装环境:
apt-get install vim unix2dos wget curl curl-devel expect expect-devel
apt-get install gcc glibc glib2 libgcc glibc-devel glib2-devel
apt-get install m4 automake autoconf cmake cpp
apt-get install gcc-c++ libstdc++ libstdc++-devel libstdc++-docs
Wget https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.7.1.tar.gz
Wget https://download.elastic.co/logstash/logstash/logstash-1.5.4.tar.gz
Wget https://download.elastic.co/kibana/kibana/kibana-4.1.2-linux-x64.tar.gz
Wget http://download.redis.io/releases/redis-3.0.4.tar.gz
安装redis
#tar –xvzf redis-3.0.4.tar.gz
#cd redis-3.0.4
#make
#make install
#cd utils
#./install_server.sh
这样redis就安装好了
#which redis-server在/usr/local/bin/redis-server
配置文件放在/etc/redis/6379.conf文件
#redis-cli
>keys *
>set aa aavalue
>get aa 即可测试。
安装elasticsearch,解压即可
#cd
#tar –xvzf elasticsearch-1.7.1.tar.gz
安装logstash,解压即可
#cd
#tar –xvzf logstash-1.5.4.tar.gz
安装kibana,解压即可
#tar –xvzf kibana-4.1.2-linux-x64.tar.gz
Elk + redis程序安装全部完成。
由于elasticsearch和logstash是安装在一台机器上所以elasticsearch默认配置即可。
/usr/local/elasticsearch/bin/elasticsearch –d (以deamon方式启动elasticsearch)
配置logstash程序
# 在logstash\bin目录下,mkdir conf logs两个文件夹,conf用于存放配置文件,logs用于存放日志文件
在该conf目录下建立一个central.conf配置文件:
input{
redis{
host=>"127.0.0.1"
port=>6379
type=>"redis-input"
data_type=>"list"
key=>"logstash:redis"
}
}
output{
stdout{}
elasticsearch{
host=>"127.0.0.1"
port=>9200
cluster=>"elasticsearch"
codec=>"json"
protocol=>"http"
}
}
该文件说明是以redis为输入,输出到elasticsearch程序,格式为json协议为http.
注意:logstash每启动一次就会生成一个sincedb_path,防止重复导入数据,测试环境下删除ssincedb_path文件,logstash即可重新执行。
再次重复启动时打印 No sincedb_path set, generating one based on the file path
启动logstash程序如图:
#logstash agent --verbose -f conf/central.conf –log logs/stdout.log
Kibana程序现在是4版本了,自带web,端口为5601:
#cd kibana/bin
#./kibana程序即可。
服务器安装完成了,现在要在客户端收集日志
#tar –xvzf logstash-1.5.4.tar.gz
#cd logstash/bin目录
同样需要#mkdir conf logs存放配置文件和日志文件。
Gedit logstash_agent.conf
input{
file {
type=>"nginx_access"
path => "/root/elk/logstash-1.5.4/bin/data/001/*.txt"
start_position => "beginning"
sincedb_path => "/root/sincedb/info.txt"
}
}
output{
stdout { codec => rubydebug }
redis{
host=>"127.0.0.1"
port=>6379
data_type=>"list"
key=>"logstash:redis"
}
}
启动该logstash程序即可。
#logstash --verbose –f /usr/local/logstash/etc/logstash_agent.conf
这样就把日志传给了日志服务器了。
打开http://127.0.0.1:5601。就是打开kibana页面。
配置一下:
附上最简单的logstash conf
input { stdin { } }
output {
elasticsearch { host => localhost }
stdout { codec => rubydebug }
}