Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pull] master from netdata:master #227

Merged
merged 3 commits into from
Dec 10, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 21 additions & 12 deletions packaging/windows/WINDOWS_INSTALLER.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,9 @@ You can download the Netdata Windows installer (MSI) from the official releases
| [Stable](https://github.com/netdata/netdata/releases/latest/download/netdata-x64.msi) | This is the recommended version for most users as it provides the most reliable and well-tested features. |
| [Nightly](https://github.com/netdata/netdata-nightlies/releases/latest/download/netdata-x64.msi) | Offers the latest features but may contain bugs or instabilities. Use this option if you require access to the newest features and are comfortable with potential issues. |

## Graphical User Interface (GUI)

1. **Double-click** the installer to begin the setup process.
2. **Grant Administrator Privileges**: You'll need to provide administrator permissions to install the Netdata service.

Once installed, you can access your Netdata dashboard at `localhost:19999`.
> **Note**
>
> The Windows version of Netdata is intended for users on paid plans.

## Silent Mode (Command line)

Expand All @@ -41,14 +38,26 @@ This section provides instructions for installing Netdata in silent mode, which

### Example Usage

Connect your Agent to your Netdata Cloud Space with token `<YOUR_TOKEN>` and room `<YOUR_ROOM>`:
To connect your Agent to your Cloud Space:

```bash
msiexec /qn /i netdata-x64.msi TOKEN="<YOUR_TOKEN>" ROOMS="<YOUR_ROOM>"
msiexec /qn /i netdata-x64.msi TOKEN="<YOUR_TOKEN>" ROOMS="<YOUR_ROOMS>"
```

Replace `<YOUR_TOKEN>` and `<YOUR_ROOM>` with your Space claim token and Room ID, respectively.
Where:

> **Note**
>
> The Windows version of Netdata is intended for users on paid plans.
- `<YOUR_TOKEN>`: Your Space claim token from Netdata Cloud.
- `<YOUR_ROOMS>`: Your Room ID(s) from Netdata Cloud.

This command downloads and installs Netdata in one step:

```powershell
$ProgressPreference = 'SilentlyContinue'; Invoke-WebRequest https://github.com/netdata/netdata/releases/latest/download/netdata-x64.msi -OutFile "netdata-x64.msi"; msiexec /qn /i netdata-x64.msi TOKEN=<YOUR_TOKEN> ROOMS=<YOUR_ROOMS>
```

## Graphical User Interface (GUI)

1. **Double-click** the installer to begin the setup process.
2. **Grant Administrator Privileges**: You'll need to provide administrator permissions to install the Netdata service.

Once installed, you can access your Netdata dashboard at `localhost:19999`.
2 changes: 2 additions & 0 deletions src/collectors/COLLECTORS.md
Original file line number Diff line number Diff line change
Expand Up @@ -1169,6 +1169,8 @@ If you don't see the app/service you'd like to monitor in this list:

- [Processor](https://github.com/netdata/netdata/blob/master/src/collectors/windows.plugin/integrations/processor.md)

- [Semaphore statistics](https://github.com/netdata/netdata/blob/master/src/collectors/windows.plugin/integrations/semaphore_statistics.md)

- [System statistics](https://github.com/netdata/netdata/blob/master/src/collectors/windows.plugin/integrations/system_statistics.md)

- [System thermal zone](https://github.com/netdata/netdata/blob/master/src/collectors/windows.plugin/integrations/system_thermal_zone.md)
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ The scope defines the instance that the metric belongs to. An instance is unique

### Per Memory statistics instance

These metrics refer to the entire monitored instance
These metrics refer to the entire system.

This scope has no labels.

Expand Down
125 changes: 125 additions & 0 deletions src/collectors/windows.plugin/integrations/semaphore_statistics.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
<!--startmeta
custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/collectors/windows.plugin/integrations/semaphore_statistics.md"
meta_yaml: "https://github.com/netdata/netdata/edit/master/src/collectors/windows.plugin/metadata.yaml"
sidebar_label: "Semaphore statistics"
learn_status: "Published"
learn_rel_path: "Collecting Metrics/Windows Systems"
most_popular: False
message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE"
endmeta-->

# Semaphore statistics


<img src="https://netdata.cloud/img/windows.svg" width="150"/>


Plugin: windows.plugin
Module: PerflibObjects

<img src="https://img.shields.io/badge/maintained%20by-Netdata-%2300ab44" />

## Overview

Inter-Process Communication (IPC) enables different processes to communicate and coordinate with each other. This collector monitors IPC semaphores, which are synchronization tools that:

- Control access to shared resources (like files, memory, or devices).
- Ensure only one process can access a resource at a time.
- Prevent conflicts between competing processes.


It queries for the 'Objects' object from Perflib in order to gather the metrics.


This collector is only supported on the following platforms:

- windows

This collector only supports collecting metrics from a single instance of this integration.


### Default Behavior

#### Auto-Detection

The collector automatically detects all of the metrics, no further configuration is required.


#### Limits

The default configuration for this integration does not impose any limits on data collection.

#### Performance Impact

The default configuration for this integration is not expected to impose a significant performance impact on the system.


## Metrics

Metrics grouped by *scope*.

The scope defines the instance that the metric belongs to. An instance is uniquely identified by a set of labels.



### Per Semaphore statistics instance

These metrics refer to the entire system.

This scope has no labels.

Metrics:

| Metric | Dimensions | Unit |
|:------|:----------|:----|
| system.ipc_semaphores | semaphores | semaphores |



## Alerts

There are no alerts configured by default for this integration.


## Setup

### Prerequisites

No action required.

### Configuration

#### File

The configuration file name for this integration is `netdata.conf`.
Configuration for this specific integration is located in the `[plugin:windows]` section within that file.

The file format is a modified INI syntax. The general structure is:

```ini
[section1]
option1 = some value
option2 = some other value

[section2]
option3 = some third value
```
You can edit the configuration file using the [`edit-config`](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration/README.md#edit-a-configuration-file-using-edit-config) script from the
Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration/README.md#the-netdata-config-directory).

```bash
cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata
sudo ./edit-config netdata.conf
```
#### Options



| Name | Description | Default | Required |
|:----|:-----------|:-------|:--------:|
| PerflibObjects | An option to enable or disable the data collection. | yes | no |

#### Examples
There are no configuration examples.


Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ The scope defines the instance that the metric belongs to. An instance is unique

### Per System statistics instance

These metrics refer to the entire monitored instance.
These metrics refer to the entire system.

This scope has no labels.

Expand Down
90 changes: 88 additions & 2 deletions src/collectors/windows.plugin/metadata.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -179,7 +179,7 @@ modules:
availability: []
scopes:
- name: global
description: "These metrics refer to the entire monitored instance"
description: "These metrics refer to the entire system."
labels: []
metrics:
- name: mem.swap_iops
Expand Down Expand Up @@ -277,7 +277,7 @@ modules:
availability: []
scopes:
- name: global
description: "These metrics refer to the entire monitored instance."
description: "These metrics refer to the entire system."
labels: []
metrics:
- name: system.processes
Expand All @@ -298,6 +298,92 @@ modules:
chart_type: line
dimensions:
- name: switches
- meta:
plugin_name: windows.plugin
module_name: PerflibObjects
monitored_instance:
name: Semaphore statistics
link: "https://learn.microsoft.com/en-us/windows/win32/sync/semaphore-objects"
categories:
- data-collection.windows-systems
icon_filename: "windows.svg"
related_resources:
integrations:
list: []
info_provided_to_referring_integrations:
description: ""
keywords:
- ipc
- semaphores
most_popular: false
overview:
data_collection:
metrics_description: |
Inter-Process Communication (IPC) enables different processes to communicate and coordinate with each other. This collector monitors IPC semaphores, which are synchronization tools that:

- Control access to shared resources (like files, memory, or devices).
- Ensure only one process can access a resource at a time.
- Prevent conflicts between competing processes.
method_description: |
It queries for the 'Objects' object from Perflib in order to gather the metrics.
supported_platforms:
include: ["windows"]
exclude: []
multi_instance: false
additional_permissions:
description: ""
default_behavior:
auto_detection:
description: |
The collector automatically detects all of the metrics, no further configuration is required.
limits:
description: ""
performance_impact:
description: ""
setup:
prerequisites:
list: []
configuration:
file:
name: "netdata.conf"
section_name: "[plugin:windows]"
description: "The Netdata main configuration file"
options:
description: ""
folding:
title: "Config option"
enabled: false
list:
- name: PerflibObjects
description: An option to enable or disable the data collection.
default_value: yes
required: false
examples:
folding:
enabled: true
title: ""
list: []
troubleshooting:
problems:
list: []
alerts: []
metrics:
folding:
title: Metrics
enabled: false
description: ""
availability: []
scopes:
- name: global
description: "These metrics refer to the entire system."
labels: []
metrics:
- name: system.ipc_semaphores
description: IPC Semaphores
unit: "semaphores"
chart_type: area
dimensions:
- name: semaphores
- meta:
plugin_name: windows.plugin
module_name: PerflibThermalZone
Expand Down
Loading