This dashboard collects all 31x "performance counters" that is available for Microsoft Dynamics NAV via performance collector objects in Microsoft Windows. These are the metrics you can see in the "perfmon" tool in Windows. Now you can see it in style in Grafana and better yet over a longer period of time.
The Grafana template uses the Telegraf client to pull performance metrics via the inputs.win_perf_counters.object. Example Telegraf input plugin configuration is attached in this template post.
- Variables setup for "selected_host", "selected_instance" allow you to select what host and which Dynamics instance to monitor.
- Variable for "Sampling Interval" allows you to smooth the curve to the best sampling rate.
Steps to get going:
- Create an InfluxDB named "dynamics_monitoring_results"
- Install Telegraf Windows client on your server. (see many other blog posts about this)
- Set your agent to measure every 1min.
- Configure your Telegraf client to capture the Dynamics performance counters (details in Collector Config section)
- Make sure you set your input agent to save to a metric called "ms_dynamics_nav" this will be the metric name in InfluxDB and Grafana: ( Measurement = "ms_dynamics_nav" )
- Test your Telegraf config with console mode, debug and command line output (in influxdb format) before starting it as a service. For example: "c:\Program Files\telegraf\telegraf.exe" --console --debug --config "c:\Program Files\telegraf\telegraf.conf"
- Run your Telegraf client as a service. (see many other blog posts about this)
- When you import this template, select the datasource that you created in step 1.
Start watching your Dynamics instances.
Note: This dashboard was tested with Microsoft Dynamics NAV 2017.
Collector Configuration Details
ObjectName = "Microsoft Dynamics NAV"
Counters = [
"# Active sessions",
"Average server operation time (ms)",
"# Mounted tenants",
"# Open connections",
"# Open application connections",
"# Open tenant connections",
"% Query repositioning rate",
"Hard throttled connections",
"Soft throttled connections",
"Heartbeat time (ms)",
"# Preferred connection total requests",
"% Preferred connection cache hit rate",
"# Calculated fields cache total requests",
"% Calculated fields cache hit rate",
"# Command cache total requests",
"% Command cache hit rate",
"# Primary key cache total requests",
"% Primary key cache hit rate",
"# Result set cache total requests",
"% Result set cache hit rate",
"# Rows in all temporary tables",
"# Available tasks",
"# of task errors/sec",
"# Running tasks",
"Average task execution time",
"Maximum # of tasks",
"Total # Pending tasks",
"Total # Running tasks",
"Time (ms) since the list of running tasks last had capacity for new tasks",
] Instances = ["*"]
Measurement = "ms_dynamics_nav"