ELK(日志分析系统): Elasticsearch + Logstash + Kibana集群环境部署及应用
2016-12-22 00:00
1251 查看
一.名词介绍:
ElasticSearch 搜索logstash 管理日志和事件的工具
Kibana4 功能强大的数据显示客户端
redis 缓存
二.应用包准备:
elasticsearch-1.5.0.tar.gzlogstash-1.4.2.tar.gz
kibana-4.0.1-linux-x64.tar.gz
redis-2.8.19.tar.gz
jdk-7u45-linux-x64.tar.gz
三.部署安装:
1.集群部署模式:
2.安装JDK 1.7
省略安装步骤,推荐1.7+版本以上java –version
设置java的环境变量,比如
vim ~/.bashrc
>>
export JAVA_HOME= /home/xiel/Java/jdk1.7.0_45 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH
>>
source ~/.bashrc
3.安装Redis
A.创建目录data->redis,将src中的redis-cli、redis-server文件以及redis.conf文件复制至……/data/redis目录下。
如cp –r redis-cli /home/xiel/module/redis-2.8.19.1/data/redis
B.启动:redis-server redis.conf &
C. 连接测试:redis-cli –h 127.0.0.1 -p 6379
127.0.0.1:6379> set username nieyong
OK
127.0.0.1:6379> get username
"nieyong"
表示安装配置成功。用命令介绍:
查询所有键值字段:KEYS *
清除所有数据:flushdb
查询key的list集合数量:llen
更多请查看官方API命令
注:[code=plain]./redis-cli -h
IP
-p
端口号
端口配置见
:redis.conf
中的
port
参数
4.安装Elasticsearch
A.解压elasticsearch-1.5.0.tar.gzB.进入 bin目录,启动./ elasticsearch –d(后台启动)
C.测试验证,curl -X GET http://localhost:9200
{ "status" : 200, "name" : "test-node1", "cluster_name" : "cluster", "version" : { "number" : "1.5.0", "build_hash" : "544816042d40151d3ce4ba4f95399d7860dc2e92", "build_timestamp" : "2015-03-23T14:30:58Z", "build_snapshot" : false, "lucene_version" : "4.10.4" }, "tagline" : "You Know, for Search" }
表示安装配置成功。
注:基本配置介绍../conf/ elasticsearch.yml
cluster.name: cluster(集群名称)
node.name: "test-node1"(集群结点名称)
node.master: true(是否可被选为主结点,默认true)
node.data: true(结点是否存储数据,默认true)
index.number_of_shards: 5(索引分片数)
index.number_of_replicas: 1(索引副本数)
transport.tcp.port: 9300(数据传输IP)
http.port: 9200(对外访问监听IP)
常用基本命令:
查询所有数据:curl http://localhost:9200/_search?pretty
集群健康状态:curl -XGET http://localhost:9200/_cluster/health?pretty
删除所有数据: curl -XDELETE 'http://localhost:9200/_all'
删除指定索引:curl -XDELETE 'http://10.21.16.86:9200/索引名称'
5.安装Logstash
A.解压logstash-1.4.2.tar.gz。B.进入bin目录,./logstash agent –f 配置文件 &即可。
logstash下载即可使用,命令行参数可以参考logstash flags,主要有
agent #运行Agent模式
-f CONFIGFILE #指定配置文件
web #自动Web服务
-p PORT #指定端口,默认9292
6.安装Kibana
A.解压kibana-4.0.1-linux-x64.tar.gzB.进入bin,启动./kibana即可。
C.登录访问:http://10.21.16.86:5601(默认端口为5601)
注:可以修改kibana.yml配置elasticsearch的地址和索引。
7.集成
把上面的系统集成起来首先把redis和elasticsearch都启动起来
为logstash新建一个配置文件
vi redis.conf
配置文件内容如下
input { redis { host => "127.0.0.1" port => "6379" key => "logstash:demo" data_type => "list" codec => "json" type => "logstash-redis-demo" tags => ["logstashdemo"] } } output { elasticsearch { host => "127.0.0.1" } }
用这个配置文件启动logstash agent
./logstash agent -f redis.conf &
启动logstash内置的web
./logstash web &
查看web,应该还没有数据
http://127.0.0.1:9292
在redis 加一条数据
RPUSH logstash:demo "{\"time\": \"2013-01-01T01:23:55\", \"message\": \"logstash demo message\"}"
看看elasticsearch中的索引现状
curl 127.0.0.1:9200/_search?pretty=true
curl -s http://127.0.0.1:9200/_status?pretty=true | grep logstash
再通过logstash web查询一下看看
http://127.0.0.1:9292
通过单独的kibana界面查看
http://127.0.0.1/html/kibana-latest/index.html#/dashboard/file/logstash.json
8.Logstash高级配置应用
A.Logstash文件采集输入Redis数据缓存配置。vim shipper.conf
input { file { path => ["/home/xiel/module/logstash-1.4.2/logs/stdout.log"] exclude => ["*.gz", "access.log"] } } output { stdout {} redis { host => "10.21.16.86" port => "6379" data_type => "list" key => "logstash:redis" } }
B.Logstash端口监听方式采集输入Redis数据缓存配置。
vim logstash-syslog-shipper.conf
input { tcp { port => 5140 type => syslog } udp { port => 5140 type => syslog } } filter { if [type] == "syslog" { grok { match => { "message" => "%{SYSLOGTIMESTAMP:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{DATA:syslog_program}(?:\[%{POSINT:syslog_pid}\])?: %{GREEDYDATA:syslog_message}" } add_field => [ "received_at", "%{@timestamp}" ] add_field => [ "received_from", "%{host}" ] } syslog_pri { } date { match => [ "syslog_timestamp", "MMM d HH:mm:ss", "MMM dd HH:mm:ss" ] } } } output { stdout {} redis { host => "10.21.16.86" port => "6379" data_type => "list" key => "logstash:redis" } }
C.Logstash采集Redis输入Elasticsearch索引配置。
Logstash-es.conf
input { redis { host => "127.0.0.1" port => "6379" type => "redis-input" # these settings should match the output of the agent data_type => "list" key => "logstash:redis" # We use json_event here since the sender is a logstash agent #message_format => "json_event" } } output { # stdout { debug => true debug_format => "json"} elasticsearch { #host => "127.0.0.1" cluster => "cluster" (Elasticsearch集群名称) codec => "json" protocol => "http" } stdout { codec => rubydebug } }
9.Elasticsearch常用插件安装:
1.head和插件名字一样,首推这个插件。通过head,可以查看集群几乎所有信息,还能进行简单的搜索查询,观察自动恢复的情况等等。
(2)安装
方式1
1.下载https://github.com/mobz/elasticsearch-head
2. 命令载入安装
./plugin -u file:////home/xiel/installSoft/elasticsearch-head-master.zip(存放路径)
-i mobz/elasticsearch-head
方式2
进入Elasticsearch所在bin目录下,执行以下命令
./ plugin -install Aconex/elasticsearch-head
(3) 运行es,找开http://localhost:9200/_plugin/head/
2.bigdesk
bigdesk是elasticsearch的一个集群监控工具,可以通过它来查看es集群的各种状态,如:cpu、内存使用情况,索引数据、搜索情况,http连接数等。
安装命令:\bin>plugin -install lukas-vlcek/bigdesk
进入http://localhost:9200/_plugin/bigdesk/
注:也可以像head方式1一样先下载对应插件,下载地址:
https://github.com/lukas-vlcek/bigdesk
进入bin目录下,执行:
./plugin -u file:////home/xiel/installSoft/bigdesk-master.zip(存放路径)
-i mobz/elasticsearch-head
相关文章推荐
- Ubuntu 14.04搭建ELK日志分析系统(Elasticsearch+Logstash+Kibana)
- 搭建ELK(ElasticSearch+Logstash+Kibana)日志分析系统(十三) kibana 界面查询语法
- ELK(ElasticSearch+Logstash+Kibana)+redis日志收集分析系统
- 搭建ELK(ElasticSearch+Logstash+Kibana)日志分析系统(八) elasticsearch配置外网访问及常见错误处理
- ELK(elasticsearch+logstash+kibana)实现Java分布式系统日志分析架构
- elasticsearch + logstash + kibana 搭建 ELK 日志分析系统
- ELK(elasticsearch+logstash+kibana)日志分析系统
- 搭建ELK(ElasticSearch+Logstash+Kibana)日志分析系统(七) elasticsearch.yml配置文件详细说明
- 搭建ELK(ElasticSearch+Logstash+Kibana)日志分析系统(五) 通过redis扩展logstash
- 搭建ELK(ElasticSearch+Logstash+Kibana)日志分析系统(十五) logstash将配置写在多个文件
- ELK(elasticsearch+logstash+kibana)实时日志分析系统搭建
- Linux――ELK(Elasticsearch + Logstash + Kibana)企业日志分析之linux系统history收集展示
- logstash+elasticsearch+kibana搭建日志收集分析系统
- ELK(ElasticSearch+Logstash+ Kibana)搭建实时日志分析平台
- ELK(elasticsearch+logstash+kibana)+redis实现nginx 日志的分析
- Linux——ELK(Elasticsearch + Logstash + Kibana) 搭建日志集中分析平台
- ElasticSearch + Logstash + Kibana 实时日志收集、查询和分析系统
- Centos6.5使用ELK(Elasticsearch + Logstash + Kibana) 搭建日志集中分析平台实践
- 使用kibana+logstash+elasticsearch+redis搭建分布式日志收集、分析、查询系统。
- 使用ELK(Elasticsearch + Logstash + Kibana) 搭建日志集中分析平台实践