-
Notifications
You must be signed in to change notification settings - Fork 24
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
ad07d55
commit 50cafc2
Showing
1 changed file
with
60 additions
and
31 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,62 +1,91 @@ | ||
# New Relic Plugin for Unix | ||
## System-Level Montoring for AIX, Linux, Mac OS X & Solaris/SunOS | ||
|
||
### Requirements | ||
## System-Level Monitoring for AIX, Linux, Mac OS X & Solaris/SunOS | ||
|
||
### Table Of Contents | ||
- [Requirements](#requirements) | ||
- [Supported OSes](#supported-oses) | ||
- [Installation & Usage Overview](#installation-usage-overview) | ||
- [`plugin.json` configuration](#pluginjson-configuration) | ||
- [Global settings](#global-settings) | ||
- [Proxy settings](#proxy-settings) | ||
- [Dashboard deployment](#dashboard-deployment) | ||
- [Other configurations](#other-configurations) | ||
- [Deploying Dashboards from separate server/desktop](#deploying-dashboards-from-separate-serverdesktop) | ||
- [Fix for using the WebSphere JDK](#fix-for-using-the-websphere-jdk) | ||
|
||
### Requirements | ||
- A New Relic account. Sign up for a free account [here](http://newrelic.com) | ||
- A unix server that you want to monitor | ||
- Java Runtime (JRE) environment Version 1.6 or later | ||
- A Unix server that you want to monitor | ||
- Java JRE/JDK v1.6 or later | ||
- Network access to New Relic (proxies are supported, see details below) | ||
- For Dashboard Installation: `curl` or `wget` installed | ||
|
||
---- | ||
#### Supported OSes | ||
- AIX 7 | ||
- Linux - All sorts, including on ARM processors (such as Raspberry Pi) and z/Linux | ||
- OS X 10.9 ('Mavericks') and above | ||
- Solaris 10 and 11 | ||
|
||
### Installation & Usage Overview | ||
-------------------------------------------------------------------------------- | ||
|
||
### Installation & Usage Overview | ||
1. Download the latest version of the agent. | ||
2. Gunzip & untar on Unix server that you want to monitor | ||
4. Set account ID, keys and other settings in `config/plugin.json` | ||
* [Click here for plugin.json config details](#plugin-json-configuration) | ||
5. OPTIONAL: Configure `pluginctl.sh` to have the correct paths to Java and your plugin location | ||
* Set `PLUGIN_JAVA` to the location of Java on your server (including the "java" filename) | ||
* Set `PLUGIN_PATH` to the location of the Unix Plugin | ||
6. Run `./pluginctl.sh start` from command-line | ||
7. Check logs (in `logs` directory by default) for errors | ||
8. Login to New Relic UI and find your data in Insights. | ||
* In the data explorer, look for custom event types that start with "unixMonitor:" | ||
* Possible event types (for out-of-the-box commands): unixMonitor:Disk, unixMonitor:DiskIO, unixMonitor:NetworkIO, unixMonitor:Process, unixMonitor:Stats, unixMonitor:Vmstat | ||
|
||
---- | ||
### `plugin.json` configuration | ||
3. Set account ID, keys and other settings in `config/plugin.json` | ||
* [Click here for plugin.json config details](#pluginjson-configuration) | ||
4. OPTIONAL: Configure `pluginctl.sh` to have the correct paths to Java and your plugin location | ||
* Set `PLUGIN_JAVA` to the location of Java on your server (including the "java" filename) | ||
* Set `PLUGIN_PATH` to the location of the Unix Plugin | ||
5. Run `./pluginctl.sh start` from command-line | ||
6. Check logs (in `logs` directory by default) for errors | ||
7. Login to New Relic UI and find your data in Insights. | ||
* In the data explorer, look for custom event types that start with "unixMonitor:" | ||
* Possible event types (for out-of-the-box commands): unixMonitor:Disk, unixMonitor:DiskIO, unixMonitor:NetworkIO, unixMonitor:Process, unixMonitor:Stats, unixMonitor:Vmstat | ||
|
||
-------------------------------------------------------------------------------- | ||
|
||
### `plugin.json` configuration | ||
_Note: A full example of the possible fields in plugin.json can be found in plugin-fullexample.json_ | ||
|
||
#### Global settings | ||
|
||
* `OS` (default: `auto`): Used to determine which commands to run and how to parse them. Leave set to `auto` to have the plugin figure that out (which normally works). | ||
* `account_id`: New Relic account ID - the 6- or 7- digit number in the URL when you're logged into the account of your choosing. | ||
* `insights_insert_key` (under `insights`): You must create an [Insights Insert key, as described here.](https://docs.newrelic.com/docs/insights/insights-data-sources/custom-data/insert-custom-events-insights-api#register) | ||
* `name` (under `agents`): Otherwise, sets the hostname and agentName to whatever is set here. If set to `auto`, the plugin will use that server's hostname. | ||
- `OS` (default: `auto`): Used to determine which commands to run and how to parse them. Leave set to `auto` to have the plugin figure that out (which normally works). | ||
- `account_id`: New Relic account ID - the 6- or 7- digit number in the URL when you're logged into the account of your choosing. | ||
- `insights_insert_key` (under `insights`): You must create an [Insights Insert key, as described here.](https://docs.newrelic.com/docs/insights/insights-data-sources/custom-data/insert-custom-events-insights-api#register) | ||
- `name` (under `agents`): Otherwise, sets the hostname and agentName to whatever is set here. If set to `auto`, the plugin will use that server's hostname. | ||
|
||
#### Proxy settings | ||
|
||
If using a proxy, the optional `proxy` object should be added to the `global` object in `plugin.json`, if its not there already. The possible fields are: `proxy_host`, `proxy_port`, `proxy_username` and `proxy_password`, which are self-explanatory. The only field in this object that is required is `proxy_host`. | ||
|
||
#### Dashboard deployment | ||
##### Enabling at plugin startup | ||
The plugin can check for and deploy the latest dashboards to your account when it starts up. This requires the `dashboards` object in `plugin.json` to be set up properly: | ||
* `admin_api_key`: [Admin API key, as described here.](https://docs.newrelic.com/docs/apis/rest-api-v2/getting-started/api-keys#admin-api) | ||
* `integration_guid`: Default is `UNIX.Infra.Monitor`. | ||
* `dashboard_install`: Default is `command_line`. | ||
|
||
If you want the plugin to check for and deploy the latest dashboards to your account when it starts up, you can set the `admin_api_key` setting in the `dashboards` object. You will need an [Admin API key, as described here.](https://docs.newrelic.com/docs/apis/rest-api-v2/getting-started/api-keys#admin-api) If you don't want it to run, leave this blank or remove it entirely. | ||
In the `dashboard` object, the following two settings are also required, but must be left to their default values. **DO NOT CHANGE THESE UNLESS OTHERWISE INSTRUCTED.** | ||
* `integration_guid`: Default is `UNIX.Infra.Monitor` | ||
* `dashboard_install`: Default is `command_line` | ||
`integration_guid` and `dashboard_install` are required, but must be left to their default values. **DO NOT CHANGE THESE UNLESS OTHERWISE INSTRUCTED.** | ||
|
||
### Fix for using the WebSphere JDK | ||
##### Disabling deployment | ||
If you don't want the dashboard deployment to run at startup, leave `admin_api_key` blank or remove it entirely. | ||
|
||
### Other configurations | ||
#### Deploying Dashboards from separate server/desktop | ||
If you want to initiate the dashboard install from a standalone machine (i.e. a tools server or your own mac, linux or cygwin laptop/desktop), you will need the following: | ||
* `pluginctl.sh` | ||
* `config/plugin.json` (including path) with the dashboard object filled out [as described above.](#enabling-at-plugin-startup) | ||
|
||
To install, run `./pluginctl.sh installDashboards`. | ||
#### Fix for using the WebSphere JDK | ||
If you are using the JDK that is packaged with WebSphere and see an exception in the logs like below, it is due to attempting to use the WebSphere SSL Factory instead of the IBM JSSE packages. | ||
|
||
``` | ||
ERROR com.newrelic.metrics.publish.binding.Request - An error occurred communicating with the New Relic service | ||
java.net.SocketException: java.lang.ClassNotFoundException: Cannot find the specified class com.ibm.websphere.ssl.protocol.SSLSocketFactory | ||
``` | ||
|
||
If so, uncomment the following line in `pluginctl.sh` and restart the agent. | ||
If so, uncomment the following line in `pluginctl.sh` and restart the plugin. | ||
|
||
``` | ||
# USE_IBM_JSSE=true | ||
``` |