System-Level Monitoring for AIX, HP-UX, Linux, OSX/MacOS & Solaris/SunOS
Here. If you are just deploying and not compiling it, please download the release instead of cloning the repo.
New Relic has Open Sourced this integration to enable monitoring of this technology. This integration is provided AS-IS WITHOUT WARRANTY OR SUPPORT, although you can report issues and contribute to this integration via GitHub.
We'd love to get your contributions to improve the Unix Monitor! Keep in mind when you submit your pull request, you'll need to sign the CLA via the click-through using CLA-Assistant. If you'd like to execute our corporate CLA, or if you have any questions, please drop us an email at open-source@newrelic.com.
config/plugin.json
pluginctl.sh
to have the correct paths to Java and your plugin location
PLUGIN_JAVA
to the location of Java on your server (including the "java" filename)PLUGIN_PATH
to the location of the Unix Plugin./pluginctl.sh start
from command-linelogs
directory by default) for errorsplugin.json
configurationNote: A full example of the possible fields in plugin.json
can be found in plugin-full-example.json
OS
(default: auto
): Determines which commands to run and how to parse them. Leave set to auto
to let the plugin figure it out, which usually works.
account_id
: Your New Relic account ID, a 6- or 7-digit number found in the URL when you're logged into the account.
fedramp
: A true or false string indicating whether the target is the New Relic FedRAMP-authorized endpoint.
insights_insert_key
(under insights
): Create an Insights Insert key as described here.
OR (From version 1.0.3 and above)
insights_insert_key_obfuscated
: Refer to the section on credential obfuscation to use the obfuscated Ingest key in your configuration. You must set the environment variable NEW_RELIC_CONFIG_OBSCURING_KEY
for this configuration to work.
insights_data_center
(under insights
, default: us
): If using the NR EU data center for your account, please change this to eu
or EU
. Otherwise, you can leave this alone or omit this setting entirely. {#eu-data-center}
These settings are found in the agents
object.
name
: If set to auto
, the plugin will use that server's hostname. Otherwise, sets the hostname and agentName to whatever is set here.static
(optional): An object containing static attributes (as name-value pairs) you want to appear in every event from this plugin. For example:
"agents": [
{
"name": "auto",
"static": {
"data_center": "Philadelphia",
"customer": "Eagles",
"rank": 1
}
}
]
If using a proxy, the optional proxy
object should be added to the global
object in plugin.json
, if its not there already.
proxy_host
, proxy_port
, proxy_username
and proxy_password
.proxy
object is proxy_host
.For additional security, this integration supports the using obfuscated values for any attribute**, by appending _obfuscated
to the attribute name and providing an obfuscated value that was produced by the New Relic CLI.
Prerequesite: New Relic CLI is installed on any supported platform.
Generate your obfuscated credentials using the following CLI command:
newrelic agent config obfuscate --key "OBSCURING_KEY" --value "CLEAR_TEXT_PROXY_PASSWORD"
In this command, OBSCURING_KEY
can be any value you want. You can even point it at an existing environment variable. Examples:
newrelic agent config obfuscate --key "IUsedS0methingRand0m!" --value "proxyPassword2020!"
newrelic agent config obfuscate --key ${NEW_RELIC_CONFIG_OBSCURING_KEY} --value ${OUR_PROXY_PASSWORD}
In the proxy
object in plugin.json
, populate the proxy_username_obfuscated
and proxy_password_obfuscated
attributes with the values returned by the CLI.
In pluginctl.sh
, uncomment the NEW_RELIC_CONFIG_OBSCURING_KEY
variable, and set it to the same value or envrionment variable as you used in step 2 for OBSCURING_KEY
.
**Applies to attributes like insights_insert_key, proxy_username, proxy_password and any other attributes under the parent attribute 'agents'.
Unix Monitor Dashboards are now installed using the Quickstarts app.
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 plugin.
# USE_IBM_JSSE=true
If you see the following error, it may be because the Bourne shell does not support certain syntax in the installer script.
pluginctl.sh: syntax error at line 240: `admin_api_key=$' unexpected
If so, use the Korn shell or Bash (if available). Both were tested successfully in Solaris 10.
If you are trying to customize the commands that the Unix Monitor is running, or you are not seeing any or all of the data you expect to see, you can put the agent into 'Debug Mode', in which it outputs to the logs all of the commands being run and it's attempts at parsing them.
Note: You will need to restart the Unix Monitor to pick up these changes.
This can be enabled EITHER by:
pluginctl.sh
with the debug
at the end to start, like so:
./pluginctl.sh start debug
or ./pluginctl.sh restart debug
ORconfig/logback.xml
with config/logback-debug.xml
and restarting the Unix monitor
(if using this method, remember to swap the files back when finished)Date: 09-May-2023 Version: 1.0.2
The release 1.0.2 is a minor release with updated library for httpclient. This update addresses the CVE-2020-13956.
Date: 13-Jan-2023 Version: 1.0.1
The release 1.0.1 is a major release with multiple fixes and enhancements for Solaris 11.x platform, and this release has been certified on Oracle Solaris 11.4. Please refer the user guide for further details.