M3
Distributed TSDB and Query Engine, Prometheus Sidecar, Metrics Aggregator, and more such as Graphite storage and query engine.
Table of Contents
More Information
Community Meetings
M3 contributors and maintainers have regular meetings. Join our M3 meetup group to receive notifications on upcoming meetings: https://www.meetup.com/M3-Community/.
You can find recordings of past meetups here: https://vimeo.com/user/120001164/folder/2290331.
Office Hours
Members of the M3 team hold office hours on the third Thursday of every month from 11AM to 1PM Eastern Standard Time (EST). To join, make sure to sign up for a slot here: https://calendly.com/chronosphere-intro/m3-community-office-hours.
Install
Dependencies
The simplest and quickest way to try M3 is to use Docker, read the M3 quickstart section for other options.
This example uses jq to format the output of API calls. It is not essential for using M3DB.
Usage
The below is a simplified version of the M3 quickstart guide, and we suggest you read that for more details.
- Start a Container
docker run -p 7201:7201 -p 7203:7203 --name m3db -v $(pwd)/m3db_data:/var/lib/m3db quay.io/m3db/m3dbnode:v1.0.0
- Create a Placement and Namespace
#!/bin/bash
curl -X POST http://localhost:7201/api/v1/database/create -d '{
"type": "local",
"namespaceName": "default",
"retentionTime": "12h"
}' | jq .
- Ready a Namespace
curl -X POST http://localhost:7201/api/v1/services/m3db/namespace/ready -d '{
"name": "default"
}' | jq .
- Write Metrics
#!/bin/bash
curl -X POST http://localhost:7201/api/v1/json/write -d '{
"tags":
{
"__name__": "third_avenue",
"city": "new_york",
"checkout": "1"
},
"timestamp": '\"$(date "+%s")\"',
"value": 3347.26
}'
- Query Results
Linux
curl -X "POST" -G "http://localhost:7201/api/v1/query_range" \
-d "query=third_avenue" \
-d "start=$(date "+%s" -d "45 seconds ago")" \
-d "end=$( date +%s )" \
-d "step=5s" | jq .
macOS/BSD
curl -X "POST" -G "http://localhost:7201/api/v1/query_range" \
-d "query=third_avenue > 6000" \
-d "start=$(date -v -45S "+%s")" \
-d "end=$( date +%s )" \
-d "step=5s" | jq .
Contributing
You can ask questions and give feedback in the following ways:
M3 welcomes pull requests, read contributing guide to help you get setup for building and contributing to M3.
This project is released under the Apache License, Version 2.0.