Is it possible to monitor Windows Services with Perfino and Zipkin? - windows

I want to monitor some Windows Services with either perfino or Zipkin. Does anyone know if that is possible?
Cheers.

As long as you have the ability to specify VM parameters, you can add the monitoring agent, regardless of the whether the JVM is started as a Windows service. For perfino, that VM parameter is
-javaagent:[path to perfino.jar]

Related

How to monitor apache tomcat running in windows via a zabbix agent?

We have a windows server that has zabbix agent installed.
Recently we installed multiple apache tomcat 7 websites running in different ports and need to monitor the number of active threads, response time, etc. I need suggestions to retrieve the values.
I found this documentation on Zabbix official website!
It might be helpful.

PowerShell: determine if a remote server is part of a NLB cluster

As the title says, I'm looking for a way of determining if a given Windows server is part of a NLB cluster.
I know that it is possible to check the presence of a service with Get-Service... but NLB is a kernel driver... also how do I deal with older Windows versions such as 2003?
Thanks!
Well, for win2008+ you have possibility to use Get-NlbClusterNode cmdlet.
I believe you can also check win2003 servers via NLB WMI class, unfortunately I dont have any 2003 server to check if I'm right.

Where can i see the perfino agent logs

I couldn't able to setup the perfino java agent in windows server standard.
Passed the "-javaagent:E:\perfino\perfino.jar=server=172.16.11.160,port=8090,name=webserver1" VM argument to tomcat7, my application launched successfully but when I verify the perfino server (172.16.11.160:8090) agent is not listing.
In my tocat logs(info) I saw only "perfino> Agent initialized (build version 26704)" this message, not sure how to debug more.
Appricate your help in advance.
Cheers,
Ashok
The port for connections from VMs is configured with the vmPort option in perfino.properties.
By default, it is set to 8847. If you configure a different port, you have to add the ,port=nnnnn option to the -javaagent parameter. In that case, the setting in perfino.properties and the part value on the agent parameter have to match, otherwise no connection can be made.

run windows services in specific order

Is it possible to change the order of windows services or run one service after another?
The reason i want this: I have IIS configuration located on a shared drive. And when i reboot server, it first run IIS (w3wp) service and couldn't start it. because at that point, shared network drive is not available. So i want to first finishing the network service to map all network drives and then run IIS service. so i don't need to restart IIS service every-time i reboot the server. is there any other way to achieve this?
Thanks!
By default, some Windows services are configured with "dependencies" to ensure that the prerequisite services are started first... so you can just add to them.
Here's how to set dependencies with Registry edits , from the command-line (sc config ServiceName depend=servicetoDependOn), and from .NET.
If you're running Server 2008 / Vista / 7 you can set the IIS service for delayed start.
There are sort of two tiers: first all the "automatic" stuff, then the "automatic (delayed start)" stuff.

Any patterns for high availability of a Windows Service?

Situation
I have a windows service which I would like to make highly available.
I have two unclustered servers (Windows server 2003 standard edition).
The question is:
What options do I have to make my service highly available in an automated way?
I can think of the asymmetric master-slave option which consists of keeping the service running on both machines with a communication heartbeat between them so one acts as the master and the slave takes over automatically whenever the master does not respond.
Do you know any other ways to implement this?
note: Please don't point me to this answer, I do NOT/won't/can't have clusters.
If you're windows service is hosting a web/wcf service, you can configure your client to have a primary service url and a secondary service url. Then you can modify the client connection logic to use the secondary service when connection to the primary service fails.
You can do this transparently by adding a router service which will do the logic above. Basically proxying the operations for whichever service it is connected to. But this adds another point of failure, the router service.
The simplest i cant think of is to make sure to set the service recovery options on your windows service/s. Something like this http://code.google.com/p/daemoniq/wiki/WindowsServiceRecoveryOptions
HTH
I suggest checking MS Patterns and Practices web site, there you could find advice on this topic (for example http://msdn.microsoft.com/en-us/library/ms998414.aspx)

Resources