cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Process monitoring with additonal metric (instances running) shows in metric browser, but does not show when used in health

Roland.Clothier
Explorer

Hi 

I have used the process monitoring extension and I can see and expand the metrics via the metrics browser on my server it runs on in the controller.   (For example in this case, this process has "running instances" 1 and I can verify this)

 

I would like to pull this through to a health rule where if running instances < 1 then it will 

 

The metrics are outlined in /opt/appdynamics/machine-agent/monitors/ProcessMonitor/config.yml

When I use them to create a health rule and use Specify a Relative Metric Path: and use the path copied into the buffer from the metric browser. The "Current health rule evaluation" is greyed out and does not seem to work.

 

However if I configure the metric in the health rule through to a dashboard it evaluates at true, however if I change the Health rule to trigger an critical condition, it doesnt trigger (as I suspected)

 

This is also true if I use a metric straight to the dashboard that is not available via the metric tree selection.

 

Has anybody else ever successfully configured a relative metric to be used in a Health rule or directly as a specify a relative metric path to monitor a process instance count?

 

Thanks

 

 

2 REPLIES 2

Eric.Miller
Architect

Are you trying to report off of 1 particular process or any process running under that custom metrics tier?  If you're trying to get any process, you may need to use a wildcard, to make the path something like:

Application Infrastructure Performance | Tier1 | Custom Metrics | Process Monitor | Linux Processes | * | Running Instances.  It also might help to check the "Set to false if no data" checkbox when designing your rule too.





Found something helpful? Click the Accept as Solution button to help others find answers faster.
Liked something? Click the Thumbs Up button.

Hi Eric,

 

Thanks for the reply.  This metric originates from a single machine agent and its one particular process I am trying to get out of the metrics browser in the server view into a dashboard panel for "instances running".  This shows a value of 1 (as it should) when its viewed via the Metrics Browser.

 

Here is the path but with the servername hidden..

 

Application Infrastructure Performance|Root|Individual Nodes|myhiddehservername.domain.tld|Hardware Resources|HA Components|Keepalived|Linux Processes|keepalived|Running Instances
 
Of course then the ProcessMonitor extenstion shows with the server metrics as "HA Components" I want this on a few servers just to monitor HA process instances ( to be sure they are there)
 
My ProcessMonitor config.yml for for reference

 

#metricPrefix: "Server|Component:Keepalived|Custom Metrics|Process Monitor|"
metricPrefix: "Hardware Resources|HA Components|Keepalived"
# metricPrefix: "Custom Metrics|Process Monitor|"

# displayName: required - Metrics to be reported under this name in Controller's Metric Browser
# regex/pid/pidFile - process is fetched using this field
instances:
#  - displayName: "machine agent"
#    regex: ".* machineagent.jar"

#  - displayName: "ssh"
#    pid: "1056"

  - displayName: "keepalived"
    pidFile: "/var/run/keepalived.pid"


# Not necessary to modify
linux:
  process: "ps -eo pid,%cpu=CPU%,%mem=Memory%,etime,rsz=RSS,args"

solaris:
  process: "ps -eo pid,pcpu=CPU%, -o pmem=Memory%, -o rss=RSS -o args"

aix:
  process: "ps -eo pid,pcpu=CPU%,pmem=Memory%,rss=RSS,args"


metrics:
  - CPU%:
     multiplier: 1
  - Memory%:
     alias: "Memory%"
  - RSS:
     alias: "Resident Set Size"
  - Running Instances:
     alias: "Running Instances"
  - etime:
     alias: "etime"


# number of concurrent tasks
numberOfThreads: 2

# This is to run this in scheduled mode. In this case, the extension will fetch the data every 300 seconds
# and caches the data. The cached data will be reported to controller every min. This way there is no metric drop.
# Can be used when the data rarely changes or to reduce the load while fetching metrics every minute.
#taskSchedule:
#  numberOfThreads: 1
#  taskDelaySeconds: 300