Skip to content

Commit

Permalink
automated release 1.4.1 [skip ci]
Browse files Browse the repository at this point in the history
  • Loading branch information
corpglory-dev committed Sep 28, 2020
1 parent 5f52083 commit d6c2ea7
Show file tree
Hide file tree
Showing 29 changed files with 3,327 additions and 0 deletions.
79 changes: 79 additions & 0 deletions dist/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
# Change Log

All notable changes to this project will be documented in this file.

## [1.4.1] - 2020-09-25

### Fixed

- 403 error when using non-admin Kentik user [#31](https://github.com/kentik/kentik-grafana-app/issues/31)

## [1.4.0] - 2019-12-26

### Breaking changes

Fixed "Permission denied" error for Viewers and Editors [#28](https://github.com/kentik/kentik-grafana-app/pull/28).

Because of [#28](https://github.com/kentik/kentik-grafana-app/pull/28) it's required to do after update:
- restart Grafana
- go to the plugin config (e.g. http://localhost:3000/plugins/kentik-app/) and click "Update"

## [1.3.6] - 2019-10-02

### New Features

- Resolve IPs in a given view [#5](https://github.com/kentik/kentik-grafana-app/issues/5)

## [1.3.5] - 2019-09-23

Autocomplete for plugin #4

## [1.3.4] - 2019-05-24

- Added support for custom api endpoints, [#71](https://github.com/grafana/kentik-app/issues/71)


## [1.3.3] - 2019-02-01

### New Features
- Added support for EU api endpoint, [#64](https://github.com/grafana/kentik-app/issues/64)

### Fixed
- click-through to device-details page now works correctly

### Changed
- Updated device-details page to show more data
- device-details page now displays more informative messages when updating fails

## [1.3.2] - 2018-12-18

### New Features
- Added better error messaging for API issues, [#61](https://github.com/grafana/kentik-app/issues/61)

## [1.3.1] - 2018-11-13

### Fixed

- Filter operators do not match Group By operators, [#37](https://github.com/grafana/kentik-app/issues/37)

## [1.3.0] - 2018-10-22

### New Features

- Custom dimensions support [#46](https://github.com/grafana/kentik-app/issues/46)
- Direct filter import (using saved filters in Grafana) [#45](https://github.com/grafana/kentik-app/issues/45)

## [1.2.4] - 2017-05-22

### New Features

- Test for Kentik query builder

### Changed

- Enable stacking by default in Kentik top talkers dashboard

### Fixed

- Unique Src/Dst IPs metrics (after Kentik API update)
- Table data columns for Unique Src/Dst IPs metrics (now is Avg, p95th, Max, p95th mbps, p95th pps)
98 changes: 98 additions & 0 deletions dist/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
[![CircleCI](https://circleci.com/gh/grafana/kentik-app.svg?style=svg)](https://circleci.com/gh/grafana/kentik-app)
[![David Dependancy Status](https://david-dm.org/grafana/kentik-app.svg)](https://david-dm.org/grafana/kentik-app)
[![David Dev Dependency Status](https://david-dm.org/grafana/kentik-app/dev-status.svg)](https://david-dm.org/grafana/kentik-app/?type=dev)



Kentik Connect for Grafana allows you to quickly and easily enhance your visibility into your network traffic. Kentik Connect leverages the power of Kentik Detect, which provides real-time, Internet-scale ingest and querying of network data including flow records (NetFlow, IPFIX, sFlow), BGP, GeoIP, and SNMP. Stored in the Kentik Data Engine (KDE), Kentik Detect’s distributed post-Hadoop Big Data backend, this information is a rich source of actionable insights into network traffic, including anomalies that can affect application or service performance. Kentik Connect provides Grafana with instant access to KDE, enabling you to seamlessly integrate network activity metrics into your Grafana dashboard.

## Features

Kentik Connect for Grafana ships with an official Kentik Data Source, the database connector that allows you to read and visualize data directly from KDE. Within the Grafana environment, you can specify the parameters of the traffic that you want Kentik Connect to display:

- Timespan: set the time range for which you want to see traffic data.
- Devices: view traffic from all devices or individual routers, switches, or hosts.
- Dimensions: group by over 30 source and destination dimensions representing NetFlow, BGP, or GeoIP data.
- Metrics: display data in metrics including bits, packets, or unique IPs.
- Sort: visualizations are accompanied by a sortable table showing Max, 95th percentile, and Average values.

Kentik Connect also allows you to edit the configuration of devices (which must already be registered with Kentik Detect). And, as with any Grafana dashboard, current settings can be managed (Manage dashboard menu) and dashboards can be saved, shared, and starred.

## External Dependencies

- A Kentik account and API key is required to Enable the Kentik app. If you don’t have a Kentik account, [sign up for your Free Trial Now](https://portal.kentik.com/signup.html?ref=signup_2nd&utm_source=grafana&utm_medium=landingpage&utm_term=portal&utm_campaign=grafana-signup).
- To appear in the Kentik Connect device list, devices must first be registered with Kentik Detect.

## Plugin installation

The easiest way to install plugins is by using the `grafana-cli` tool which is bundled with Grafana. See [Using grafana-cli](#using-grafana-cli) paragraph.

If there is no `grafana-cli` tool in your system, plugins can be installed [manually](#manual-installation).

### Table of contents
- [Using grafana-cli](#using-grafana-cli)
- [Install plugin](#install-plugin)
- [Update plugin](#update-plugin)
- [Manual installation](#manual-installation)
- [Docker installation](#docker-installation)

### Using grafana-cli

Grafana docs about plugin installation: https://grafana.com/docs/plugins/installation/#installing-plugins.

#### Install plugin
```bash
grafana-cli --pluginUrl "https://github.com/kentik/kentik-grafana-app/releases/download/v1.4.1/kentik-app-1.4.1.zip" plugins install kentik-app
sudo systemctl restart grafana-server
```

#### Update plugin

```bash
grafana-cli --pluginUrl "https://github.com/kentik/kentik-grafana-app/releases/download/v1.4.1/kentik-app-1.4.1.zip" plugins update kentik-app
sudo systemctl restart grafana-server
```

### Manual installation

- Navigate to Grafana plugins directory:
- For Grafana installed from `.deb`/`.rpm` package:
- `/var/lib/grafana/plugins`
- For Grafana installed using Standalone Linux Binaries or source:
- `<GRAFANA_PATH>/data/plugins`

- Download kentik-app
```bash
wget https://github.com/kentik/kentik-grafana-app/releases/download/v1.4.1/kentik-app-1.4.1.tar.gz
```

- Remove old kentik-app (if it exists)
```bash
rm -rf kentik-app
```

- Unpack downloaded files
```bash
tar -zxvf kentik-app-1.4.1.tar.gz
```

- Restart Grafana
- For Grafana installed from `.deb`/`.rpm` package:
- `systemctl restart grafana-server`
- For Grafana installed using Standalone Linux Binaries or source:
- Stop any running instances of grafana-server
- Start grafana-server: `cd <GRAFANA_PATH> && ./bin/grafana-server`

### Docker installation

You can install Kentik App to Grafana in Docker passing it as the environment variable.

```bash
docker run \
-p 3000:3000 \
-e "GF_INSTALL_PLUGINS=https://github.com/kentik/kentik-grafana-app/releases/download/v1.4.1/kentik-app-1.4.1.zip;kentik-grafana-app" \
grafana/grafana
```

#### Useful links
- Grafana docs about Docker installation: https://docs.grafana.org/installation/docker/#installing-plugins-from-other-sources
95 changes: 95 additions & 0 deletions dist/components/add_device.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
<div class="page-header">
<h1>Add a New Device</h1>
</div>
<div class="row">
<div class="col-md-10">
<p>Devices in Kentik are sources of network flow data - commonly a network component such as a switch or router, or
a flow generation agent on a host/server. Once configured, Kentik will automatically begin tracking and returning
direct insights from that source viewpoint into exactly which applications and endpoints are actively driving
network traffic.</p>
</div>
</div>

<form name="addDeviceForm">
<div class="gf-form-group">
<div class="gf-form">
<label class="gf-form-label width-11">Device Name</label>
<input class="gf-form-input max-width-21" type="text" ng-model="ctrl.device.device_name" pattern="^[A-Za-z0-9_]{1,15}$"
required>
</div>
<div class="gf-form">
<label class="gf-form-label width-11">Device Type</label>
<div class="gf-form-select-wrapper">
<select class="gf-form-input gf-size-auto" ng-model="ctrl.device.device_type">
<option value="router">Router</option>
<option value="host-nprobe-basic">Host</option>
</select>
</div>
</div>
</div>

<div class="gf-form-group">
<div class="gf-form">
<label class="gf-form-label width-11">Description</label>
<input class="gf-form-input max-width-21" type="text" ng-model="ctrl.device.device_description">
</div>
<div class="gf-form" ng-if="ctrl.device.device_type == 'router'">
<label class="gf-form-label width-11">Flow Type</label>
<div class="gf-form-select-wrapper">
<select class="gf-form-input gf-size-auto" ng-model="ctrl.device.device_flow_type">
<option value="sflow">sFlow</option>
<option value="netflow.v5">NetFlow v5</option>
<option value="netflow.v9">NetFlow v9</option>
<option value="ipfix">IPFIX</option>
</select>
</div>
</div>
<div class="gf-form" ng-if="ctrl.device.device_type == 'host-nprobe-basic'">
<label class="gf-form-label width-11">Flow Type</label>
<div class="gf-form-select-wrapper">
<select class="gf-form-input gf-size-auto" ng-model="ctrl.device.device_flow_type">
<option value=hiresflow>HiresFlow</option>
</select>
</div>
</div>
<div class="gf-form">
<label class="gf-form-label width-11">Sample Rate</label>
<input class="gf-form-input max-width-5" type="number" required ng-model="ctrl.device.device_sample_rate">
</div>
<div class="gf-form" ng-repeat="ip in ctrl.sending_ips">
<label class="gf-form-label width-11">Source Address</label>
<input class="gf-form-input max-width-15" type="text" ng-model="ip.ip" required>
<a class="btn btn-inverse btn-small" ng-click="ctrl.addIP()" ng-if="$first"><i class="fa fa-plus"></i></a>
<a class="btn btn-inverse btn-small" ng-click="ctrl.removeIP($index)" ng-if="!$first"><i class="fa fa-minus"></i></a>
</div>
</div>
<div class="gf-form-group">
<div class="gf-form" ng-if="ctrl.device.device_type == 'router'">
<label class="gf-form-label width-11">SNMP Polling</label>
<div class="gf-form-select-wrapper">
<select class="gf-form-input gf-size-auto" ng-model="ctrl.device.minimize_snmp" ng-options="i.v as i.l for i in [{v: true, l: 'Minimum'}, {v: false, l: 'Standard'}]">
</select>
</div>
</div>
<div class="gf-form" ng-if="ctrl.device.device_type == 'router'">
<label class="gf-form-label width-11">SNMP Community</label>
<input class="gf-form-input max-width-15" type="text" ng-model="ctrl.device.device_snmp_community">
</div>
<div class="gf-form" ng-if="ctrl.device.device_type == 'router'">
<label class="gf-form-label width-11">Device IP</label>
<input class="gf-form-input max-width-15" type="text" ng-model="ctrl.device.device_snmp_ip">
</div>
</div>
<div class="gf-form-group">
<div class="gf-form">
<label class="gf-form-label width-11">BGP</label>
<div class="gf-form-select-wrapper">
<select class="gf-form-input max-width-15" disabled>
<option>Available with paid acounts</option>
</select>
</div>
</div>
</div>
<button type="submit" class="btn btn-success" ng-click="ctrl.addDevice()">Add Device</button>
<a class="btn btn-link" ng-click="ctrl.cancel();">Cancel</a>
</form>
Loading

0 comments on commit d6c2ea7

Please sign in to comment.