https://github.com/ogaudefroy/yanrpp
Yet Another New Relic Perfmon Plugin
https://github.com/ogaudefroy/yanrpp
metrics newrelic perfmon performance-counters
Last synced: 10 months ago
JSON representation
Yet Another New Relic Perfmon Plugin
- Host: GitHub
- URL: https://github.com/ogaudefroy/yanrpp
- Owner: ogaudefroy
- Created: 2016-11-30T20:35:55.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2017-07-11T08:07:01.000Z (almost 9 years ago)
- Last Synced: 2025-03-17T02:24:33.025Z (about 1 year ago)
- Topics: metrics, newrelic, perfmon, performance-counters
- Language: C#
- Homepage:
- Size: 20.5 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Yet Another New Relic Perfmon Plugin
This project was born from the need to monitor SSAS instances in the wonderful New Relic APM. [Nick Floyd's perfmon plugin](https://github.com/nickfloyd/newrelic-perfmon-plugin) wouldn't work as it does not collect 64 bit counters and thus we decided to build a quick and dirty one.
## Prerequisites
+ Windows Server to locally collect Perfmon counters
+ .Net 3.5 Client Profile
+ A windows service wrapper like [NSSM](https://nssm.cc/)
## Customize performance counters collected
The agent loads `config/counters.xml` file so you have to copy/rename/create your own counter file matching your needs.
As mentioned previously, it's a quick and dirty version and counters.xml is not currently validated with a XSD here is the way we parse it:
+ **Counters**: root node containing all metric groups
+ **MetricGroup**: a group of metrics, requires a Name attribute
+ **Counter**: a performance counter with the following attributes
+ **Category**: the category of the performance counter (required)
+ **Name**: the performance counter name (required)
+ **Instance**: the instance of the performance counter (optional)
+ **MetricName**: the metric's name reported in New Relic (required)
+ **Unit**: the metric's unit reported in New Relic (required)
+ **ConversionRatio**: an optional ratio to declare a 1024^ConversionRatio of the collected metric value
Here is a very simple counters.xml definition
```xml
```
Out-of-the-box, this plugin collects various performance counters if you do want to monitor an SSAS instance. Two configuration files are available in config folder:
+ `Counters.SSAS.2012.xml`: SQL Server Analysis Services 2012 Performance Counters
+ `Counters.SSAS.2014.xml`: SQL Server Analysis Services 2014 Performance Counters
## Retrieve performance counter names and categories
A very simple way to retrieve them is to use typeperf command line: `typeperf -q`
**Performance counters are unfortunately culture sensitive, the provided configuration files are for en-US version only.**
## New Relic dashboard configuration
Once the perfmon plugin up and running you need to create a custom dashboard in New Relic. Follow the official documentation available here:
+ [New Relic - Working with plugin dashboard](https://docs.newrelic.com/docs/plugins/developing-plugins/structuring-your-plugin/working-plugin-dashboards)
+ [New Relic - Summary metrics](https://docs.newrelic.com/docs/plugins/developing-plugins/structuring-your-plugin/creating-summary-metrics-plugins)
## Troubleshooting
+ To output collected metrics set `log_level:debug` in `config\newrelic.json`
+ If you do not see the plugin in your dashboard, set your license_key in `config\plugin.json`