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
and apache2ctl command in Debian family distributions.
Metrics data is obtained doing HTTP requests to /server-status endpoint, provided by
mod_status Apache module.
See our documentation web site for more details.
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:
http://127.0.0.1/server-status?auto
You can change this URL by modifying the status_url instance parameter of your apache-config.yml file.
If the /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_fileorca_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)
the
ca_bundle_fileorca_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_FILEorpassthrough_environment: CA_BUNDLE_DIRto theinfra-agent.ymlconfiguration file.
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
$ make- The command above will execute the tests for the Apache Integration and build an executable file called
nri-apacheunderbindirectory. Runnri-apache:
$ ./bin/nri-apache- If you want to know more about usage of
./bin/nri-apachecheck
$ ./bin/nri-apache -helpFor 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.
You can find more detailed documentation on our website, and specifically in the Infrastructure category.
If you can't find what you're looking for there, reach out to us on our support site or our community forum and we'll be happy to help you.
Find a bug? Contact us via support.newrelic.com, or email support@newrelic.com.
New Relic, Inc.