influxdb

package module
v0.11.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 31, 2016 License: MIT Imports: 10 Imported by: 0

README

InfluxDB Circle CI

An Open-Source, Distributed, Time Series Database

InfluxDB is an open source distributed time series database with no external dependencies. It's useful for recording metrics, events, and performing analytics.

Features

  • Built-in HTTP API so you don't have to write any server side code to get up and running.
  • Data can be tagged, allowing very flexible querying.
  • SQL-like query language.
  • Clustering is supported out of the box, so that you can scale horizontally to handle your data. Clustering is currently in an alpha state.
  • Simple to install and manage, and fast to get data in and out.
  • It aims to answer queries in real-time. That means every data point is indexed as it comes in and is immediately available in queries that should return in < 100ms.

Installation

We recommend installing InfluxDB using one of the pre-built packages. Then start InfluxDB using:

  • service influxdb start if you have installed InfluxDB using an official Debian or RPM package.
  • systemctl start influxdb if you have installed InfluxDB using an official Debian or RPM package, and are running a distro with systemd. For example, Ubuntu 15 or later.
  • $GOPATH/bin/influxd if you have built InfluxDB from source.

Getting Started

Create your first database
curl -G 'http://localhost:8086/query' --data-urlencode "q=CREATE DATABASE mydb"
Insert some data
curl -XPOST 'http://localhost:8086/write?db=mydb' \
-d 'cpu,host=server01,region=uswest load=42 1434055562000000000'

curl -XPOST 'http://localhost:8086/write?db=mydb' \
-d 'cpu,host=server02,region=uswest load=78 1434055562000000000'

curl -XPOST 'http://localhost:8086/write?db=mydb' \
-d 'cpu,host=server03,region=useast load=15.4 1434055562000000000'
Query for the data
curl -G http://localhost:8086/query?pretty=true --data-urlencode "db=mydb" \
--data-urlencode "q=SELECT * FROM cpu WHERE host='server01' AND time < now() - 1d"
Analyze the data
curl -G http://localhost:8086/query?pretty=true --data-urlencode "db=mydb" \
--data-urlencode "q=SELECT mean(load) FROM cpu WHERE region='uswest'"

Documentation

Contributing

If you're feeling adventurous and want to contribute to InfluxDB, see our contributing doc for info on how to make feature requests, build from source, and run tests.

Looking for Support?

InfluxDB offers a number of services to help your project succeed. We offer Developer Support for organizations in active development, Managed Hosting to make it easy to move into production, and Enterprise Support for companies requiring the best response times, SLAs, and technical fixes. Visit our support page or contact sales@influxdb.com to learn how we can best help you succeed.

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrFieldsRequired is returned when a point does not any fields.
	ErrFieldsRequired = errors.New("fields required")

	// ErrFieldTypeConflict is returned when a new field already exists with a different type.
	ErrFieldTypeConflict = errors.New("field type conflict")

	// ErrUpgradeEngine will be returned when it's determined that
	// the server has encountered shards that are not in the `tsm1`
	// format.
	ErrUpgradeEngine = errors.New("\n\n" + upgradeMessage + "\n\n")
)

Functions

func ErrDatabaseNotFound

func ErrDatabaseNotFound(name string) error

ErrDatabaseNotFound indicates that a database operation failed on the specified database because the specified database does not exist.

func ErrRetentionPolicyNotFound added in v0.9.5

func ErrRetentionPolicyNotFound(name string) error

ErrRetentionPolicyNotFound indicates that the named retention policy could not be found in the database.

func IsClientError

func IsClientError(err error) bool

IsClientError indicates whether an error is a known client error.

func NewStatistics added in v0.9.4

func NewStatistics(key, name string, tags map[string]string) *expvar.Map

NewStatistics returns an expvar-based map with the given key. Within that map is another map. Within there "name" is the Measurement name, "tags" are the tags, and values are placed at the key "values".

Types

type Node added in v0.10.0

type Node struct {
	ID uint64
	// contains filtered or unexported fields
}

func LoadNode added in v0.10.0

func LoadNode(path string) (*Node, error)

LoadNode will load the node information from disk if present

func NewNode added in v0.10.0

func NewNode(path string) *Node

NewNode will return a new node

func (*Node) Save added in v0.10.0

func (n *Node) Save() error

Save will save the node file to disk and replace the existing one if present

Directories

Path Synopsis
v2
internal
Package internal is a generated protocol buffer package.
Package internal is a generated protocol buffer package.
cmd
influx_tsm/tsdb/internal
Package internal is a generated protocol buffer package.
Package internal is a generated protocol buffer package.
importer
v8
Package influxql implements a parser for the InfluxDB query language.
Package influxql implements a parser for the InfluxDB query language.
internal
Package internal is a generated protocol buffer package.
Package internal is a generated protocol buffer package.
pkg
services
copier/internal
Package internal is a generated protocol buffer package.
Package internal is a generated protocol buffer package.
hh
Package hh implements a hinted handoff for writes
Package hh implements a hinted handoff for writes
meta/internal
Package internal is a generated protocol buffer package.
Package internal is a generated protocol buffer package.
udp
tests
Package tsdb implements a durable time series database.
Package tsdb implements a durable time series database.
internal
Package internal is a generated protocol buffer package.
Package internal is a generated protocol buffer package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL