项目分析
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
1 | tar -zxvf elasticsearch-1.7.3.tar.gz /home/user/elasticsearch-1.7.3 |
安装 kibana
1 | tar -zxvf kibana-4.1.2-linux-x64.tar.gz /home/user/kibana-4.1.2-linux-x64 |
安装redis
1 | sudo apt-get install redis-server |
使用 redis-cli -v
查看安装是否成功
安装mongodb
系统架构
配置管理
开启logstash agent
1 | input { |
可以这么理解: logstash 将 /var/log/mongodb/mongod.log
作为输入, 每一次mongod.log文件有改动
都会将新添加的内容输出到 output中(这里我们配置的是redis中, 存储的类型为list)
开启logstash indexer
1 | input { |
将redis
中的内容输出到elasticsearch
开启 mongodb的日志追加模式
开启 verbose = true
操作 mongodb
使产生新的日志, 打开kabana的接口 http://127.0.0.1:5601
即可观察到: