mongodb charts对mongodb数据进行分析和展示

安装环境

系统环境:ubuntu 16.04
docker 版本:Docker version 18.09.0
mongo 版本:MongoDB shell version v3.6.4

查看系统环境命令:cat /etc/issue
查看docker 版本命令:docker --version
查看mongo 版本命令:mongo --version
权限不够的自己加sudo

什么是mongodb charts

MongoDB Charts最强大的功能之一是其内置的 聚合功能。聚合允许您通过各种指标处理收集数据,并执行平均值和标准差等计算,以进一步了解您的数据。

此外,MongoDB图表处理基于文档的数据,包括 嵌入的对象和数组。这为结构化数据提供了灵活性,使其最适合您的应用程序,同时仍保留强大的可视化功能。

简单说他就是用mongodb中存储的数据已图表的形式在web页面展示出来

官方教程

下载mongodb charts等准备工作

docker版本该跟新就更新把
mongodb charts有两个镜像,为方便管理使用Docker Compose

1、创建一个目录来存储您的图表配置。

创建一个目录来存储您的Charts配置,然后切换到新目录:

mkdir mongodb-charts
cd mongodb-charts
2、下载Docker Compose

官方下载页面

打不开的去我的网盘下载

3、启用Docker Swarm模式。

运行以下命令以启用Docker Swarm模式:

docker swarm init
4、拉镜像:

耐心等待,这个看网速,优点慢

docker pull quay.io/mongodb/charts:v0.10.0
5、测试连接

测试你这台服务器能不能链接到mongodb数据库

命令格式:

docker run --rm quay.io/mongodb/charts:v0.10.0 charts-cli test-connection mongodb://<username>:<password>@myhost.com/

看不懂的给你个演示

docker run --rm quay.io/mongodb/charts:v0.10.0 charts-cli test-connection mongodb://用户名:密码@mongodb服务器的ip:链接端口/

例如:

docker run --rm quay.io/mongodb/charts:v0.10.0 charts-cli test-connection mongodb://admin:admin@192.168.0.1:27017/

如果在这一步报了特殊字符串或未转义的字符串的错误如 -bash: !": event not found,安心,需要想着去转义,在这转义了没用,一会儿框架链接mongodb服务器的时候还会包这个错误,这时候你还不能转义,给你们支个招,
执行:set +H
整个世界都安静了,这个问题是他们自己的一个bug,天知道他们什么时候能修复

6、创建docker secret

确认MongoDB charts可以成功连接到MongoDB在执行。

echo "<Verified connection string URI from step 5>" | docker secret create charts-mongodb-uri -

例如:

echo "mongodb://admin:admin@192.168.0.1:27017/" | docker secret create charts-mongodb-uri -

配置mongodb charts

默认会部署在80端口,我的80端口已经被占用了,要把它改在其他接口

1、修改配置文件

打开前面下载的charts-docker-compose-v0.10.0.yml文件

vim charts-docker-compose-v0.10.0.yml

把ports端口映射改了就可以了,不用改443那个,那个是https用的,搞不到CA认证,不管他在这里插入图片描述

## 启动mongodb charts

1、使用Compose文件将Charts容器作为Docker Stack启动:

docker stack deploy -c charts-docker-compose-v0.10.0.yml mongodb-charts

注意
如果您使用的是不同版本的图表,请替换 v0.10.0为您的版本号。

2、验证容器是否正在运行。
通过执行以下命令检查容器是否正在运行

docker service ls

图表容器应显示为replicated 具有1/1副本的模式:

ID             NAME                    MODE         REPLICAS   IMAGE                   PORTS
j77uo3slyg4l   mongodb-charts_charts   replicated   1/1        mongodb-charts:latest   *:80->80/tcp

注意
服务的模式可能不会replicated立即生效。Docker不显示某些部署操作的状态,因此请稍等,然后重新运行。docker service ls
如果服务卡在0/1副本上并且其模式不是 replicated在延长的时间段之后,则可能未正确部署该服务。欲了解更多信息,请参阅 故障排除

创建用户

头一次启动必须在命令行创建一个用户

docker exec -it \
  $(docker container ls --filter name=_charts -q) \
  charts-cli add-user --first-name "<First>" --last-name "<Last>" \
  --email "<user@example.com>" --password "<Password>" \
  --role "<UserAdmin|User>"

放心大胆的去改,你那里不对,会有提示的,不用担心改崩了

启动和停止MongoDB图表

MongoDB图表在Docker Swarm管理的单个Docker容器中执行。

要启动Charts,请使用提供的Docker Compose文件部署堆栈:

docker stack deploy -c charts-docker-compose-v0.10.0.yml mongodb-charts

注意
如果您使用的是不同版本的图表,请替换 v0.10.0为您的版本号。

要停止图表,请让Docker删除堆栈:

docker stack rm mongodb-charts

故障排除

1、验证容器是否正在运行。
通过执行以下命令检查容器是否正在运行
docker service ls
图表容器应显示为replicated 具有1/1副本的模式:
ID             NAME                    MODE         REPLICAS   IMAGE                   PORTS
j77uo3slyg4l   mongodb-charts_charts   replicated   1/1        mongodb-charts:latest   *:80->80/tcp

如果满足以下任何条件,请继续执行下一步:
该服务停留在0/1副本上,其模式不会 replicated延长一段时间。这可能表示该服务未正确部署。
如果在运行 脚本时收到错误。charts-cli add-user
您的网络浏览器中未加载图表应用程序。

2、从正在运行的服务中检索日志。
使用上一步中的服务ID运行以下命令来检索服务日志:
docker service logs <service ID>
以下示例包含命令的示例输出。请注意,每个步骤都有一个勾号或十字形,可以解释问题:

mongodb-charts_charts.1.nzcj90stcbmz@linuxkit-00155d01851f | ✔ encryptionKeyPath
mongodb-charts_charts.1.nzcj90stcbmz@linuxkit-00155d01851f | ✔ stitchConfigTemplate
mongodb-charts_charts.1.nzcj90stcbmz@linuxkit-00155d01851f | ✔ tokens
mongodb-charts_charts.1.nzcj90stcbmz@linuxkit-00155d01851f | ✔ stitchConfig
mongodb-charts_charts.1.nzcj90stcbmz@linuxkit-00155d01851f | ✔ stitchConfigWritten (true)
mongodb-charts_charts.1.nzcj90stcbmz@linuxkit-00155d01851f | ✖
mongoDBReachable failure: Can’t connect to MongoDB at mongodb://mongod. Too many
failed attempts. Last error: failed to connect to server [mongod:27017] on first
connect [MongoNetworkError: getaddrinfo ENOTFOUND mongod mongod:27017]

3、删除并重新创建元数据库的Docker Secret。
格式错误的 连接字符串URI 在部署图表时通常会导致问题。要修改URI,您必须删除旧的docker secret:
删除Charts metadata database
docker secret rm charts-mongodb-uri
重新创建Docker Secret
docker stack deploy -c charts-docker-compose-v0.10.0.yml mongodb-charts

web展示

到这算是部署完成,docker容器启动起来之后使用服务器的ip+端口号进行访问
登录界面
在这里插入图片描述

登陆之后添加数据源就可以进行数据监控,这部分教程就不写了,英文稍微好一点的都可以看懂,英文不好的谷歌浏览器自带翻译功能,不知道怎么用的,右上方有官方文档的链接,有什么不懂的留言在问吧

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 可以使用MongoDB的Java驱动程序将数据MongoDB检索到Java应用程序中,然后使用Java Web技术(如Servlet,JSP,JSF,Struts等)将数据可视化。此外,还可以使用JavaScript库(如D3.js,Highcharts等)将数据可视化到Web页面。 ### 回答2: 要将MongoDb中的数据可视化到web页面,可以使用Java代码结合一些开源库和框架来实现。 首先,你需要使用Java开发工具,如Eclipse或IntelliJ IDEA等,来创建一个Java项目。 接下来,你需要添加MongoDb的Java驱动程序依赖,如Mongo Java Driver。可以在项目的构建文件中添加相应的依赖项,或手动下载并导入所需的jar包。 然后,你需要选择一个用于构建web页面的框架,如Spring MVC或JavaServer Faces(JSF)。在这些框架中,你可以定义控制器和视图模板,用于处理请求和呈现页面。 在控制器中,你可以编写Java代码来连接MongoDb数据库,并执行相应的查询操作。你可以使用Mongo Java Driver提供的API来执行查询,获取数据,并将其转换为Java对象。 接下来,你需要使用框架提供的模板引擎来构建HTML和CSS样式,以呈现从MongoDb中检索到的数据。可以使用模板引擎来动态生成页面,并在模板中嵌入Java代码来获取数据进行展示。 最后,你需要配置web应用程序的部署环境,如Tomcat或Jetty等,以运行你的应用程序。将编写的Java代码打包成可执行的WAR文件,并将其部署到web服务器中。 当用户访问web页面时,控制器将连接到MongoDb数据库,检索数据,并将其呈现在页面上。这样,你就可以将MongoDb中的数据可视化到web页面上了。 总结起来,要将MongoDb中的数据可视化到web页面,你需要使用Java代码来连接MongoDb数据库,并使用框架和模板引擎来构建web页面并呈现数据。这样,用户就可以通过访问web页面来查看和浏览MongoDb中的数据。 ### 回答3: 要将MongoDB中的数据可视化到web页面,可以通过编写Java代码来实现。 首先,需要使用Java开发环境(如Eclipse、IntelliJ IDEA等)来编写代码。在项目中引入MongoDB的Java驱动程序(如Mongo Java Driver),以便与MongoDB建立连接,并操作数据。 然后,可以使用Java编写一个Servlet,用于处理HTTP请求。在Servlet中,通过连接MongoDB数据库,查询数据,并将查询结果以某种格式(如JSON)返回给客户端。 接着,可以使用HTML、CSS和JavaScript来创建web页面,用于展示MongoDB中的数据。可以在页面上使用一些图表库(如echarts、Highcharts等)来呈现数据的图表,或使用表格来展示数据。 在web页面中,可以通过Ajax等方式向Servlet发送HTTP请求,获取MongoDB中的数据。然后,将数据解析并展示在页面上,以实现数据可视化。 在代码中,需要指定MongoDB的连接参数(如数据库地址、端口号、认证等),以及查询条件(如集合名、查询语句等)。 另外,为了保证代码的安全性和可维护性,还可以引入相关的框架或库(如Spring、Spring Boot等),来简化开发流程和提高代码质量。 总结来说,通过编写Java代码,可以连接MongoDB数据库,并将其中的数据可视化到web页面,为用户提供更直观、友好的数据展示方式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值