Jelajahi Sumber

Adding docker documentation for the TICK stack

Jonathan A. Sternberg 9 tahun lalu
induk
melakukan
43d8711841

+ 1 - 0
chronograf/README-short.txt

@@ -0,0 +1 @@
+Chronograf is a visualization tool for time series data in InfluxDB.

+ 45 - 0
chronograf/content.md

@@ -0,0 +1,45 @@
+# Chronograf
+
+Chronograf is a simple to install graphing and visualization application that you deploy behind your firewall to perform ad-hoc exploration of your InfluxDB data. It includes support for templates and a library of intelligent, pre-configured dashboards for common data sets.
+
+%%LOGO%%
+
+## Using this image
+
+By default, Chronograf listens on port `10000` and stores its data in a volume at `/var/lib/chronograf`. You can start an instance with:
+
+```console
+$ docker run -p 10000:10000 chronograf
+```
+
+You can also use a custom configuration file or environment variables to modify Chronograf settings.
+
+### Using a custom config file
+
+A sample configuration file can be obtained by:
+
+```console
+$ docker run --rm chronograf -sample-config > chronograf.toml
+```
+
+Once you've customized `chronograf.conf`, you can run the Chronograf container with it mounted in the expected location (note the name change!):
+
+```console
+$ docker run -d \
+      -p 10000:10000 \
+      -v /path/to/chronograf.toml:/opt/chronograf/config.toml
+```
+
+### Using environment variables (preferred)
+
+You may have noticed that the default `Bind` value in the configuration is set to `127.0.0.1:10000`, though the container will listen on `0.0.0.0:10000` instead. This is due to a `CHRONOGRAF_BIND` environment variable being set in the Dockerfile to provide a sensible default within the Docker context. Other environment variables can override configuration settings following the `CamelCase` to `CHRONOGRAF_CAMEL_CASE` pattern:
+
+| SETTING                 | ENV VAR                               |
+|-------------------------|---------------------------------------|
+| Bind                    | CHRONOGRAF_BIND                       |
+| LocalDatabase           | CHRONOGRAF_LOCAL_DATABASE             |
+| QueryResponseBytesLimit | CHRONOGRAF_QUERY_RESPONSE_BYTES_LIMIT |
+
+## Official Documentation
+
+See the [official docs](https://docs.influxdata.com/chronograf/latest/introduction/getting_started/) for information on creating visualizations.

+ 1 - 0
chronograf/license.md

@@ -0,0 +1 @@
+View [license information](https://github.com/influxdata/chronograf/blob/master/LICENSE) for the software contained in this image.

TEMPAT SAMPAH
chronograf/logo.png


+ 1 - 0
influxdb/README-short.txt

@@ -0,0 +1 @@
+InfluxDB is an open source time series database for recording metrics, events, and analytics.

+ 123 - 0
influxdb/content.md

@@ -0,0 +1,123 @@
+# InfluxDB
+
+InfluxDB is a time series database built from the ground up to handle high write and query loads. InfluxDB is meant to be used as a backing store for any use case involving large amounts of timestamped data, including DevOps monitoring, application metrics, IoT sensor data, and real-time analytics.
+
+[InfluxDB Documentation](https://docs.influxdata.com/influxdb/latest/)
+
+%%LOGO%%
+
+## Using this Image
+
+### Running the container
+
+The InfluxDB image exposes a shared volume under `/var/lib/influxdb`, so you can mount a host directory to that point to access persisted container data. A typical invocation of the container might be:
+
+```console
+docker run -p 8083:8083 -p 8086:8086 \
+    -v $PWD:/var/lib/influxdb \
+    influxdb
+```
+
+Modify `$PWD` to the directory where you want to store data associated with the InfluxDB container.
+
+You can also have Docker control the volume mountpoint by using a named volume.
+
+```console
+docker run -p 8083:8083 -p 8086:8086 \
+    -v influxdb:/var/lib/influxdb \
+    influxdb
+```
+
+### Exposed Ports
+
+The following ports are important and will be automatically exposed when using `docker run -P`.
+
+-	8083 Admin interface port
+-	8086 HTTP API PORT
+
+Other important ports that aren't exposed by default:
+
+-	8091 Meta service port
+-	8088 Clustering (raft) port
+
+These two ports do not need to be exposed in a single server configuration.
+
+Find more about API Endpoints & Ports [here](https://docs.influxdata.com/influxdb/latest/concepts/api/).
+
+### Configuration
+
+InfluxDB can be either configured from a config file or using environment variables. To mount a configuration file and use it with the server, you can use this command:
+
+Generate the default configuration file:
+
+```console
+$ docker run --rm influxdb influxd config > influxdb.conf
+```
+
+Modify the default configuration, which will now be available under `$PWD`. Then start the InfluxDB container.
+
+```console
+$ docker run -p 8083:8083 -p 8086:8086 \
+      -v $PWD:/etc/influxdb:ro \
+      influxdb -config /etc/influxdb/influxdb.conf
+```
+
+Modify `$PWD` to the directory where you want to store the configuration file.
+
+For environment variables, the format is `INFLUXDB_$SECTION_$NAME`. All dashes (`-`) are replaced with underscores (`_`). If the variable isn't in a section, then omit that part.
+
+Examples:
+
+```console
+INFLUXDB_REPORTING_DISABLED=true
+INFLUXDB_META_DIR=/path/to/metadir
+INFLUXDB_DATA_QUERY_LOG_ENABLED=false
+```
+
+Find more about configuring InfluxDB [here](https://docs.influxdata.com/influxdb/latest/introduction/installation/)
+
+### Graphite
+
+InfluxDB supports the Graphite line protocol, but the service and ports are not exposed by default. To run InfluxDB with Graphite support enabled, you can either use a configuration file or set the appropriate environment variables.
+
+### HTTP API
+
+Creating a DB named mydb:
+
+```console
+$ curl -G http://localhost:8086/query --data-urlencode "q=CREATE DATABASE mydb"
+```
+
+Inserting into the DB:
+
+```console
+$ curl -i -XPOST 'http://localhost:8086/write?db=mydb' --data-binary 'cpu_load_short,host=server01,region=us-west value=0.64 1434055562000000000'
+```
+
+Read more about this in the [official documentation](https://docs.influxdata.com/influxdb/latest/guides/writing_data/)
+
+### CLI / SHELL
+
+Start the container:
+
+```console
+$ docker run --name=influxdb -d -p 8083:8083 -p 8086:8086 influxdb
+```
+
+Run the influx client in another container:
+
+```console
+$ docker run --rm --link=influxdb -it influxdb influx -host influxdb
+```
+
+Alternatively, jump directly into the container:
+
+```console
+$ docker exec -it influxdb influx
+```
+
+### Web Administrator Interface
+
+Navigate to [localhost:8083](http://localhost:8083) with your browser while running the container.
+
+See more about using the web admin [here](https://docs.influxdata.com/influxdb/latest/tools/web_admin/).

+ 1 - 0
influxdb/license.md

@@ -0,0 +1 @@
+View [license information](https://github.com/influxdata/influxdb/blob/master/LICENSE) for the software contained in this image.

TEMPAT SAMPAH
influxdb/logo.png


+ 1 - 0
kapacitor/README-short.txt

@@ -0,0 +1 @@
+Kapacitor is an open source framework for processing, monitoring, and alerting on time series data.

+ 132 - 0
kapacitor/content.md

@@ -0,0 +1,132 @@
+# Kapacitor
+
+Kapacitor is an open source data processing engine written in Go. It can process both stream and batch data.
+
+[Kapacitor Official Documentation](https://docs.influxdata.com/kapacitor/latest/introduction/getting_started/)
+
+%%LOGO%%
+
+## Using this image
+
+### Using the default configuration
+
+Start the Kapacitor container with default options:
+
+```console
+$ docker run -p 9092:9092 kapacitor
+```
+
+Start the Kapacitor container sharing the data directory with the host:
+
+```console
+$ docker run -p 9092:9092 \
+      -v $PWD:/var/lib/kapacitor \
+      kapacitor
+```
+
+Modify `$PWD` to the directory where you want to store data associated with the Kapacitor container.
+
+You can also have Docker control the volume mountpoint by using a named volume.
+
+```console
+# docker run -p 9092:9092 \
+      -v kapacitor:/var/lib/kapacitor \
+      kapacitor
+```
+
+### Configuration
+
+Kapacitor can be either configured from a config file or using environment variables. To mount a configuration file and use it with the server, you can use this command:
+
+Generate the default configuration file:
+
+```console
+$ docker run --rm kapacitor kapacitord config > kapacitor.conf
+```
+
+Modify the default configuration, which will now be available under `$PWD`. Then start the Kapacitor container.
+
+```console
+$ docker run -p 9092:9092 \
+      -v $PWD:/etc/kapacitor:ro \
+      kapacitord -config /etc/kapacitor/kapacitor.conf
+```
+
+Modify `$PWD` to the directory where you want to store the configuration file.
+
+For environment variables, the format is `KAPACITOR_$SECTION_$NAME`. All dashes (`-`) are replaced with underscores (`_`). If the variable isn't in a section, then omit that part. If the config section is an array, use a number to set the nth value in the configuration file.
+
+Examples:
+
+```console
+KAPACITOR_HOSTNAME=kapacitor
+KAPACITOR_LOGGING_LEVEL=INFO
+KAPACITOR_REPORTING_ENABLED=false
+KAPACITOR_INFLUXDB_0_URLS_0=http://influxdb:8086
+```
+
+Find more about configuring Kapacitor [here](https://docs.influxdata.com/kapacitor/latest/introduction/installation/)
+
+### Exposed Ports
+
+-	9092 TCP -- HTTP API endpoint
+
+#### Subscriptions
+
+Subscriptions allow InfluxDB to push data to Kapacitor for faster alerting instead of requiring Kapacitor to pull data from InfluxDB.
+
+These examples assume you are using a custom configuration file that takes advantage of Docker's built-in service discovery capability. In order to do so, we'll first create a new network:
+
+```console
+$ docker network create influxdb
+```
+
+Next, we'll start our InfluxDB container named `influxdb`:
+
+```console
+$ docker run -d --name=influxdb \
+      --net=influxdb \
+      influxdb
+```
+
+Start the Kapacitor container with the container hostname matching the container name so Kapacitor can automatically create subscriptions correctly and with the `KAPACITOR_INFLUXDB_0_URLS_0` value set to point at InfluxDB.
+
+```console
+$ docker run -p 9092:9092 \
+    --name=kapacitor \
+    -h kapacitor \
+    --net=influxdb \
+    -e KAPACITOR_INFLUXDB_0_URLS_0=http://influxdb:8086 \
+    kapacitor
+```
+
+You can also start Kapacitor sharing the same network interface of the InfluxDB container. If you do this, Docker will act as if both processes were being run on the same machine.
+
+```console
+$ docker run -p 9092:9092 \
+      --name=kapacitor \
+      --net=container:influxdb \
+      kapacitor
+```
+
+When run like this, InfluxDB can be communicated with over `localhost`.
+
+### CLI / SHELL
+
+Start the container:
+
+```console
+$ docker run --name=kapacitor -d -p 9092:9092 kapacitor
+```
+
+Run another container linked to the `kapacitor` container for using the client. Set the env `KAPACITOR_URL` so the client knows how to connect to Kapacitor. Mount in your current directory for accessing TICKscript files.
+
+```console
+$ docker run --rm --net=container:kapacitor \
+      -v $PWD:/root -w=/root -it \
+      kapacitor bash -l
+```
+
+Then, from within the container, you can use the `kapacitor` command to interact with the daemon.
+
+See [this](https://docs.influxdata.com/kapacitor/latest/introduction/getting_started/) for a more detailed getting started guide with Kapacitor.

+ 1 - 0
kapacitor/license.md

@@ -0,0 +1 @@
+View [license information](https://github.com/influxdata/kapacitor/blob/master/LICENSE) for the software contained in this image.

TEMPAT SAMPAH
kapacitor/logo.png


+ 1 - 0
telegraf/README-short.txt

@@ -0,0 +1 @@
+Telegraf is an agent for collecting metrics and writing them to InfluxDB or other outputs.

+ 173 - 0
telegraf/content.md

@@ -0,0 +1,173 @@
+# Telegraf
+
+Telegraf is an open source agent written in Go for collecting metrics and data on the system it's running on or from other services. Telegraf writes data it collects to InfluxDB in the correct format.
+
+[Telegraf Official Docs](https://docs.influxdata.com/telegraf/latest/introduction/getting-started-telegraf/)
+
+%%LOGO%%
+
+## Using this image
+
+### Exposed Ports
+
+-	8125 StatsD
+-	8092 UDP
+-	8094 TCP
+
+### Using the default configuration
+
+The default configuration requires a running InfluxDB instance as an output plugin. Ensure that InfluxDB is running on port 8086 before starting the Telegraf container.
+
+Minimal example to start an InfluxDB container:
+
+```console
+$ docker run -d --name influxdb -p 8083:8083 -p 8086:8086 influxdb
+```
+
+Starting Telegraf using the default config, which connects to InfluxDB at `http://localhost:8086/`:
+
+```console
+$ docker run --net=container:influxdb telegraf
+```
+
+### Using a custom config file
+
+First, generate a sample configuration and save it as `telegraf.conf` on the host:
+
+```console
+$ docker run --rm telegraf -sample-config > telegraf.conf
+```
+
+Once you've customized `telegraf.conf`, you can run the Telegraf container with it mounted in the expected location:
+
+```console
+$ docker run -v /path/to/telegraf.conf:/etc/telegraf/telegraf.conf:ro telegraf
+```
+
+Read more about the Telegraf configuration [here](https://docs.influxdata.com/telegraf/latest/introduction/configuration/).
+
+### Using the container with input plugins
+
+These examples assume you are using a custom configuration file that takes advantage of Docker's built-in service discovery capability. In order to do so, we'll first create a new network:
+
+```console
+$ docker network create telegraf_nw
+```
+
+Next, we'll start our InfluxDB container named `influxdb`:
+
+```console
+$ docker run -d --name influxdb \
+      --net=telegraf_nw \
+      -p 8083:8083 -p 8086:8086 \
+      influxdb
+```
+
+The `telegraf.conf` configuration can now resolve the `influxdb` container by name:
+
+```toml
+[[outputs.influxdb]]
+	urls = ["http://influxdb:8086"]
+```
+
+Finally, we start our Telegraf container and verify functionality:
+
+```console
+$ docker run -d --name telegraf \
+      --net=telegraf_nw \
+      -v /path/to/telegraf.conf:/etc/telegraf/telegraf.conf:ro \
+      telegraf
+...
+$ docker logs -f telegraf
+```
+
+#### Aerospike
+
+Start an instance of aerospike:
+
+```console
+$ docker run -d --name aerospike \
+      --net=telegraf_nw \
+      -p 3000-3003:3000-3003 \
+      aerospike
+```
+
+Edit your Telegraf config file and set the correct connection parameter for Aerospike:
+
+```toml
+[[inputs.aerospike]]
+	servers = ["aerospike:3000"]
+```
+
+Restart your `telegraf` container to pick up the changes:
+
+```console
+$ docker restart telegraf
+```
+
+#### Nginx
+
+Create an `nginx_status.conf` configuration file to expose metric data:
+
+```nginx
+server {
+    listen 8090;
+    location /nginx_status {
+        stub_status on;
+        access_log on;
+    }
+}
+```
+
+Start an Nginx container utilizing it:
+
+```console
+$ docker run -d --name=nginx \
+      --net=telegraf_nw \
+      -p 8090:8090 -p 8080:80 \
+      -v /path/to/nginx_status.conf:/etc/nginx/conf.d/nginx_status.conf:ro \
+      nginx
+```
+
+Verify the status page: [http://localhost:8090/nginx_status](http://localhost:8090/nginx_status).
+
+Configure the nginx input plugin in your Telegraf configuration file:
+
+```toml
+[[inputs.nginx]]
+  urls = ["http://nginx:8090/nginx_status"]
+```
+
+Restart your `telegraf` container to pick up the changes:
+
+```console
+$ docker restart telegraf
+```
+
+#### StatsD
+
+Telegraf has a StatsD plugin, allowing Telegraf to run as a StatsD server that metrics can be sent to. In order for this to work, you must first configure the [StatsD plugin](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/statsd) in your config file.
+
+Run Telegraf with the UDP port 8125 exposed:
+
+```console
+$ docker run -d --name telegraf \
+      --net=telegraf_nw \
+      -p 8125:8125/udp \
+      -v /path/to/telegraf.conf:/etc/telegraf/telegraf.conf:ro \
+      telegraf
+```
+
+Send Mock StatsD data:
+
+```console
+$ for i in {1..50}; do echo $i;echo "foo:1|c" | nc -u -w0 127.0.0.1 8125; done
+```
+
+Check that the measurement `foo` is added in the DB.
+
+### Supported Plugins Reference
+
+-	[Input Plugins](https://docs.influxdata.com/telegraf/latest/outputs/)
+
+-	[Output Plugins](https://docs.influxdata.com/telegraf/latest/outputs/)

+ 1 - 0
telegraf/license.md

@@ -0,0 +1 @@
+View [license information](https://github.com/influxdata/telegraf/blob/master/LICENSE) for the software contained in this image.

TEMPAT SAMPAH
telegraf/logo.png


+ 4 - 0
update.sh

@@ -27,6 +27,7 @@ declare -A otherRepos=(
 	[backdrop]='https://github.com/backdrop-ops/backdrop-docker'
 	[bonita]='https://github.com/Bonitasoft-Community/docker_bonita'
 	[centos]='https://github.com/CentOS/sig-cloud-instance-images'
+	[chronograf]='https://github.com/influxdata/chronograf-docker'
 	[cirros]='https://github.com/ewindisch/docker-cirros'
 	[clojure]='https://github.com/Quantisan/docker-clojure'
 	[consul]='https://github.com/hashicorp/docker-consul'
@@ -42,6 +43,7 @@ declare -A otherRepos=(
 	[haskell]='https://github.com/freebroccolo/docker-haskell'
 	[hipache]='https://github.com/dotcloud/hipache'
 	[hylang]='https://github.com/hylang/hy'
+	[influxdb]='https://github.com/influxdata/influxdb-docker'
 	[iojs]='https://github.com/nodejs/docker-iojs'
 	[irssi]='https://github.com/jfrazelle/irssi'
 	[jenkins]='https://github.com/cloudbees/jenkins-ci.org-docker'
@@ -49,6 +51,7 @@ declare -A otherRepos=(
 	[joomla]='https://github.com/joomla/docker-joomla'
 	[jruby]='https://github.com/cpuguy83/docker-jruby'
 	[kaazing-gateway]='https://github.com/kaazing/gateway.docker'
+	[kapacitor]='https://github.com/influxdata/kapacitor-docker'
 	[lightstreamer]='https://github.com/Lightstreamer/Docker'
 	[mageia]='https://github.com/juanluisbaptiste/docker-brew-mageia'
 	[maven]='https://github.com/carlossg/docker-maven'
@@ -77,6 +80,7 @@ declare -A otherRepos=(
 	[sonarqube]='https://github.com/SonarSource/docker-sonarqube'
 	[sourcemage]='https://github.com/vaygr/docker-sourcemage'
 	[swarm]='https://github.com/docker/swarm-library-image'
+	[telegraf]='https://github.com/influxdata/telegraf-docker'
 	[thrift]='https://github.com/ahawkins/docker-thrift'
 	[traefik]='https://github.com/containous/traefik-library-image'
 	[ubuntu-debootstrap]='https://github.com/tianon/docker-brew-ubuntu-debootstrap'