MattHodge / Graphite-PowerShell-Functions

A group of PowerShell functions that allow you to send Windows Performance counters to a Graphite Server, all configurable from a simple XML file.
https://hodgkins.io/using-powershell-to-send-metrics-graphite
GNU General Public License v3.0
218 stars 71 forks source link

Some metrics do not get sent when sending over UDP. #17

Closed MattHodge closed 9 years ago

MattHodge commented 9 years ago

<Counter Name="\SQLSERVER:General Statistics\User Connections" /> is not being sent when sending via UDP. Over TCP it works fine.

XML configuration file where issues are occurring:

<?xml version="1.0" encoding="utf-8"?>
<Configuration>
  <Graphite>
    <CarbonServer>IP</CarbonServer>
    <CarbonServerPort>2003</CarbonServerPort>
    <MetricPath>my.servers</MetricPath>
    <MetricSendIntervalSeconds>15</MetricSendIntervalSeconds>
    <TimeZoneOfGraphiteServer>UTC</TimeZoneOfGraphiteServer>
    <SendUsingUDP>True</SendUsingUDP>
  </Graphite>
  <PerformanceCounters>
    <Counter Name="\Memory\Available MBytes" />
    <Counter Name="\Memory\Pages Input/sec" />
    <Counter Name="\Memory\Pages/sec" />
    <Counter Name="\Network Interface(*)\Bytes Received/sec" />
    <Counter Name="\Network Interface(*)\Bytes Sent/sec" />
    <Counter Name="\Network Interface(*)\Packets Received Non-Unicast/sec" />
    <Counter Name="\Network Interface(*)\Packets Received Unicast/sec" />
    <Counter Name="\Network Interface(*)\Packets Sent Non-Unicast/sec" />
    <Counter Name="\Network Interface(*)\Packets Sent Unicast/sec" />
    <Counter Name="\PhysicalDisk(*)\Avg. Disk Read Queue Length" />
    <Counter Name="\PhysicalDisk(*)\Avg. Disk Write Queue Length" />
    <Counter Name="\PhysicalDisk(*)\Disk Read Bytes/sec" />
    <Counter Name="\PhysicalDisk(*)\% Idle Time" />
    <Counter Name="\PhysicalDisk(*)\Disk Write Bytes/sec" />
    <Counter Name="\Processor(_Total)\% Processor Time" />
    <Counter Name="\SQLSERVER:Access Methods\Full Scans/sec" />
    <Counter Name="\SQLSERVER:Access Methods\Page Splits/sec" />
    <Counter Name="\SQLSERVER:Access Methods\Workfiles Created/sec" />
    <Counter Name="\SQLSERVER:Access Methods\Worktables Created/sec" />
    <Counter Name="\SQLSERVER:Buffer Manager\Page Life Expectancy" />
    <Counter Name="\SQLSERVER:Buffer Manager\Page lookups/sec" />
    <Counter Name="\SQLSERVER:General Statistics\Logins/sec" />
    <Counter Name="\SQLSERVER:General Statistics\User Connections" />
    <Counter Name="\SQLSERVER:Locks(*)\Lock Requests/sec" />
    <Counter Name="\SQLSERVER:Memory Manager\Memory Grants Pending" />
    <Counter Name="\SQLSERVER:Memory Manager\Total Server Memory (KB)" />
    <Counter Name="\SQLSERVER:SQL Statistics\Batch Requests/sec" />
    <Counter Name="\SQLSERVER:SQL Statistics\SQL Compilations/sec" />
    <Counter Name="\SQLSERVER:SQL Statistics\SQL Re-Compilations/sec" />
    <Counter Name="\System\Processor Queue Length" />
    <Counter Name="\System\Threads" />
    <Counter Name="\System\Context Switches/sec" />
  </PerformanceCounters>
  <Filtering>
    <MetricFilter Name="isatap" />
    <MetricFilter Name="teredo tunneling" />
  </Filtering>
  <Logging>
    <VerboseOutput>True</VerboseOutput>
  </Logging>
</Configuration>
MattHodge commented 9 years ago

This should be resolved as of 6049f358d12139b51d6bc41f70a8e8e03584c59a.