Compare commits

...
5 Commits
5 changed files with 30 additions and 21 deletions

No files matched your search

+2 -1
View File
@@ -2,13 +2,14 @@
## Building Timely
Timely requires a Java 8 and uses Maven for compiling source, running tests, and packaging distributions. Below is a set of useful Maven lifecyles that we use:
Timely requires a Java 8 and uses Maven for compiling source, running tests, and packaging distributions. To build the CollectD plugins, activate the `collectd` profile. Below are a set of useful Maven lifecyles that we use:
Command | Description
--------|------------
mvn compile | Compiles and formats the source
mvn test | Runs unit tests
mvn package | Runs findbugs and creates a distribution
mvn package -Pcollectd | Runs findbugs and creates a distribution, includes the collectd plugins
mvn verify | Runs integration tests
mvn verify site | Creates the site
+13 -12
View File
@@ -1,18 +1,19 @@
# Standalone Quick Start
1. Install latest version of Grafana that works with Timely
2. Create a grafana configuration file (e.g: `conf/settings.ini`)
1. Build Timely
1. set `JAVA_HOME` to point to a JDK 8 installation
2. run `mvn clean package` from the top level directory in the source tree
2. Install latest version of Grafana that works with Timely (4.4.3)
3. Create a grafana configuration file (e.g: `conf/settings.ini`)
1. `protocol = https`
2. `http_addr = localhost`
3. `cert_file= <path to PEM encoded certificate file>`
4. `key_file= <path to PEM encoded un-encrypted private key file>`
3. Start Grafana (`./bin/grafana-server -c conf/settings.ini`)
4. Untar the timely-app distribution tarball located in grafana/target in the grafana plugins directory (default: /var/lib/grafana/plugins)
5. Start Grafana (`./bin/grafana-server -c conf/settings.ini`)
1. Visit `https://localhost:3000` to verify Grafana is working
4. Build Timely
1. set `JAVA_HOME` to point to a JDK 8 installation
2. cd into the server directory and run `mvn clean package`
5. Untar Timely server distribution (found in `target/timely-server-(VERSION)-SNAPSHOT-dist.tar.gz`)
6. Modify `timely-standalone.yml`:
6. Untar Timely server distribution (found in `target/timely-server-(VERSION)-SNAPSHOT-dist.tar.gz`)
7. Modify `timely-standalone.yml`:
1. Use generated server side SSL certificates
1. `timely.security.ssl.use-generated-keypair=true`
2. or, use your own SSL certificates - see [SSL] (#ssl-setup) Setup
@@ -28,11 +29,11 @@
1. `grafana.http.address=https://localhost:3000/login`
5. Set Anonymous access for Timely
1. `timely.security.allow-anonymous-access=<true or false>`
7. Start the Timely standalone server
8. Start the Timely standalone server
1. `cd bin; ./timely-standalone.sh`
8. Insert test data
9. Insert test data
1. `cd bin; ./insert-test-data.sh`
9. Add the Timely datasource to Grafana
10. Add the Timely datasource to Grafana
1. Login to Grafana, go to 'DataSources'
2. Click 'Add data source'
3. Enter the following information:
@@ -44,7 +45,7 @@
6. Basic Auths: check
7. Click `Browser Cert Check` and accept the certificate
8. Click `Save & Test`.
10. Import Standalone Test dashboard into Grafana.
11. Import Standalone Test dashboard into Grafana.
## Notes on Security Options
+11
View File
@@ -1,5 +1,16 @@
# Release Notes
## 0.0.5
### FEATURES
- Made changes and tested with Grafana 4.4.3 (alerting not supported yet)
- Updated provided dashboards
### NOTES
- Build modified to *not* build collectd modules by default, use the `collectd` maven profile at build time
## 0.0.4
### FEATURES
+2 -6
View File
@@ -12,12 +12,8 @@ The standalone server will not save your metric data across restarts.
To deploy Timely with a running Accumulo instance you will need to modify the `conf/timely.yml` file appropriately. Then copy the `lib/timely-client.jar`, `lib/timely-server.jar`, `lib/commons-lang3-*.jar`, `lib/commons-collections4-*.jar`, and `lib/guava-*.jar` files to your Accumulo tablet servers. Finally, launch Timely using the `bin/timely-server.sh` script. Because Timely uses a newer version of Guava, you will need to configure a classloader for the Timely context, set it to use post-delegation, and then configure your tables to use the Timely context classloader. This can be done in the shell or in the accumulo-site.xml file.
> In accumulo-site.xml: <br>
&lt;name&gt;general.vfs.conext.classpath.timely.delegation=post&lt;/name&gt;<br>
&lt;value&gt;some location&lt;/value&gt;
> In accumulo shell: <br>
`general.vfs.conext.classpath.timely=<some location>`<br>
`general.vfs.context.classpath.timely=<some location>`<br>
`general.vfs.context.classpath.timely.delegation=post`
@@ -80,7 +76,7 @@ timely:
```
The default configuration file type for Timely is a YAML. The configuration is read internally using Spring Boot, and therefore supports all of the configuration styles supported by Spring Boot. See [here](http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#boot-features-external-config) and [here](http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#boot-features-external-config-yaml) for more details. In YAML, a property such as timely.accumulo.instance-name=MyInstanceName (which can also be timely.accumulo.instanceName) would look like the example on the right.
The `NUM_SERVER_THREADS` variable in the `timely-server.sh` script controls how many threads are used in the Netty event group for TCP and HTTP operations. The TCP and HTTP groups use a different event group, so if you set the value to 8, then you will have 8 threads for TCP operations and 8 threads for HTTP operations. The properties file in the `conf` directory supports the following properties:
The `NUM_SERVER_THREADS` variable in the `timely-server.sh` script controls how many threads are used in the Netty event group for UPD, TCP, HTTP, and WebSocket operations. The different protocols each use a Netty event group, so if you set the value to 8, then you will have 4 thread groups of 8 threads each. The properties file in the `conf` directory supports the following properties:
> Note: Each thread in the Timely server that is used for processing TCP put operations has its own BatchWriter. Each BatchWriter honors the `timely.accumulo.write.latency` and `timely.accumulo.write.threads` configuration property, but the buffer size for each BatchWriter is `timely.accumulo.write.buffer-size` divided by the number of threads. For example, if you have 8 threads processing put operations and the following settings, then you will have 8 BatchWriters each using 2 threads with a 30s latency and a maximum buffer size of 128M: timely.accumulo.write.latency=30s, timely.accumulo.write.threads=2 timely.accumulo.write.buffer-size=1G
+2 -2
View File
@@ -44,6 +44,6 @@ Getting started with Timely requires that you:
2. Install and configure the Timely [app] (#deployment) within Grafana
> Timely should accept data from TCollector with no changes. A [plugin] (#plugins-for-collectd) exists for sending data from CollectD.
3. Send metrics to Timely using [CollectD] (http://collectd.org/), OpenTSDBs [TCollector] (https://github.com/OpenTSDB/tcollector), etc.
> Timely should accept data from TCollector with no changes. A [plugin] (#plugins-for-collectd) exists for sending data from CollectD.