Skip to content

Commit

Permalink
Documentation review (#106)
Browse files Browse the repository at this point in the history
Documentation review and refactor
  • Loading branch information
ardias committed Feb 25, 2020
1 parent fdc038b commit b64576c
Show file tree
Hide file tree
Showing 41 changed files with 2,920 additions and 3,186 deletions.
146 changes: 63 additions & 83 deletions README.md
@@ -1,115 +1,95 @@
# New Relic - Flex
# New Relic Flex

[![Build Status](https://travis-ci.org/newrelic/nri-flex.svg?branch=master)](https://travis-ci.com/newrelic/nri-flex)

- [New Relic - Flex](#new-relic---flex)
- [New Relic Flex](#new-relic---flex)
- [Requirements](#requirements)
- [Tutorials](#tutorials)
- [Visualizing & Managing with the Flex Manager UI](#visualizing--managing-with-the-flex-manager-ui)
- [Further Documentation](#further-documentation)
- [Installation](#installation)
- [Local development](#local-development)
- [Getting started](#getting-started)
- [Example integrations](#example-integrations)
- [Experimental features](#experimental-features)
- [Disclaimer](#disclaimer)
- [Development](#development)
- [Documentation](#documentation)
- [Support](#support)
- [License](#license)

- Flex is an agnostic AIO New Relic Integration, that can:
- Abstract the need for end users to write any code other then to define a configuration yml, allowing you to consume metrics from a large variety of services.
- Run any HTTP/S request, shell command.
- Can generate New Relic metric samples automatically from almost any HTTP(S) endpoint for almost any payload with useful helper functions to parse and tidy up the output. See <https://github.com/newrelic/nri-flex/tree/master/docs/wiki/apis/functions.md>
- Provides examples for over [200+ Integrations](#integrations)
- As updates and upgrades are made, all Flex Integrations reap the benefits.
- Official support for Linux hosts only at the moment

Flex is an application-agnostic, all-in-one [New Relic integration](https://docs.newrelic.com/docs/integrations) that allows you to collect metric data from a wide variety of services. You can instrument any app that outputs to the terminal: you create a [config file](/docs/basics/creating_configs.md), start the Infrastructure agent, and data starts pouring into New Relic - see the [200+ example integrations](#example-integrations)!

Flex works in two steps:
1. It runs any HTTP request or shell command, with or without parameters.
2. It generates metric samples using [functions](/docs/apis/functions.md) that parse and tidy up the output from the commands/requests.

Only Linux is officially supported at the moment. As updates and upgrades are made, all Flex Integrations reap the benefits.

## Requirements

- Linux
- Windows (experimental support)
- New Relic Infrastructure
- New Relic [Infrastructure Pro](https://newrelic.com/infrastructure/pricing) subscription or trial

## Tutorials
## Installation

- [Basic step-by-step tutorial](./docs/basic-tutorial.md)
Flex now comes bundled with the New Relic Infrastructure agent. To install the Infrastructure agent, see [Install, configure, and manage Infrastructure](https://docs.newrelic.com/docs/infrastructure/install-configure-manage-infrastructure).

## Visualizing & Managing with the Flex Manager UI
## Getting started

- [Flex Manager](https://github.com/newrelic/nr1-flex-manager)
The Flex [step-by-step tutorial](./docs/basic-tutorial.md) is a great starting point.

## Further Documentation
## Example integrations

- [Wiki](https://github.com/newrelic/nri-flex/tree/master/docs/wiki)
- [Example Integrations](#exampleintegrations)
- [Available Functions](https://github.com/newrelic/nri-flex/tree/master/docs/wiki/apis/functions.md)
- [Creating your own Flex configuration(s)](https://github.com/newrelic/nri-flex/tree/master/docs/wiki/basics/creating_configs.md)
All examples are located in [/examples](https://github.com/newrelic/nri-flex/tree/master/examples).

---
Note that some examples may use features that are [experimental](https://github.com/newrelic/nri-flex/tree/master/docs/experimental) (not officially supported) or [deprecated](https://github.com/newrelic/nri-flex/tree/master/docs/experimental), and may be removed in the future.

## Installation
## Experimental features

Flex is now being integrated by default in the New Relic Infrastructure agent.
See <https://docs.newrelic.com/docs/infrastructure/install-configure-manage-infrastructure> for more information
Flex implements more features than those that New Relic officially supports. While you can use them to solve specific use cases, we can't guarantee that they'll work as expected, and New Relic does not support them officially.

## Local development
Experimental features include, but are not limited to:

If you are in the process of setting up Flex configurations you can use Flex in isolatin mode, ie. without using the New Relic Infrastructure agent.
See [development](./development.md) for more information.
- Collect metrics from any Prometheus Exporter.
- Collect metrics from database queries.
- Collect metrics metrics from JMX queries (Java 7+ required).
- Collect metrics from CSV and JSON files.
- Support for Windows Hosts, Kubernetes, ECS, Fargate, and other container based platforms.
- Send data via New Relic Insights Event API. Should be used only in development mode.

## Example integrations
### Flex Manager

For all examples see <https://github.com/newrelic/nri-flex/tree/master/examples>

Note: some of these examples may use features that are experimental (not officially supported )and/or are deprecated and may me removed in the future.

See [experimental](https://github.com/newrelic/nri-flex/tree/master/docs/wiki/experimental) and [deprecated](https://github.com/newrelic/nri-flex/tree/master/docs/wiki/experimental))

- All Prometheus Exporters
- Consul
- Vault (shows merge functionality)
- Bamboo
- Teamcity
- CircleCI
- RabbitMQ (shows metric parser, and lookup store functionality)
- Elasticsearch (shows inbuilt URL cache functionality)
- Traefik
- Kong
- etcd (shows custom sample keys functionality)
- Varnish
- Redis (more metrics, multi instance support, multi db support) (shows snake to camel, perc to decimal, replace keys, rename keys & sub parse functionality)
- Zookeeper
- OpsGenie
- VictorOps
- PagerDuty (shows lazy_flatten functionality)
- AlertOps (shows lazy_flatten functionality)
- New Relic Alert Ingestion (provides similar output to nri-alerts-pipe)
- New Relic App Status Health Ingestion (appSample to present your app health, language, and aggregated summary)
- http/s testing & request performance via curl
- Postgres Custom Querying
- MySQL Custom Querying
- MariaDB Custom Querying
- Percona Server, Google CloudSQL or Sphinx (2.2.3+) Custom Querying
- MS SQL Server Custom Querying
- JMX via nrjmx // (nrjmx is targetted to work with Java 7+, see cassandra and tomcat examples)
- Cassandra - via jmx
- Tomcat - via jmx
- bind9
- Linux disk usage & inode info (shows horizontal split functionality)
Use the [Flex manager](https://github.com/newrelic/nr1-flex-manager) in New Relic One to visualize Flex data and manage the Flex integration.

## Experimental features
## Development

Flex implements other features apart from those that we officially support. While you can use them if you need to solve your specific use-case, we don't guarantee at this point that they will work as expected and so we offer no official support.
If you are setting up Flex configurations, you can use Flex in isolation mode, that is, without using the New Relic Infrastructure agent. For more information, see [Development](/docs/development.md).

They include, but are not limited to:
## Documentation

- [Flex documentation - Main page](https://github.com/newrelic/nri-flex/tree/master/docs/readme.md)
- [File and directory structure](https://github.com/newrelic/nri-flex/tree/master/docs/basics/file_layout.md)
- [Create your own Flex configurations](https://github.com/newrelic/nri-flex/tree/master/docs/basics/creating_configs.md)
- [Supported functions](https://github.com/newrelic/nri-flex/tree/master/docs/apis/functions.md)
- [Experimental functions](https://github.com/newrelic/nri-flex/tree/master/docs/experimental/functions.md)

## Support

You can find more detailed documentation [on our website](http://newrelic.com/docs).

If you can't find what you're looking for there, reach out to us on our [support site](http://support.newrelic.com/) or our [community forum](http://forum.newrelic.com) and we'll be happy to help you.

Found a bug? Contact us at [support.newrelic.com](http://support.newrelic.com/), or email support@newrelic.com.

### Community

New Relic hosts and moderates an online forum where customers can interact with New Relic employees as well as other customers to get help and share best practices. Like all official New Relic open source projects, there's a related Community topic in the New Relic Explorers Hub. You can find this project's topic/threads here:

https://discuss.newrelic.com/c/support-products-agents/new-relic-infrastructure

### Issues / Enhancement Requests

Issues and enhancement requests can be submitted in the [Issues tab of this repository](../../issues). Please search for and review the existing open issues before submitting a new issue.

- Consume metrics from any Prometheus Exporter
- Consume metrics from database queries
- Consume metrics metrics from JMX queries (Java 7+ is required for JMX to work)
- Consume metrics from csv and json files
- Windows Hosts, Kubernetes, ECS, Fargate, and other container based platforms.
- [Service / Container Discovery](https://github.com/newrelic/nri-flex/wiki/Service-Discovery) built-in.
This feature is deprecated in favour of the New Relic Infrastructure agent discovery support.
It is kept for backwards compatibility and may be removed in the future.
- Send data via New Relic Insights Event API. Should be used only in development mode.

## Disclaimer
## License

New Relic has open-sourced this integration to enable monitoring of various technologies. This integration is provided AS-IS WITHOUT WARRANTY OR SUPPORT, although you can report issues and contribute to this integration via GitHub. Support for this integration is available with an Expert Services subscription.
The project is released under version 2.0 of the [Apache license](http://www.apache.org/licenses/LICENSE-2.0).

0 comments on commit b64576c

Please sign in to comment.