热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

MongoDBCharts安装和使用

MongoDBCharts安装和使用-MongoDBCharts安装和使用最近发现了个有意思的东西,MongoDBCharts,它是MongoDB官方提供的用于图表展示MongoD
MongoDB Charts 安装和使用
最近发现了个有意思的东西,MongoDB Charts ,它是MongoDB官方提供的 用于图表展示MongoDB数据的

效果图:

1.什么是MongoDB Charts

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

并且它提供了Embed Chart 功能 方便嵌入到你自己Web程序中

2.安装和运行MongoDB Charts

安装过程步骤挺多的,但是对着官方教程一步步来 还是很简单的

官方MongoDB Charts 安装文档

2.1 准备环境

  • Mac/Linux 系统
  • Docker version 18.09.1
  • MongoDB shell version v4.2.0

由于MongoDB Charts需要使用Docker安装,所以需要有Dokcer环境

2.2 创建一个目录存储图表配置

mkdir mongodb-charts
cd mongodb-charts

2.3 下载MongoDB Charts Docker Compose file

https://www.mongodb.com/downl...

Dokcer Compose file

附上我下载的文件

version: '3.3'

services:
  charts:
    image: quay.io/mongodb/charts:19.12.1
    hostname: charts
    ports:
      # host:container port mapping. If you want MongoDB Charts to be
      # reachable on a different port on the docker host, change this
      # to :80, e.g. 8888:80.
      - 80:80
      - 443:443
    volumes:
      - keys:/mongodb-charts/volumes/keys
      - logs:/mongodb-charts/volumes/logs
      - db-certs:/mongodb-charts/volumes/db-certs
      - web-certs:/mongodb-charts/volumes/web-certs
    environment:
      # The presence of following 2 environment variables will enable HTTPS on Charts server.
      # All HTTP requests will be redirected to HTTPS as well.
      # To enable HTTPS, upload your certificate and key file to the web-certs volume,
      # uncomment the following lines and replace with the names of your certificate and key file.
      # CHARTS_HTTPS_CERTIFICATE_FILE: charts-https.crt
      # CHARTS_HTTPS_CERTIFICATE_KEY_FILE: charts-https.key

      # This environment variable controls the built-in support widget and
      # metrics collection in MongoDB Charts. To disable both, set the value
      # to "off". The default is "on".
      CHARTS_SUPPORT_WIDGET_AND_METRICS: 'on'
      # Directory where you can upload SSL certificates (.pem format) which
      # should be considered trusted self-signed or root certificates when
      # Charts is accessing MongoDB servers with ?ssl=true
      SSL_CERT_DIR: /mongodb-charts/volumes/db-certs
    networks:
      - backend
    secrets:
      - charts-mongodb-uri

networks:
  backend:

volumes:
  keys:
  logs:
  db-certs:
  web-certs:

secrets:
  charts-mongodb-uri:
    external: true

2.4 Enable Docker Swarm mode

docker swarm init

2.5 拉取MongoDB Charts image 镜像

对应你下载的 Docker Compose file 版本

docker pull quay.io/mongodb/charts:19.12.1

2.6 测试连接到 MongoDB 数据库

官方示例

docker run --rm quay.io/mongodb/charts:19.12.1 charts-cli test-connection 'mongodb://:@host.docker.internal'

我的mongo在本地 注意这里不能使用 localhost,要使用 host.dokcer.internal

docker run --rm quay.io/mongodb/charts:19.12.1 charts-cli test-connection 'mongodb://host.docker.internal'

正确案例:

错误案例:

2.7 创建一个Docker secret 为MongoDB Charts

官方案例:

echo "" | docker secret create charts-mongodb-uri -

我的输入:

echo "mongodb://host.docker,internal" | docker secret create charts-mongodb-uri -

image-20200421193557883

2.8 运行MongoDB Charts 容器

docker stack deploy -c charts-docker-swarm-19.12.1.yml mongodb-charts

2.9 查看运行状态

docker service ls

2.10 创建 MongoDB Charts 访问 Users账号

MAC/Linux 官方案例:

docker exec -it \
  $(docker container ls --filter name=_charts -q) \
  charts-cli add-user --first-name "" --last-name "" \
  --email "" --password "" \
  --role ""

Windows 官方案例

docker exec -it `
  $(docker container ls --filter name=_charts -q) `
  charts-cli add-user --first-name "" --last-name "" `
  --email "" --password "" `
  --role ""

就是输入 登录的账号 密码 以及权限等

image-20200421195802998

如果输入错误 会有提示 而且很详细

2.11 直接访问 Compose file 里配置的端口

默认 - 80:80 端口

直接访问 localhost:80

至此 MongoDB Charts 已经安装并且成功运行了,下面开始讲解 如何使用 MongoDB Charts 去创建图表等

3. MongoDB Charts 使用

3.1 首先先关联一个 MongoDB 数据源

注意:地址 mongodb://host.docker.internal 不是 mongodb://localhost:27017

3.2 选择一个MongoDB数据库

3.3 在Dashboard 一栏New Dashboard

输入 Title 和 描述

image-20200421200543195

image-20200421200555021

3.4 新增一个Chart

3.4.1 选择一个Collections

3.4.2 选择Chart Type

就是你要的图表类型

image-20200421211532638

3.4.3 需求: 根据订单状态 去统计图表

拖拽你要分组得 字段 并且按id 进行count计算

并且可以添加过滤条件 以及一些自定义的设置(如 图表里显示的label)

4. Embed Chart 导出你的图表 嵌入到自己的Web环境

4.1 保存你设置好的图表后

选择Embed Chart

4.2 开启匿名访问图表 并且复制 Embed Code

可以看到它会提供一段代码,只要复制这段代码到自己的环境中去即可

4.3 创建HTML 文件








 
     Mongodb-Charts 
    

5. 总结

本篇主要讲解 MongoDB Charts 的安装以及如何运行它 ,并且简单介绍了一下 如何使用 MongoDB Charts 去绘制一个图表,最后讲解了 如何导出你的图表并且嵌入到自己的HTML 页面中去 , 对着官方文档一步步来就可以了 还是很简单的 加油吧!


推荐阅读
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • 微软Exchange服务器遭遇2022年版“千年虫”漏洞
    微软Exchange服务器在新年伊始遭遇了一个类似于‘千年虫’的日期处理漏洞,导致邮件传输受阻。该问题主要影响配置了FIP-FS恶意软件引擎的Exchange 2016和2019版本。 ... [详细]
  • 本文探讨了如何在发布 XenApp 应用时,通过命令行参数实现启动时的参数传递。特别介绍了静态和动态参数传递的方法,并详细解释了 ICA 文件中两种参数传递方式的区别及安全检查机制。 ... [详细]
  • DNN Community 和 Professional 版本的主要差异
    本文详细解析了 DotNetNuke (DNN) 的两种主要版本:Community 和 Professional。通过对比两者的功能和附加组件,帮助用户选择最适合其需求的版本。 ... [详细]
  • 将Web服务部署到Tomcat
    本文介绍了如何在JDeveloper 12c中创建一个Java项目,并将其打包为Web服务,然后部署到Tomcat服务器。内容涵盖从项目创建、编写Web服务代码、配置相关XML文件到最终的本地部署和验证。 ... [详细]
  • UNP 第9章:主机名与地址转换
    本章探讨了用于在主机名和数值地址之间进行转换的函数,如gethostbyname和gethostbyaddr。此外,还介绍了getservbyname和getservbyport函数,用于在服务器名和端口号之间进行转换。 ... [详细]
  • MongoDB集群配置:副本集与分片详解
    本文详细介绍了如何在MongoDB中配置副本集(Replica Sets)和分片(Sharding),并提供了具体的步骤和命令,帮助读者理解并实现高可用性和水平扩展的MongoDB集群。 ... [详细]
  • 本文详细解析了Python中的os和sys模块,介绍了它们的功能、常用方法及其在实际编程中的应用。 ... [详细]
  • 网络运维工程师负责确保企业IT基础设施的稳定运行,保障业务连续性和数据安全。他们需要具备多种技能,包括搭建和维护网络环境、监控系统性能、处理突发事件等。本文将探讨网络运维工程师的职业前景及其平均薪酬水平。 ... [详细]
  • 深入解析 Apache Shiro 安全框架架构
    本文详细介绍了 Apache Shiro,一个强大且灵活的开源安全框架。Shiro 专注于简化身份验证、授权、会话管理和加密等复杂的安全操作,使开发者能够更轻松地保护应用程序。其核心目标是提供易于使用和理解的API,同时确保高度的安全性和灵活性。 ... [详细]
  • 优化局域网SSH连接延迟问题的解决方案
    本文介绍了解决局域网内SSH连接到服务器时出现长时间等待问题的方法。通过调整配置和优化网络设置,可以显著缩短SSH连接的时间。 ... [详细]
  • 本文介绍如何使用布局文件在Android应用中排列多行TextView和Button,使其占据屏幕的特定比例,并提供示例代码以帮助理解和实现。 ... [详细]
  • 深入理解Redis的数据结构与对象系统
    本文详细探讨了Redis中的数据结构和对象系统的实现,包括字符串、列表、集合、哈希表和有序集合等五种核心对象类型,以及它们所使用的底层数据结构。通过分析源码和相关文献,帮助读者更好地理解Redis的设计原理。 ... [详细]
  • 选择适合生产环境的Docker存储驱动
    本文旨在探讨如何在生产环境中选择合适的Docker存储驱动,并详细介绍不同Linux发行版下的配置方法。通过参考官方文档和兼容性矩阵,提供实用的操作指南。 ... [详细]
author-avatar
fanhua1
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有