influxdb/chronograf/README.md

227 lines
9.7 KiB
Markdown
Raw Normal View History

2016-11-07 05:23:57 +00:00
# Chronograf
Chronograf is an open-source web application written in Go and React.js that
provides the tools to visualize your monitoring data and easily create alerting
and automation rules.
2016-11-15 02:02:54 +00:00
2017-02-24 19:46:58 +00:00
<p align="left">
<img src="https://github.com/influxdata/platform/chronograf/blob/master/docs/images/overview-readme.png"/>
2017-02-24 19:46:58 +00:00
</p>
2016-11-07 05:23:57 +00:00
## Features
2016-11-15 02:02:54 +00:00
### Host List
* List and sort hosts
* View general CPU and load stats
* View and access dashboard templates for configured apps
### Dashboard Templates
Chronograf's
[pre-canned dashboards](https://github.com/influxdata/platform/chronograf/tree/master/canned)
for the supported [Telegraf](https://github.com/influxdata/telegraf) input
plugins. Currently, Chronograf offers dashboard templates for the following
Telegraf input plugins:
2016-11-15 02:02:54 +00:00
2017-02-10 01:35:14 +00:00
* [Apache](https://github.com/influxdata/telegraf/blob/master/plugins/inputs/apache)
* [Consul](https://github.com/influxdata/telegraf/blob/master/plugins/inputs/consul)
* [Docker](https://github.com/influxdata/telegraf/blob/master/plugins/inputs/docker)
* [Elastic](https://github.com/influxdata/telegraf/blob/master/plugins/inputs/elasticsearch)
* etcd
2017-02-10 01:35:14 +00:00
* [HAProxy](https://github.com/influxdata/telegraf/blob/master/plugins/inputs/haproxy)
* IIS
2017-02-10 01:35:14 +00:00
* [InfluxDB](https://github.com/influxdata/telegraf/blob/master/plugins/inputs/influxdb)
* [Kubernetes](https://github.com/influxdata/telegraf/blob/master/plugins/inputs/kubernetes)
* [Memcached](https://github.com/influxdata/telegraf/blob/master/plugins/inputs/memcached)
2017-03-10 17:12:37 +00:00
* [Mesos](https://github.com/influxdata/telegraf/blob/master/plugins/inputs/mesos)
2017-02-10 01:35:14 +00:00
* [MongoDB](https://github.com/influxdata/telegraf/blob/master/plugins/inputs/mongodb)
* [MySQL](https://github.com/influxdata/telegraf/blob/master/plugins/inputs/mysql)
2016-11-15 02:02:54 +00:00
* Network
2017-02-10 01:35:14 +00:00
* [NGINX](https://github.com/influxdata/telegraf/blob/master/plugins/inputs/nginx)
* [NSQ](https://github.com/influxdata/telegraf/blob/master/plugins/inputs/nsq)
2017-04-28 19:25:59 +00:00
* [PHPfpm](https://github.com/influxdata/telegraf/blob/master/plugins/inputs/phpfpm)
2017-02-10 01:35:14 +00:00
* [Ping](https://github.com/influxdata/telegraf/blob/master/plugins/inputs/ping)
* [PostgreSQL](https://github.com/influxdata/telegraf/blob/master/plugins/inputs/postgresql)
2016-11-15 02:02:54 +00:00
* Processes
2017-02-10 01:35:14 +00:00
* [RabbitMQ](https://github.com/influxdata/telegraf/blob/master/plugins/inputs/rabbitmq)
* [Redis](https://github.com/influxdata/telegraf/blob/master/plugins/inputs/redis)
* [Riak](https://github.com/influxdata/telegraf/blob/master/plugins/inputs/riak)
* [System](https://github.com/influxdata/telegraf/blob/master/plugins/inputs/system/SYSTEM_README.md)
* [CPU](https://github.com/influxdata/telegraf/blob/master/plugins/inputs/system/CPU_README.md)
* [Disk](https://github.com/influxdata/telegraf/blob/master/plugins/inputs/system/DISK_README.md)
* [DiskIO](https://github.com/influxdata/telegraf/blob/master/plugins/inputs/system/disk.go#L136)
* [Memory](https://github.com/influxdata/telegraf/blob/master/plugins/inputs/system/MEM_README.md)
* [Net](https://github.com/influxdata/telegraf/blob/master/plugins/inputs/system/net.go)
* [Netstat](https://github.com/influxdata/telegraf/blob/master/plugins/inputs/system/NETSTAT_README.md)
* [Processes](https://github.com/influxdata/telegraf/blob/master/plugins/inputs/system/PROCESSES_README.md)
* [Procstat](https://github.com/influxdata/telegraf/blob/master/plugins/inputs/procstat/README.md)
2017-02-10 01:35:14 +00:00
* [Varnish](https://github.com/influxdata/telegraf/blob/master/plugins/inputs/varnish)
* [Windows Performance Counters](https://github.com/influxdata/telegraf/blob/master/plugins/inputs/win_perf_counters)
2016-11-15 02:02:54 +00:00
> Note: If a `telegraf` instance isn't running the `system` and `cpu` plugins
> the canned dashboards from that instance won't be generated.
2016-12-15 18:58:03 +00:00
2016-11-15 02:02:54 +00:00
### Data Explorer
Chronograf's graphing tool that allows you to dig in and create personalized
visualizations of your data.
2016-11-15 02:02:54 +00:00
* Generate and edit
[InfluxQL](https://docs.influxdata.com/influxdb/latest/query_language/)
statements with the query editor
2017-04-22 02:19:36 +00:00
* Use Chronograf's query templates to easily explore your data
2016-11-15 02:02:54 +00:00
* Create visualizations and view query results in tabular format
2017-01-28 01:07:09 +00:00
### Dashboards
Create and edit customized dashboards. The dashboards support several
visualization types including line graphs, stacked graphs, step plots, single
statistic graphs, and line-single-statistic graphs.
2017-03-25 01:22:16 +00:00
Use Chronograf's template variables to easily adjust the data that appear in
your graphs and gain deeper insight into your data.
2017-01-28 01:07:09 +00:00
2016-11-15 02:02:54 +00:00
### Kapacitor UI
A UI for [Kapacitor](https://github.com/influxdata/kapacitor) alert creation and
alert tracking.
2016-11-15 02:02:54 +00:00
* Simply generate threshold, relative, and deadman alerts
* Preview data and alert boundaries while creating an alert
* Configure alert destinations - Currently, Chronograf supports sending alerts
to:
2017-02-10 23:36:38 +00:00
* [Alerta](https://docs.influxdata.com/kapacitor/latest/nodes/alert_node/#alerta)
* [Exec](https://docs.influxdata.com/kapacitor/latest/nodes/alert_node/#exec)
2017-02-10 01:35:14 +00:00
* [HipChat](https://docs.influxdata.com/kapacitor/latest/nodes/alert_node/#hipchat)
2017-02-10 22:36:43 +00:00
* [HTTP/Post](https://docs.influxdata.com/kapacitor/latest/nodes/alert_node/#post)
2017-02-10 01:35:14 +00:00
* [OpsGenie](https://docs.influxdata.com/kapacitor/latest/nodes/alert_node/#opsgenie)
* [PagerDuty](https://docs.influxdata.com/kapacitor/latest/nodes/alert_node/#pagerduty)
* [Sensu](https://docs.influxdata.com/kapacitor/latest/nodes/alert_node/#sensu)
* [Slack](https://docs.influxdata.com/kapacitor/latest/nodes/alert_node/#slack)
2017-02-10 22:36:43 +00:00
* [SMTP/Email](https://docs.influxdata.com/kapacitor/latest/nodes/alert_node/#email)
2017-02-10 01:35:14 +00:00
* [Talk](https://docs.influxdata.com/kapacitor/latest/nodes/alert_node/#talk)
* [Telegram](https://docs.influxdata.com/kapacitor/latest/nodes/alert_node/#telegram)
2017-02-10 22:36:43 +00:00
* [TCP](https://docs.influxdata.com/kapacitor/latest/nodes/alert_node/#tcp)
2017-02-10 01:35:14 +00:00
* [VictorOps](https://docs.influxdata.com/kapacitor/latest/nodes/alert_node/#victorops)
2016-11-15 02:02:54 +00:00
* View all active alerts at a glance on the alerting dashboard
* Enable and disable existing alert rules with the check of a box
2017-04-22 02:19:36 +00:00
* Configure multiple Kapacitor instances per InfluxDB source
2016-09-10 00:11:18 +00:00
2017-03-11 03:11:13 +00:00
### User and Query Management
Manage users, roles, permissions for
[OSS InfluxDB](https://github.com/influxdata/influxdb) and InfluxData's
[Enterprise](https://docs.influxdata.com/enterprise/v1.2/) product. View
actively running queries and stop expensive queries on the Query Management
page.
2017-03-11 03:11:13 +00:00
### TLS/HTTPS Support
See
[Chronograf with TLS](https://github.com/influxdata/platform/chronograf/blob/master/docs/tls.md)
for more information.
### OAuth Login
See
[Chronograf with OAuth 2.0](https://github.com/influxdata/platform/chronograf/blob/master/docs/auth.md)
for more information.
2017-01-28 00:54:32 +00:00
### Advanced Routing
Change the default root path of the Chronograf server with the `--basepath`
option.
2017-01-28 00:54:32 +00:00
2016-11-16 21:12:55 +00:00
## Versions
The most recent version of Chronograf is
2018-05-16 00:36:04 +00:00
[v1.5.0.0](https://www.influxdata.com/downloads/).
2016-11-16 21:12:55 +00:00
Spotted a bug or have a feature request? Please open
[an issue](https://github.com/influxdata/platform/chronograf/issues/new)!
2016-11-16 21:12:55 +00:00
### Known Issues
The Chronograf team has identified and is working on the following issues:
* Chronograf requires users to run Telegraf's
[CPU](https://github.com/influxdata/telegraf/blob/master/plugins/inputs/system/CPU_README.md)
and
[system](https://github.com/influxdata/telegraf/blob/master/plugins/inputs/system/SYSTEM_README.md)
plugins to ensure that all Apps appear on the
[HOST LIST](https://github.com/influxdata/platform/chronograf/blob/master/docs/GETTING_STARTED.md#host-list)
page.
2016-11-07 05:23:57 +00:00
## Installation
2016-09-10 00:11:18 +00:00
Check out the
[INSTALLATION](https://docs.influxdata.com/chronograf/v1.4/introduction/installation/)
guide to get up and running with Chronograf with as little configuration and
code as possible.
2016-11-15 02:02:54 +00:00
We recommend installing Chronograf using one of the
[pre-built packages](https://influxdata.com/downloads/#chronograf). Then start
Chronograf using:
2016-09-10 00:11:18 +00:00
* `service chronograf start` if you have installed Chronograf using an official
Debian or RPM package.
* `systemctl start chronograf` if you have installed Chronograf using an
official Debian or RPM package, and are running a distro with `systemd`. For
example, Ubuntu 15 or later.
2016-11-07 05:23:57 +00:00
* `$GOPATH/bin/chronograf` if you have built Chronograf from source.
2016-09-10 00:11:18 +00:00
By default, chronograf runs on port `8888`.
### With Docker
To get started right away with Docker, you can pull down our latest release:
```sh
2018-05-16 00:36:04 +00:00
docker pull chronograf:1.5.0.0
```
2016-11-15 03:03:18 +00:00
### From Source
2016-09-10 00:11:18 +00:00
2018-03-27 18:26:57 +00:00
* Chronograf works with go 1.10+, node 8.x, and yarn 1.5+.
* Chronograf requires [Kapacitor](https://github.com/influxdata/kapacitor)
2018-03-29 00:14:00 +00:00
1.2.x+ to create and store alerts.
2016-11-15 03:03:18 +00:00
1. [Install Go](https://golang.org/doc/install)
1. [Install Node and NPM](https://nodejs.org/en/download/)
1. [Install yarn](https://yarnpkg.com/docs/install)
2016-11-15 03:03:18 +00:00
1. [Setup your GOPATH](https://golang.org/doc/code.html#GOPATH)
1. Build the Chronograf package:
```bash
go get github.com/influxdata/platform/chronograf
cd $GOPATH/src/github.com/influxdata/platform/chronograf
make
```
1. Install the newly built Chronograf package:
```bash
go install github.com/influxdata/platform/chronograf/cmd/chronograf
```
2016-09-10 00:11:18 +00:00
2016-11-15 02:02:54 +00:00
## Documentation
2016-09-10 00:11:18 +00:00
[Getting Started](https://docs.influxdata.com/chronograf/v1.4/introduction/getting-started/)
will get you up and running with Chronograf with as little configuration and
code as possible. See our
[guides](https://docs.influxdata.com/chronograf/v1.4/guides/) to get familiar
with Chronograf's main features.
Documentation for Telegraf, InfluxDB, and Kapacitor are available at
https://docs.influxdata.com/.
Chronograf uses
[swagger](https://swagger.io/specification://swagger.io/specification/) to
document its REST interfaces. To reach the documentation, run the server and go
to the `/docs` for example at http://localhost:8888/docs
2016-09-10 00:11:18 +00:00
The swagger JSON document is in `server/swagger.json`
2016-09-10 00:11:18 +00:00
2016-11-15 02:02:54 +00:00
## Contributing
2016-09-10 00:11:18 +00:00
Please see the [contributing guide](CONTRIBUTING.md) for details on contributing
to Chronograf.