The asterisk stands for "All Instances," which includes _Total where applicable.
Perfmon is probably the easiest place to look at the counters and see what's available on your system.
From the documentation for typeperf:
•Counter path format
The general format for counter paths is as follows: [\\Computer]\object[parent/instance#index]\counter] where:
Elastic now offers a tool called topbeat that does what you're looking for. It sends cpu, memory and disk stats directly into Elasticsearch or into Logstash.
Example metrics are on github at elastic/topbeat.
Check your stop condition. In order to have a report for each day (rather than one report for multiple days), I'm pretty sure you would need to restart your performance counter. The counter will run for as long as you have it configured for in stop condition. Check the logman command for automating via command line.
% Disk Time - Logical disk or Physical disk?
From Microsoft: http://support.microsoft.com/kb/310067/en-us?p=1
This behavior can occur because some controllers allow the operating
system to use overlapping input/output operations for multiple
outstanding requests. The disk performance counters time the responses
by using a 100 nanosecond precision ...
To take advantage of the extra RAM you need to enable PAE as well as AWE.
Additionally, you should allow the account that is running your SQL services the "lock pages in memory" option.
The Buffer Cache Hit Ratio value isn't that far out of bounds. You generally ...
I can't tell if you're too academic in approach, but for most workloads on modern CPUs, people recommend leaving hypertheading on.
Now, given that you haven't provided details like the application requirements, OS version/flavor/distribution or hardware specifications/platform/CPU model, it's difficult to give any real insight.
What metrics are important ...
Which performance counters matter the most, when judging server load?
Almost all of them , but you should probably start with CPU %,Private working sets and IOPS.
is it a performance concern if one leaves such data-collectors running
Yes mainly I/O , memory ,cpu , disk space. Mostly in that order.
I will not know when the server will ...
see How do I tell if my Windows server is swapping? . In general the thing to worry about is the working set of the application. You want to ensure that the working set will fit in ram without having to force other applications to start to page fault. Windows doesn't allocate physical ram directly to an application. (there are ways to effectively do ...
There isn't an inbuilt performance counter that will do any kind of "pattern matching" on names. (Performance counters don't really work that way-- they don't take any kind of "input" parameter. They're just outputs.)
The "Processes" object tracks all running processes. I'd log the Processes object and parse the output to get a count of processes.
If each ...
'ProcessorPerformance' will show a number of instances, usually called 'PPM_Processor_X' - that's the number of logical cores available to you. No way to tell if they're regular or HT threads though sorry.
The 'Tools that works with Graphite' page http://graphite.readthedocs.org/en/latest/tools.html list several. I have tried the PowerShell script 'Graphite PowerShell Functions' https://github.com/MattHodge/Graphite-PowerShell-Functions and it works well.
edit I mis-read your question, you were talking only about Logstash and Kibana but not about Graphite. I ...
When I use your += block, I get back a $counters that is a long concatenated string.
$counters += '\Memory\Available Bytes'
$counters += '\Paging File(*)\% Usage'
$counters += '\PhysicalDisk(*)\Disk Reads/sec'
$counters += '\PhysicalDisk(*)\Disk Writes/sec'
$counters += '\PhysicalDisk(*)\Avg. Disk sec/Read'
$counters += '\PhysicalDisk(*)\Avg. Disk sec/Write'...
Unfortunately you're not wrong, the whole idea of SR-IOV is that it allows the VM to interact directly with the NIC without the hypervisor or host in the middle. It isn't seeing the packets to generate counters,you won't get anything using ethtool or the normal ways. You maybe able to get something from the root of the NIC but it depends on the drivers ...
I would log the following values at a minimum:
% Idle CPU time (total) – to detect CPU bottlenecks
% Idle disk time for every physical disk – to detect disk bottlenecks, especially if you rely on mechanical HDDs.
Memory / Committed Bytes – to detect memory demands that get close to the amount of physical RAM.
If the server is slow, check these values and ...
I took a look at perfmon, but also did not see anything to distinguish between HTTP & HTTPS. For "current" connections you could use netstat or other network analyzer tool. For "trends" you could use one of many weblog analyzer tools to review the IIS log files. Look at the field named "s-port".
Software: Microsoft Internet Information Services 8.5
The "Commit Size" is how much backed virtual memory the process has asked the operating system for and gotten permission to use. The "Private Working Set" is how much physical memory (RAM) the process is actually using.
When commit size is higher than private working set, that means the process is not using as much memory as it has asked for. This is ...
I am not sure about the exact type of data you are trying to collect, but all perfmon counter data is available via the typeperf command line utility even in Server 2003.
List counters available (without instances):
sample total CPU usage over 10 seconds once and return:
typeperf "Processor(_Total)\% Processor Time" -si 10 -sc 1
Yes, I know what metric avggu-sz means
That means you know that generally data flows like this
app --> bio layer --> I/O Scheduler --> Driver --> Disks
This is just a general overview and not covering everything.As long as nr_requests remains the queue_Depth,I/O ...
not sure about the 'over 50 seconds' aspect, but you could poll to see if your CPU is over a certain limit.
Just a quick sketch in powershell...
# checks cpu threshold and runs script in $scriptName variable
# mandatory single variable in function for script name
Another take would be to monitor all of the available counters for the Process object (which will show all processes). You can then key on one instance of your process. Here's a screenshot from an RDS server:
If I understand well your question, basically top command shows by default non cumulative time:
* ’S’ - Cumulative time Off (no, dead children)
The TIME+ column itself shows CPU time by hundredths of a second, which is the same as TIME but with more granularity.
Unfortunately the only way to reset ...
top command is just the messenger telling you the value, the value itself comes from the OS and the process, not from the top command.
The only way to reset the time value is to restart the process.
I think the only way to make your monitoring more detailed is to try a different approach. You can use sysstat package and its sadc daemon for collecting data ...
The answer is right. I'd like to add that it's possible to use parent* to use all instances. See http://www.codeproject.com/Articles/369888/Diagnosing-applications-using-Performance-Counters
E.g. "\Thread(w3wp*)\Context Switches/sec" lists all threads in w3wp process
I didn't find this listed anywhere. Also PowerShell complains, but it works...
You don't specify what type of check you have Pingdom performing. However, my guess is you are doing an HTTP check. In this case Pingdom issues a full HTTP request for your site and the response time is the total time of the request to be sent, received, acknowledged, and for data to fully transfer. So the 1100-1200ms you see is the combination of the ...
I am using nagios. It is a good free monitoring software. It has a plugin to check Windows machines. Nagios grapher can be used to graph your performance data. However, i donst recommend to mix multiple monitoring programs at least for ease of use and management