Carlos Aguni

Highly motivated self-taught IT analyst. Always learning and ready to explore new skills. An eternal apprentice.


Grafana 8.0.4 + Mongodb

07 Jul 2021 »

node v14.7.3

[root@localhost ~]# git clone https://github.com/JamesOsgood/mongodb-grafana.git
cd mongodb-grafana
npm i
npm build
npm serve

docker-compose.yaml

version: '3'
services:
  grafana:
    image: grafana/grafana:8.0.4
    volumes:
      - ./lib-data:/var/lib/grafana
      - ./grafana.ini:/etc/grafana/grafana.ini
      - /root/mongodb-grafana/dist:/var/lib/grafana/plugins/mongodb
    ports:
      - 3000:3000
  mongo:
    image: mongo:4.4.6
    ports:
      - 27017:27017
    environment:
      MONGO_INITDB_ROOT_USERNAME: root
      MONGO_INITDB_ROOT_PASSWORD: root
docker-compose up -d
import pymongo
import datetime
import random

c = pymongo.MongoClient("mongodb://root:root@10.6.0.13:27017")
col = c["test"]["test"]
start = datetime.datetime(2021,7,1)
end = datetime.datetime(2021,8,1)
hour = 0
while start < end:
    start = start + datetime.timedelta(hours=1)
    col.insert_one({
        "ds": start,
        "value": random.randint(1,100)
    })

db.test.aggregate([
	{"$match": {}},
	{"$project": {"name": "y", "value": "$value", "Time": "$ds", "_id": 0}}
])