Hello
Linux(ubuntu server edition) beginner here, In short i wanted to test ELK Stack and Netxms to monitor its state. Got elk running but i cant figure it out, how to monitor linux "services".
i start them with commands:
sudo systemctl start nxagentd.service
sudo systemctl start elasticsearch.service
sudo systemctl start kibana.service
sudo systemctl start logstash.service
sudo service keepalived start
in NetXms i tryed adding: DCI System.ProcessCount("nxagentd.service") but it returns as unsupported.
Any hints? :)
			
			
			
				Not sure netxms would monitor all you need.  Have you tried https://www.elastichq.org/features.html   it does have an api that you could probly incorporate into netxms if really needed
			
			
			
				Looks intresting il give it a try. But any hints on original question for simple service monitoring ? :)
			
			
			
				nxagentd.service is the file name for systemd scripts, not the name of actual process. The process name is visible in command like top, ps, for netxms agent it's nxagentd. 
			
			
			
				For NetXms i got it working, but looking from "top" the ELK processes are all java, only different user. 
  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND
2462 elastic+  20   0 3379664 1.457g 173544 S  8.3 75.0  23:30.87 java
 3454 logstash  39  19 3318852 222712  12784 S  1.3 10.9   4:06.48 java
  922 kibana    20   0 1701224  62008   6984 S  0.7  3.0   4:01.10 node
			
			
			
				There is Process.CountEx() metric, that should allow to filter processes by the command line that was used to launch them. 
 https://www.netxms.org/documentation/adminguide/appendix.html#process-countex
You can find the command line by running 
px fax
Filtering is done with the help of regular expression. You can test your regular expression here: https://regex101.com/
			
			
			
				Thanks for the tip. Gave it a try:
From ps fox i got:
  922 ?        Ssl   14:57 /usr/share/kibana/bin/../node/bin/node /usr/share/kibana/bin/../src/cli -c /etc/kibana/kibana.yml
3454 ?        SNsl  14:49 /usr/bin/java -Xms1g -Xmx1g -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -Djava.awt.headless=true -Dfile.
 2462 ?        SLsl  49:45 /usr/share/elasticsearch/jdk/bin/java -Des.networkaddress.cache.ttl=60 -Des.networkaddress.cache.negative.ttl=10 -XX:+AlwaysPreTouch -Xss1m -Djava.awt.headle
Then i played litle bit with regex tester:
Match string and regex = \/kibana\/
/usr/share/kibana/bin/../node/bin/node /usr/share/kibana/bin/../src/cli -c /etc/kibana/kibana.yml
But in NetXms i get 0 results no matter what formating i use in dci:
 Process.CountEx("/kibana/", "\/kibana\/")
			
			
			
				First parameter of CountEx should be process name which is actually "node". 
Try something like this:
Process.CountEx("node", "\/kibana\/")
			
			
			
				Thanks, that worked. :)