昨天 为了监控 控制台日志,选择了公司的 闪电狗进行 监控平台日志打印。
闪电狗是类似于一个web工程一样的程序,能够连接数据源,进行日志的分析,对分析后的内容或日志内容进行打印到页面上利于观察。
1.优先保证 工程代码日志 能够成功的打印到mongoDB 数据库中,
2.日志打印后,要进行 用闪电狗连接 mongoDB , 在设置一栏进行 设置。mongoDB 路径 及 账号密码,数据库表,
在所有配置正常,测试也能通过的情况下,发现,在日志分析功能中并不能将平台打印出来的 日志成功的查看。
期间我 进行了 mongoDB 的库 权限的配置,以及 日志输出的 确认。但都没有办法进行输出到闪电狗中。
经过5个小时的不断排查问题,后来在无意间 手动的 插了 一条 mongoDB 记录。
插入表数据库:db.hxapi_dog_log.insert({"message":"aaaa","timestamp":new Date()})
手动插入后,再闪电狗中成功 加载出了日志。
插入后发现,我的日志和手动插入的 关键词不一样 ,我的是 ts 和 msg
而手动插入的 是 timestamp message ,说明 日志的 规则有要求。修改 工程代码中 insert 日志的地方后,好用。
我的mongoDB version 2.6.3
在处理问题的过程中,对mongoDB 也有了 一定了解,不要依赖插件进行创建用户,插件用来连接后查看数据还可以。
1.进入mongdb/bin下:./mongo 127.0.0.1:27017
2.use 库名
3.db.auth("xxx","xxx") 分别是账号密码进行登录 库。
4.db.addUser("hxllmz","hxllmz123456") 创建用户
5.db.createRole({role:'sysadmin',roles:[],privileges:[{resource:{anyResource:true},actions:['anyAction']}]})
6.db.grantRolesToUser( "xxx" , [ { role: "sysadmin", db: "admin" } ]) 为该表用户分配系统权限