New Relic Infrastructure Integration for Apache
New Relic Infrastructure Integration for Apache captures critical performance metrics and inventory reported by Apache web server.
Inventory data is obtained using
httpd command in RedHat family distributions
apache2ctl command in Debian family distributions.
Metrics data is obtained doing HTTP requests to
/server-status endpoint, provided by
mod_status Apache module.
This is the description about how to run the Apache Integration with New Relic Infrastructure agent, so it is required to have the agent installed (see agent installation).
In order to use the Apache Integration it is required to configure
apache-config.yml.sample file. Firstly, rename the file to
apache-config.yml. Then, depending on your needs, specify all instances that
you want to monitor with correct arguments.
The integration assumes your
/server-status is reachable though the next URL:
You can change this URL by modifying the
status_url instance parameter of your
/server-status is reachable only though an HTTPS connection which uses a certificate that is signed by your own
Certificate Authority (e.g. for internal use or development purposes), you will need to make sure one of the next alternative
actions have been taken:
- Option 1: Install your Certificate Authority in your host. The Apache integration will look for it by default in the host's root bundle for Certificate Authorities.
- Option 2: Update the
apache-config.ymlto have at least one of the next instance parameters configured:
ca_bundle_dir, whose values must be, respectively, the absolute paths to your alternative Certificate Authorities' bundle file (or the directory where they are).
- Option 3: Add to the Infrastructure Agent configuration file)
ca_bundle_dirproperty (which are analogue to the properties explained in the previous bullet), and then passthrough them to the integrations by adding:
passthrough_environment: CA_BUNDLE_DIRto the
Integration development usage
Assuming that you have the source code and Go tool installed you can build and run the Apache Integration locally.
- After cloning this repository, go to the directory of the Apache Integration and build it
- The command above will execute the tests for the Apache Integration and build an executable file called
- If you want to know more about usage of
$ ./bin/nr-apache -help
For managing external dependencies govendor tool is used. It is required to lock all external dependencies to specific version (if possible) into vendor directory.
We welcome code contributions (in the form of pull requests) from our user community. Before submitting a pull request please review these guidelines.
Following these helps us efficiently review and incorporate your contribution and avoid breaking your code with future changes to the agent.
To extend your monitoring solution with custom metrics, we offer the Integrations Golang SDK which can be found on github.
Refer to our docs site to get help on how to build your custom integrations.
New Relic, Inc.