2016-11-07 05:23:57 +00:00
# Chronograf
2016-09-16 20:47:38 +00:00
2017-12-02 00:05:37 +00:00
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/chronograf/blob/master/docs/images/overview-readme.png" / >
< / p >
2016-09-16 20:47:38 +00:00
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
2017-12-02 00:05:37 +00:00
Chronograf's
[pre-canned dashboards ](https://github.com/influxdata/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 )
2016-12-06 17:24:42 +00:00
* etcd
2017-02-10 01:35:14 +00:00
* [HAProxy ](https://github.com/influxdata/telegraf/blob/master/plugins/inputs/haproxy )
2016-12-06 17:24:42 +00:00
* 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 )
2017-01-14 19:10:39 +00:00
* [System ](https://github.com/influxdata/telegraf/blob/master/plugins/inputs/system/SYSTEM_README.md )
2017-12-02 00:05:37 +00:00
* [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
2017-12-02 00:05:37 +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
2017-12-02 00:05:37 +00:00
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
2017-12-02 00:05:37 +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
2017-12-02 00:05:37 +00:00
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
2017-12-02 00:05:37 +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
2017-12-02 00:05:37 +00:00
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
2017-12-02 00:05:37 +00:00
* 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 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
2017-02-10 22:51:43 +00:00
* 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
2017-12-02 00:05:37 +00:00
Manage users, roles, permissions for
[OSS InfluxDB ](https://github.com/influxdata/influxdb ) and InfluxData's
2018-11-28 02:19:02 +00:00
[Enterprise ](https://docs.influxdata.com/enterprise/v1.6/ ) product. View
2017-12-02 00:05:37 +00:00
actively running queries and stop expensive queries on the Query Management
page.
2017-03-11 03:11:13 +00:00
### TLS/HTTPS Support
2017-12-02 00:05:37 +00:00
See
2020-01-15 22:41:01 +00:00
[Chronograf with TLS ](https://docs.influxdata.com/chronograf/latest/administration/managing-security/ )
2017-12-02 00:05:37 +00:00
for more information.
2017-02-14 16:32:37 +00:00
2017-02-23 23:31:59 +00:00
### OAuth Login
2017-12-02 00:05:37 +00:00
See
2020-01-15 22:41:01 +00:00
[Chronograf with OAuth 2.0 ](https://docs.influxdata.com/chronograf/latest/administration/managing-security/#oauth-2-0-providers-with-jwt-tokens )
2017-12-02 00:05:37 +00:00
for more information.
2016-12-06 17:24:42 +00:00
2017-01-28 00:54:32 +00:00
### Advanced Routing
2017-12-02 00:05:37 +00:00
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
2019-12-20 17:17:54 +00:00
Find the most recent version of Chronograf [here ](https://www.influxdata.com/downloads/ ).
2016-11-16 21:12:55 +00:00
2017-12-02 00:05:37 +00:00
Spotted a bug or have a feature request? Please open
[an issue ](https://github.com/influxdata/chronograf/issues/new )!
2016-11-16 21:12:55 +00:00
2016-12-05 21:02:44 +00:00
### Known Issues
2020-01-15 22:41:01 +00:00
<!-- todo: is this still an issue -->
2016-12-05 21:02:44 +00:00
The Chronograf team has identified and is working on the following issues:
2017-12-02 00:05:37 +00:00
* 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
2020-01-15 22:41:01 +00:00
[HOST LIST ](https://docs.influxdata.com/chronograf/latest/introduction/getting-started/#infrastructure-monitoring )
2017-12-02 00:05:37 +00:00
page.
2016-12-05 21:02:44 +00:00
2016-11-07 05:23:57 +00:00
## Installation
2016-09-10 00:11:18 +00:00
2017-12-02 00:05:37 +00:00
Check out the
2019-02-13 19:49:03 +00:00
[INSTALLATION ](https://docs.influxdata.com/chronograf/latest/introduction/installation/ )
2017-12-02 00:05:37 +00:00
guide to get up and running with Chronograf with as little configuration and
code as possible.
2016-11-15 02:02:54 +00:00
2017-12-02 00:05:37 +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
2017-12-02 00:05:37 +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
2017-02-28 01:43:29 +00:00
By default, chronograf runs on port `8888` .
2016-11-15 15:12:41 +00:00
### With Docker
2017-12-02 00:05:37 +00:00
2017-05-16 22:07:07 +00:00
To get started right away with Docker, you can pull down our latest release:
2016-11-15 15:12:41 +00:00
```sh
2019-02-13 19:49:03 +00:00
docker pull chronograf:latest
2016-11-15 15:12:41 +00:00
```
2016-11-15 03:03:18 +00:00
### From Source
2016-09-10 00:11:18 +00:00
2022-03-23 08:49:55 +00:00
* Chronograf works with go 1.18+, node 12 LTS, and yarn 1.7+.
2017-12-02 00:05:37 +00:00
* Chronograf requires [Kapacitor ](https://github.com/influxdata/kapacitor )
2018-11-28 02:19:02 +00:00
1.5.x+ to create and store alerts.
2016-11-15 03:03:18 +00:00
2022-03-23 08:49:55 +00:00
1. [Install Go 1.18 ](https://golang.org/doc/install )
2022-03-23 06:45:51 +00:00
1. [Install Node (version 16 LTS) ](https://nodejs.org/en/about/releases/ )
2017-02-08 15:38:55 +00:00
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 )
2018-03-28 21:47:26 +00:00
1. Build the Chronograf package:
2018-03-28 20:59:17 +00:00
```bash
go get github.com/influxdata/chronograf
cd $GOPATH/src/github.com/influxdata/chronograf
make
```
2018-03-28 21:47:26 +00:00
1. Install the newly built Chronograf package:
2018-03-28 20:59:17 +00:00
```bash
go install github.com/influxdata/chronograf/cmd/chronograf
```
2016-09-10 00:11:18 +00:00
2020-01-21 22:37:16 +00:00
### Upgrading
In order to upgrade from a Chronograf older than 1.4.0 (< =1.3.10) to 1.8 or newer, you must first upgrade to any version between 1.4.0 and the newest 1.7.x version.
2020-01-31 19:10:09 +00:00
### Compatibility
2020-02-04 23:38:36 +00:00
Chronograf 1.8 introduces a breaking change in the dashboards API (`/chronograf/v1/dashboards`) which may affect certain clients. The `id` previously was being returned as an integer. Since javascript can't cleanly handle numbers with more than 16 digits (`console.log(12345678901234567890)` yields `12345678901234567000` ), integer ids have been exposed as strings. As with other resource ids, they will remain stored internally as integers, so no database migration is required. If using `.dashboard` files to pre-populate available dashboards, those files should be updated and the `id` should be converted to a string value.
2020-01-31 19:10:09 +00:00
2016-11-15 02:02:54 +00:00
## Documentation
2016-09-10 00:11:18 +00:00
2019-02-13 19:49:03 +00:00
[Getting Started ](https://docs.influxdata.com/chronograf/latest/introduction/getting-started/ )
2017-12-02 00:05:37 +00:00
will get you up and running with Chronograf with as little configuration and
code as possible. See our
2019-02-13 19:49:03 +00:00
[guides ](https://docs.influxdata.com/chronograf/latest/guides/ ) to get familiar
2017-12-02 00:05:37 +00:00
with Chronograf's main features.
Documentation for Telegraf, InfluxDB, and Kapacitor are available at
https://docs.influxdata.com/.
Chronograf uses
2019-02-13 19:49:03 +00:00
[swagger ](https://swagger.io/specification ) to
2017-12-02 00:05:37 +00:00
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
2017-12-02 00:05:37 +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
2017-12-02 00:05:37 +00:00
Please see the [contributing guide ](CONTRIBUTING.md ) for details on contributing
to Chronograf.