Secure60 Win Log Agent is a lightweight Windows application that collects Windows event logs and sends them to your Secure60 Collector in a flat JSON format aligned with the Secure60 Common Information Model (CIM). It runs on Windows servers and workstations and can be used interactively or installed as a Windows service so it starts automatically at boot.
ignore_older), and optional XML querymessage_text, host_name, source_name, event_data_*, and CIM aliases for rulesC:\Secure60Agent) and copy the downloaded exe into it. Create secure60-win-log-agent.yml in the same folder (use the sample in Configuration Reference or from your Secure60 distribution).Edit secure60-win-log-agent.yml in that folder. At minimum, set your Secure60 Collector URL under output.http.hosts:
output:
http:
hosts: ["https://your-collector.secure60.local"]
You can leave other defaults or adjust event logs, retry, and TLS as described in Configuration Reference.
Open Command Prompt or PowerShell as Administrator, then:
cd C:\Secure60Agent
secure60-win-log-agent-1.0.9.exe install
The agent registers as a Windows service named Secure60 Win Log Agent. The service is configured to use the folder containing the executable as its working directory, so it finds secure60-win-log-agent.yml next to the exe.
net start Secure60WinLogAgent
The service starts and begins collecting and sending events. It is set to Automatic startup, so it will start again after a reboot.
You can confirm the service in Windows Services: open services.msc, find Secure60 Win Log Agent, and check that Status is Running and Startup Type is Automatic.

The same executable supports interactive use and service management.
| Option | Command | Description |
|---|---|---|
| Run interactively | secure60-win-log-agent-1.0.9.exe |
Runs in the foreground; useful for testing. Use Ctrl+C to stop. Config file: secure60-win-log-agent.yml in the current directory, or use -c path\to\config.yml. |
| Install service | secure60-win-log-agent-1.0.9.exe install |
Installs the Windows service (requires Administrator). Working directory is set to the exe folder so the YAML beside the exe is used. |
| Uninstall service | secure60-win-log-agent-1.0.9.exe uninstall |
Removes the Windows service (requires Administrator). |
| Start service | secure60-win-log-agent-1.0.9.exe start |
Starts the service. You can also use net start Secure60WinLogAgent. |
| Stop service | secure60-win-log-agent-1.0.9.exe stop |
Stops the service. You can also use net stop Secure60WinLogAgent or stop it from services.msc. |
When running as a service, the agent uses the config file in the service working directory (the folder where you ran install). When running interactively, it uses the current directory or the path given by -c. (If you use a different build or version, replace secure60-win-log-agent-1.0.9.exe with your executable’s name in the commands above.)
The agent is configured via a single YAML file: secure60-win-log-agent.yml. By default the agent looks for this file in the current directory (interactive) or in the service working directory (when run as a service). Use -c to specify a different path when running interactively.
The event_logs list defines which Windows event logs (channels) to collect. Each entry can include:
| Key | Description |
|---|---|
name |
Required. Channel name (e.g. Application, System, Security, Windows PowerShell, Microsoft-Windows-PowerShell/Operational, ForwardedEvents). |
id |
Optional identifier for checkpointing; defaults to the channel name. |
ignore_older |
Optional. Only collect events newer than this (e.g. 72h, 24h, 1h). Omit to collect all available events. |
event_id |
Optional. Comma-separated event IDs to filter (e.g. 400, 403, 600, 800). |
provider |
Optional. Restrict to specific provider names. |
include_xml |
Optional. Include raw event XML in each event (default: false). |
include_message |
Optional. Include the rendered message text as message_text (default: true). Set to false to omit. |
xml_query |
Optional. Advanced XML query; use with id. |
batch_read_size |
Optional. Max events per read batch (default: 512). |
Example:
event_logs:
- name: Application
ignore_older: 72h
- name: System
- name: Security
- name: Windows PowerShell
event_id: 400, 403, 600, 800
- name: Microsoft-Windows-PowerShell/Operational
event_id: 4103, 4104, 4105, 4106
Events are sent to the URL(s) under output.http:
| Key | Description |
|---|---|
hosts |
Required. List of collector URLs (e.g. ["https://collector.secure60.local:8080"]). |
protocol |
Optional. https or http; often inferred from the URL. |
headers |
Optional. Extra HTTP headers (e.g. Content-Type: application/json, X-Secure60-Agent: win-log-agent). |
retry.max_attempts |
Optional. Retry attempts per batch (default: 3). |
retry.wait_min / retry.wait_max |
Optional. Backoff between retries (e.g. 1s, 10s). |
ssl.verification_mode |
Optional. full (verify server cert), none or skip (e.g. for self-signed or testing). |
ssl.certificate_authorities |
Optional. Paths to CA certs when using full verification. |
ssl.certificate / ssl.key |
Optional. Client certificate and key for mTLS. |
Example:
output:
http:
hosts: ["https://collector.secure60.local:8080"]
headers:
Content-Type: "application/json"
X-Secure60-Agent: "win-log-agent"
retry:
max_attempts: 3
wait_min: 1s
wait_max: 10s
ssl:
verification_mode: "none" # use "full" and certificate_authorities in production
| Key | Description |
|---|---|
registry_file |
File path for checkpoint/state (default: .secure60-win-log-agent.yml in the working directory). The agent uses this to resume after restart. |
logging.level |
Log level (e.g. info, debug). |
Example:
registry_file: ".secure60-win-log-agent.yml"
logging:
level: info
secure60-win-log-agent-1.0.9.exe -c "C:\Path\To\MyConfig.yml"Changing the config (e.g. output.http.hosts or event_logs) requires restarting the agent (or the service) for changes to take effect.
The agent writes log output so you can troubleshoot issues whether it runs interactively or as a service.
The event log source is registered when you run install and removed when you run uninstall. Use the log file for detailed messages (e.g. HTTP retries, event log backoff); use Event Viewer for start/stop and critical errors.
Events are sent to the collector as a JSON array. Each event is a flat object (no nested structures) with lowercase keys, aligned with Secure60 CIM where applicable. Fields include:
windows-logevent_data_targetusername, event_data_ipaddress)The agent sends only message_text for the rendered message (no separate message field).
Use a dedicated folder — Keep the exe and YAML in one folder (e.g. C:\Secure60Agent) and install the service from there so the working directory and config path are predictable.
Set the collector URL first — Before installing the service, set output.http.hosts in secure60-win-log-agent.yml to your Secure60 Collector URL.
TLS in production — For production, use ssl.verification_mode: "full" and configure ssl.certificate_authorities (and client cert/key if required).
Limit event volume if needed — Use ignore_older (e.g. 72h) or event_id filters to reduce volume and focus on the channels and events you need.
Confirm the service after install — After install and net start Secure60WinLogAgent, check services.msc to confirm Status is Running and Startup Type is Automatic.
Upgrades — To upgrade, stop the service, replace the exe (and update the YAML if needed), then start the service again. The checkpoint file is preserved so collection continues from the last position.