Zenoss Cloud agent on Windows
You can install and configure the Zenoss Cloud agent agent to collect data from your Windows hosts and stream it directly to Zenoss Cloud. You can use the non-interactive installation method so you can easily automate its distribution to hosts throughout your environment.
After installation, you can configure and manage the Zenoss Cloud agent and collect metrics for your Windows hosts.
Installation process
During the non-interactive installation of the data monitor agent, the installer is supplied with a text file containing variables and parameter values that provide answers to the installer prompts, including the license agreement.
The non-interactive installation process includes the following tasks:
- Review hardware and software requirements as well as permissions.
- Download the distribution file.
- Set Zenoss API variables and optional parameter variables.
- Review and accept the license agreement.
- Start installation.
Before you begin
Before you begin installing the Zenoss Cloud agent on Windows, be sure that you meet the following requirements.
To install and manage the Zenoss Cloud agent, you will need to meet the following hardware requirements:
- 1 CPU core (64-bit)
- 30 MiB main memory
- A network interface that supports TCP/IP and provides a minimum of 5 Mbps (megabits per second) upload capacity
To install and manage the Zenoss Cloud agent on Windows, you will need to meet the following software requirements:
- Windows Server 2016 or later
- A Windows login account with Administrator privileges
- Internet access with outbound TCP traffic through port 443
- DNS support, so you can reach your Zenoss API endpoint
To support Zenoss tools, you will need to meet the following requirements:
-
Permission to download files at delivery.zenoss.io. You can contact the Zenoss Support site to request this permission.
-
A Zenoss API authentication key.
Download the distribution file
Perform the following steps to download the distribution file for the data monitor agent.
-
In a web browser, go to delivery.zenoss.io and log in to the Zenoss Support Portal.
-
In Zenoss Delivery, locate Collector 2.0 and click View/Hide to view the available files for download.
-
Download the latest file for Windows systems. For example, download the
zendatamon-agent_1.0.0_build113.msi
file. Note that the version number or build number might be different. -
If necessary, copy the file to the Zenoss Cloud agent host.
Install the Zenoss Cloud agent on Windows
Non-interactive installation
Perform the following steps to install (non-interactively) the data monitor agent.
Info
This procedure assumes you are using a PowerShell window ($VAR="value"
). Adjust as needed
for Command Prompt windows (set VAR="value"
).
-
Log in to the Windows host as a user with Administrator privileges.
-
Run PowerShell as Administrator, and then change directory to the directory where you saved the
zendatamon.msi
file. -
Set a temporary variable for your Zenoss API endpoint and port, which is always 443.
Replace
<YOUR_API_ENDPOINT>
with your endpoint:$myEndpoint="<YOUR_API_ENDPOINT>:443"
-
Set a temporary variable for a Zenoss API authentication key.
Replace
<YOUR_API_KEY>
with an API key:$myApiKey="<YOUR_API_KEY>"
-
(Optional) Set a temporary variable for a source name for this service.
The default value is
{hostname}.windows-agent
, where{hostname}
is replaced with the host's name. You can specify{ipaddr}
in the source name to get the host's IP address. As a best practice, append.windows-agent
to the source name.Replace
<YOUR_SOURCE_NAME>
with a source name for this service:$mySource="<YOUR_SOURCE_NAME>"
-
(Optional) Set a temporary variable for an alternate installation directory.
The default directory is
C:\Program Files (x86)\Zenoss
. Replace<YOUR_INSTALL_DIR>
with an absolute path:$myInstall="<YOUR_INSTALL_DIR>"
-
Review the license agreement for the Zenoss Cloud Agent Software.
-
Start the installation using one of the following commands, depending on your optional variables.
.\zendatamon.msi ZENOSS_LICENSE_AGREEMENT="yes" ZENOSS_API_ENDPOINT="$myEndpoint" ZENOSS_API_KEY="$myApiKey"
.\zendatamon.msi ZENOSS_LICENSE_AGREEMENT="yes" ZENOSS_API_ENDPOINT="$myEndpoint" ZENOSS_API_KEY="$myApiKey" ZENOSS_SOURCE="$mySource"
.\zendatamon.msi ZENOSS_LICENSE_AGREEMENT="yes" ZENOSS_API_ENDPOINT="$myEndpoint" ZENOSS_API_KEY="$myApiKey" ZENOSS_INSTALL_DIR="$myInstall"
.\zendatamon.msi ZENOSS_LICENSE_AGREEMENT="yes" ZENOSS_API_ENDPOINT="$myEndpoint" ZENOSS_API_KEY="$myApiKey" ZENOSS_SOURCE="$mySource" ZENOSS_INSTALL_DIR="$myInstall"
Managing the Zenoss Cloud agent on Windows
The Zenoss Cloud agent service has separate configuration files for itself and for the metrics and events it collects.
Manage the Zenoss Cloud agent service on Windows
Use Windows Services Manager to stop, pause, and restart the Zenoss Cloud agent service.
All of the user configuration properties in the configuration file for the Zenoss Cloud agent service
are set when you install the service. The default path of the service configuration file
is C:\Program Files (x86)\Zenoss\ZenDatamon\configs\agent.yaml
. The Zenoss Cloud agent service loads changes in the configuration file immediately.
In the following example file, the values that start with _ZDM_SEC_
are defined in the alternate.xml
text file in the
same directory.
apiVersion: v1
agent:
name: win.svc.zdmagent
source: _ZDM_SEC_<ALT_SOURCE>
defaultInterval: 60s
datasinks:
- name: zenoss-stream
type: zenoss
conf:
address: _ZDM_SEC_<ALT_ADDRESS>
apiKey: _ZDM_SEC_<ALT_APIKEY>
logOnly: false
configurationSource:
local:
- name: localds
directory: configs/datasources
secretlookup:
type: alternate
Manage the Zenoss Cloud agent metrics on Windows
The configuration file for the Windows datasource controls which metrics are collected.
The default path of the file is C:\Program Files (x86)\Zenoss\ZenDatamon\configs\datasources\localhost.yaml
.
The following is an example file:
apiVersion: v1
kind: datasource
name: localhost
spec:
type: localhost
datasource:
#disableSys: true
#disableNet: true
#disableMem: true
#disableCPU: true
#disableDisk: true
#disableDiskIO: true
filters:
# All metrics
metricPass:
- "*"
To deactivate collection for a group of metrics, you can remove the comment character (#
) in the metric group. By default,
all metrics are collected. In the following table, you can view the properties in the localhost.yaml
file paired with specific metrics:
Property | Metrics |
---|---|
(@spec.datasource.disableSys) | System |
(@spec.datasource.disableNet) | Network |
(@spec.datasource.disableMem) | Memory |
(@spec.datasource.disableCPU) | CPU |
(@spec.datasource.disableDisk) | Disk |
(@spec.datasource.disableDiskIO) | Disk I/O |
Manage the Zenoss Cloud agent events on Windows
The Zenoss Cloud agent gathers events from the Windows Event log using the
settings in its events configuration file. The default path of the file is
C:\Program Files (x86)\Zenoss\ZenDatamon\configs\datasources\winevents.yaml
.
The Zenoss Cloud agent service loads changes in the configuration file immediately.
Windows metrics
View the metrics for Windows in the following tables. Windows metrics include system, CPU, memory, disk, disk I/O, and network.
System metrics
Name | Units | Description |
---|---|---|
sys.boot_time | cycles | The collective time the system used during boot |
sys.cpu_count | count | A count of CPU cores |
sys.load1 | processes | The load average over the past 1 min on the system |
sys.load5 | processes | The load average over the past 5 mins on the system |
sys.load15 | processes | The load average over the past 15 mins on the system |
sys.process_count | count | The count of running processes |
sys.user_count | count | The count of current users |
sys.uptime | time | A monotonically incrementing metric for system up time |
CPU metrics
Name | Units | Description |
---|---|---|
cpu.time_active | cycles | A monotonically incrementing metric for CPU activity |
cpu.time_idle | cycles | A monotonically incrementing metric for CPU idleness |
cpu.time_guest | cycles | A monotonically incrementing metric for CPU guest activity |
cpu.time_guest_nice | cycles | A monotonically incrementing metric for CPU guest nice activity |
cpu.time_iowait | cycles | A monotonically incrementing metric for CPU IO Waiting activity |
cpu.time_irq | cycles | A monotonically incrementing metric for CPU IRQ activity |
cpu.time_nice | cycles | A monotonically incrementing metric for CPU Nice activity |
cpu.time_softirq | cycles | A monotonically incrementing metric for CPU Soft IRQ activity |
cpu.time_steal | cycles | A monotonically incrementing metric for CPU Steal activity |
cpu.time_system | cycles | A monotonically incrementing metric for CPU System activity |
cpu.time_user | cycles | A monotonically incrementing metric for CPU User activity |
cpu.usage_active | percent | Percent of CPU used for activity |
cpu.usage_idle | percent | Percent of CPU used for idleness |
cpu.usage_guest | percent | Percent of CPU used for guest activity |
cpu.usage_guest_nice | percent | Percent of CPU used for guest nice activity |
cpu.usage_iowait | percent | Percent of CPU used for IO Waiting activity |
cpu.usage_irq | percent | Percent of CPU used for IRQ activity |
cpu.usage_nice | percent | Percent of CPU used for Nice activity |
cpu.usage_softirq | percent | Percent of CPU used for Soft IRQ activity |
cpu.usage_steal | percent | Percent of CPU used for Steal activity |
cpu.usage_system | percent | Percent of CPU used for System activity |
cpu.usage_user† | percent | Percent of CPU used for User activity |
† Some releases of Windows do not collect this metric, so the value may be empty. |
Memory metrics
Name | Units | Description |
---|---|---|
mem.total | GB | The total amount of memory for the system |
mem.free | GB | The amount of free memory for the system |
mem.used | GB | The amount of used memory |
mem.utilization | percent | The percent of memory used |
mem.available | GB | The amount of available memory |
mem.available_percent | percent | The percent of memory available |
Disk metrics
Name | Units | Description |
---|---|---|
disk.total | GB | Total capacity of the disk |
disk.used | GB | Used space on the disk |
disk.used_percent | percent | Percent of the disk used |
disk.free | GB | Free space on the disk |
disk.free_percent† | percent | Percent of the disk free |
disk.inodes_total | count | Total INodes on the disk |
disk.inodes_used | count | Used INodes on the disk |
disk.inodes_free | count | Free INodes on the disk |
† Some releases of Windows do not collect this metric, so the value may be empty. |
Disk I/O metrics
Name | Units | Description |
---|---|---|
diskio.io_time | time | The time used for disk io operations |
diskio.weighted_io_time | time | The time used for disk io operations weighed over a period |
diskio.iops_in_progress | count | The number of IO operations in progress |
diskio.merged_reads | count | The number of merged read operations |
diskio.merged_writes | count | The number of merged write operations |
diskio.read_bytes | bytes | The number of bytes read |
diskio.read_time | time | The total time used for read operations |
diskio.write_bytes | bytes | The number of bytes written |
diskio.write_time | time | The total time used for write operations |
diskio.reads | count | The total number of read operations |
diskio.writes | count | The total number of write operations |
Network metrics
Name | Units | Description |
---|---|---|
net.data_sent | kbps | The rate of bytes being sent |
net.data_recv | kbps | The rate of bytes being received |
net.packets_sent | count | A monotonically incrementing metric for sent packets |
net.packets_recv | count | A monotonically incrementing metric for received packets |
net.drop_in | count | Count of lost inbound packets |
net.drop_out | count | Count of lost outbound packets |
net.err_in | count | Count of inbound packet errors |
net.err_out | count | Count of outbound packet errors |