Open wangming1993 opened 8 years ago
mongodb运行时没有将日志文件进行切割, 随着运行时间的增加, mongod.log越来越大, 已经无法进行有效的数据分析了, 因此需要搭建一个日志分析平台, 可以索引每一条记录, 并能够提供方便快速准确的查询接口 网站的每一个访问都会在nginx的日志文件中产生一条记录, 通过kabana可以很好的展现中。
tar -zxvf elasticsearch-1.7.3.tar.gz /home/user/elasticsearch-1.7.3 cd /home/user/elasticsearch-1.7.3/bin ./elasticsearch &
访问 http://127.0.0.1:9200
tar -zxvf kibana-4.1.2-linux-x64.tar.gz /home/user/kibana-4.1.2-linux-x64 cd /home/user/kibana-4.1.2-linux-x64/bin ./kibana &
访问 http://127.0.0.1:5601/
sudo apt-get install redis-server sudo apt-get install php5-redis
使用 redis-cli -v 查看安装是否成功
redis-cli -v
[安装教程
](http://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/)
input { file { type => "mongo access log" path => ["/var/log/mongodb/mongod.log"] } file { type => "nginx access log" path => ["/var/log/nginx/*.log"] } } output { redis { host => "127.0.0.1" #redis server data_type => "list" key => "logstash:redis" } }
可以这么理解: logstash 将 /var/log/mongodb/mongod.log 作为输入, 每一次mongod.log文件有改动 都会将新添加的内容输出到 output中(这里我们配置的是redis中, 存储的类型为list)
/var/log/mongodb/mongod.log
input { redis { host => "127.0.01" data_type => "list" key => "logstash:redis" type => "redis-input" } } output { elasticsearch { embedded => false protocol => "http" host => "localhost" port => "9200" } }
将redis中的内容输出到elasticsearch
redis
elasticsearch
开启 verbose = true
verbose = true
操作 mongodb 使产生新的日志, 打开kabana的接口 http://127.0.0.1:5601 即可观察到:
mongodb
http://127.0.0.1:5601
Elastic + kibana + logstash + redis 搭建的日志分析平台
项目分析
mongodb运行时没有将日志文件进行切割, 随着运行时间的增加, mongod.log越来越大, 已经无法进行有效的数据分析了, 因此需要搭建一个日志分析平台, 可以索引每一条记录, 并能够提供方便快速准确的查询接口 网站的每一个访问都会在nginx的日志文件中产生一条记录, 通过kabana可以很好的展现中。
软件需求
1. elasticsearch 版本1.7.3 (tar download)
2. kibana 版本 Kibana 4.1.2 (64-bit tar download)
3. logstash 版本 Logstash 1.5.4 (tar download)
4. redis 版本 2.8.4
5. mongodb 版本 3.0.6
软件安装
安装 elasicsearch
访问 http://127.0.0.1:9200
安装 kibana
访问 http://127.0.0.1:5601/
安装redis
使用
redis-cli -v
查看安装是否成功安装mongodb
[安装教程
](http://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/)
系统架构
配置管理
开启logstash agent
可以这么理解: logstash 将
/var/log/mongodb/mongod.log
作为输入, 每一次mongod.log文件有改动 都会将新添加的内容输出到 output中(这里我们配置的是redis中, 存储的类型为list)开启logstash indexer
将
redis
中的内容输出到elasticsearch
开启 mongodb的日志追加模式
开启
verbose = true
操作
mongodb
使产生新的日志, 打开kabana的接口http://127.0.0.1:5601
即可观察到: