MCPcopy Index your code
hub / github.com/eskibars/wmibeat

github.com/eskibars/wmibeat @0.2.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release 0.2.0 ↗ · + Follow
17 symbols 36 edges 6 files 4 documented · 24% updated 10y ago0.2.0 · 2016-04-30★ 3310 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

WMIbeat

Welcome to WMIbeat. WMIbeat is a beat that allows you to run arbitrary WMI queries and index the results into elasticsearch so you can monitor Windows machines.

Ensure that this folder is at the following location: ${GOPATH}/github.com/eskibars

Getting Started with WMIbeat

To get running with WMIbeat, run "go build" and then run wmibeat.exe, as in the below run section. If you don't want to build your own, hop over to the "releases" page to download the latest.

Configuring

To configure the WMI queries to run, you need to change wmibeat.yml. Working from the default example:

classes:
- class: Win32_OperatingSystem
  fields:
  - FreePhysicalMemory
  - FreeSpaceInPagingFiles
  - FreeVirtualMemory
  - NumberOfProcesses
  - NumberOfUsers
- class: Win32_PerfFormattedData_PerfDisk_LogicalDisk
  fields:
  - Name
  - FreeMegabytes
  - PercentFreeSpace
  - CurrentDiskQueueLength
  - DiskReadsPerSec
  - DiskWritesPerSec
  - DiskBytesPerSec
  - PercentDiskReadTime
  - PercentDiskWriteTime
  - PercentDiskTime
  whereclause: Name != "_Total"
  objecttitlecolumn: Name
- class: Win32_PerfFormattedData_PerfOS_Memory
  fields:
  - CommittedBytes
  - AvailableBytes
  - PercentCommittedBytesInUse

We can configure a set of classes, a set of fields per class, and a whereclause. If there are multiple results, for any WMI class, WMIbeat will add the results as arrays. If you need some help with what classes/fields, you can try WMI Explorer. Note that many of the more interesting classes are "Perf" classes, which has a special checkbox to see in that tool.

Run

To run WMIbeat with debugging output enabled, run:

./wmibeat -c wmibeat.yml -e -d "*"

Build your own Beat

Beats is open source and has a convenient Beat generator, from which this project is based. For further development, check out the beat developer guide.

Core symbols most depended-on inside this repo

main
called by 1
main.go
Run
called by 1
beater/wmibeat.go
setUpClass
called by 0
tests/system/wmibeat.py
New
called by 0
beater/wmibeat.go
Config
called by 0
beater/wmibeat.go
Setup
called by 0
beater/wmibeat.go
Cleanup
called by 0
beater/wmibeat.go
Stop
called by 0
beater/wmibeat.go

Shape

Method 7
Function 4
Struct 4
Class 2

Languages

Go76%
Python24%

Modules by API surface

beater/wmibeat.go7 symbols
config/config.go3 symbols
tests/system/wmibeat.py2 symbols
tests/system/test_base.py2 symbols
main_test.go2 symbols
main.go1 symbols

For agents

$ claude mcp add wmibeat \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact