> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pulseguard.nl/llms.txt
> Use this file to discover all available pages before exploring further.

# Device Monitoring

> Monitor your servers, IoT devices, and other hardware

## Overview

Device monitoring stelt je in staat om de gezondheid, performance en security van je servers, workstations en IoT apparaten bij te houden. PulseGuard's agent verzamelt uitgebreide system metrics, proces informatie en netwerk data om je een compleet beeld te geven van je device gezondheid.

<Note>
  Device monitoring vereist installatie van een lightweight agent op je apparaten. De agent heeft minimale impact op system performance en resources.
</Note>

## Ondersteunde Platforms

PulseGuard agents zijn beschikbaar voor:

<CardGroup cols={3}>
  <Card title="Windows" icon="windows">
    Windows Server 2012 R2+, Windows 10/11
  </Card>

  <Card title="Linux" icon="linux">
    Ubuntu, CentOS, Debian, Red Hat, Fedora, SUSE
  </Card>

  <Card title="macOS" icon="apple">
    macOS 10.15+ (Catalina en nieuwer)
  </Card>
</CardGroup>

## Device Toevoegen

<Steps>
  <Step title="Navigeer naar Devices sectie">
    Klik op "Devices" in de hoofdnavigatie sidebar.
  </Step>

  <Step title="Nieuw device toevoegen">
    Klik op "Add New" en selecteer "Add New Device".
  </Step>

  <Step title="Genereer registratie token">
    PulseGuard genereert een unieke 6-cijferige code voor device registratie.
  </Step>

  <Step title="Download en installeer agent">
    Download de agent voor je platform en installeer met de token.
  </Step>

  <Step title="Verificeer verbinding">
    Agent verbindt automatisch en begint met data verzenden.
  </Step>
</Steps>

## Agent Installatie

### Windows

```bash theme={null}
# Download installer
# Via web interface: Devices → Add Device → Download Windows Agent

# Run als administrator
PulseGuard-Agent-Setup.exe

# Voer registratie code in wanneer gevraagd
# Agent start automatisch en verbindt met PulseGuard
```

### Linux

```bash theme={null}
# Download installatie script
wget https://guard.ipulse.one/downloads/agent/linux/install.sh

# Maak executable
chmod +x install.sh

# Installeer met je API token
sudo ./install.sh YOUR_REGISTRATION_TOKEN

# Agent start automatisch
sudo systemctl status pulseguard-agent
```

### macOS

```bash theme={null}
# Download installatie script
curl -O https://guard.ipulse.one/downloads/agent/macos/install.sh

# Maak executable
chmod +x install.sh

# Installeer met je API token
sudo ./install.sh YOUR_REGISTRATION_TOKEN

# Agent start automatisch
```

## Bewaakte Metrics

### Systeem Metrics

#### CPU Monitoring

* **Gebruik Percentage**: Real-time CPU utilization per core
* **Load Average**: 1, 5 en 15 minuten gemiddelden
* **Process Queue**: Aantal processen in wachtrij
* **Core Informatie**: Aantal cores, threads, frequency

#### Geheugen (RAM)

* **Totaal Geheugen**: Installed RAM capacity
* **Gebruikt Geheugen**: Current memory usage
* **Vrij Geheugen**: Available memory
* **Swap Usage**: Swap file utilization
* **Memory Pressure**: System memory pressure indicator

#### Opslag (Disk)

* **Disk Usage**: Per drive/mount point usage percentages
* **Read/Write Speed**: I/O throughput metrics
* **Inode Usage**: File system inode utilization
* **SMART Status**: Hard drive health indicators (indien beschikbaar)

### Netwerk Monitoring

#### Netwerk Interfaces

* **IP Adressen**: IPv4 en IPv6 adressen
* **MAC Addresses**: Hardware addresses
* **Interface Status**: Up/down status per interface
* **Speed/Duplex**: Link speed en duplex mode

#### Netwerk Verkeer

* **Bytes In/Out**: Totaal data transfer
* **Packets In/Out**: Packet counters
* **Errors/Drops**: Netwerk errors en dropped packets
* **Bandwidth Usage**: Real-time throughput

#### Netwerk Connecties

* **Active Connections**: Lijst van actieve TCP/UDP connecties
* **Listening Ports**: Open ports en bijbehorende processen
* **Connection States**: ESTABLISHED, LISTEN, TIME\_WAIT, etc.

### Proces Monitoring

#### Proces Informatie

* **PID**: Process ID
* **Naam**: Process naam en command line
* **User**: Process eigenaar
* **CPU Usage**: CPU percentage per proces
* **Memory Usage**: RAM usage in MB
* **Status**: Running, Sleeping, Stopped, Zombie

#### Proces Management

* **Process Tree**: Parent/child relationships
* **Start Time**: Wanneer proces is gestart
* **CPU Time**: Totaal CPU time gebruikt
* **Threads**: Aantal threads per proces

### Applicatie Monitoring

#### Geïnstalleerde Applicaties

* **Naam**: Applicatie naam
* **Versie**: Versie nummer
* **Publisher**: Software ontwikkelaar
* **Install Path**: Installatie locatie
* **Size**: Disk space usage

#### Running Applications

* **Process Name**: Uitvoerbare naam
* **Status**: Running status
* **Last Used**: Wanneer applicatie voor het laatst gebruikt is
* **Resource Usage**: CPU en memory consumption

### Bestandsysteem Monitoring

#### File System Info

* **Mount Points**: Alle mounted file systems
* **File System Type**: ext4, NTFS, APFS, etc.
* **Total/Free Space**: Capaciteit en beschikbare ruimte
* **Permissions**: File system permissies

#### File Integrity (Optioneel)

* **Critical Files**: Bewaak changes in belangrijke configuratie files
* **Hash Monitoring**: MD5/SHA1 hashes voor file integrity
* **Permission Changes**: Detecteer permission modifications

### Systeem Informatie

#### OS Informatie

* **OS Name/Version**: Operating system details
* **Kernel Version**: Kernel versie en build
* **Architecture**: x86\_64, ARM64, etc.
* **Uptime**: System uptime in seconden

#### Hardware Info

* **CPU Model**: Processor specificaties
* **RAM Modules**: Memory module details
* **Storage Devices**: Hard drives en SSD's
* **Network Cards**: Network interface cards

## Device Dashboard

Elk device heeft een uitgebreid dashboard:

### Health Status Indicator

* **🟢 Healthy**: Alle systemen normaal
* **🟡 Warning**: Enkele metrics buiten normale range
* **🔴 Critical**: Kritieke problemen gedetecteerd
* **⚫ Offline**: Device niet bereikbaar

### Real-time Metrics

* **CPU Graph**: Live CPU usage over tijd
* **Memory Graph**: RAM utilization trends
* **Network Graph**: Bandwidth usage
* **Disk Graph**: Storage usage trends

### Top Processes

* **CPU Intensive**: Processen met hoogste CPU usage
* **Memory Intensive**: Processen met hoogste memory usage
* **Network Intensive**: Processen met meeste network activity

### System Overview

* **OS Info**: Operating system details
* **Hardware Specs**: CPU, RAM, Disk specificaties
* **Network Config**: IP addresses, DNS servers
* **Security Status**: Firewall, antivirus status

## Alert Configuratie

Configureer alerts voor verschillende metric thresholds:

### CPU Alerts

* **High CPU Usage**: Alert wanneer CPU > 80% voor > 5 minuten
* **Critical CPU**: Alert wanneer CPU > 95%
* **Load Average**: Alert bij hoge load averages

### Memory Alerts

* **Low Memory**: Alert wanneer vrij geheugen \< 10%
* **Swap Usage**: Alert bij intensief swap gebruik
* **Memory Pressure**: Alert bij systeem memory pressure

### Disk Alerts

* **Low Disk Space**: Alert wanneer disk usage > 90%
* **No Disk Space**: Critical alert bij \< 5% vrij
* **Disk I/O Issues**: Alert bij langzame disk performance

### Netwerk Alerts

* **High Bandwidth**: Alert bij ongewoon hoog verkeer
* **Network Errors**: Alert bij packet errors/drops
* **Interface Down**: Alert wanneer network interface uitvalt

### Proces Alerts

* **Process Down**: Alert wanneer kritieke processen stoppen
* **High Resource Usage**: Alert bij processen die te veel resources gebruiken
* **Zombie Processes**: Alert bij zombie process accumulatie

## Device Groepen

Organiseer devices in groepen voor beter beheer:

### Groep Features

* **Bulk Configuration**: Stel dezelfde settings in voor multiple devices
* **Group Alerts**: Configureer alerts per groep
* **Access Control**: Beheer permissies per groep
* **Reporting**: Genereer rapporten per groep

### Use Cases

* **Production Servers**: Alle productie servers in één groep
* **Development Machines**: Development environment devices
* **Geografische Groepen**: Devices per locatie/datacenter
* **Functie Groepen**: Web servers, database servers, etc.

## Security Features

### Agent Security

* **Encrypted Communication**: Alle data versleuteld verzonden
* **Token Authentication**: Veilige device authenticatie
* **Minimal Permissions**: Agent draait met minimale privileges
* **Regular Updates**: Automatische security updates

### Monitoring Security

* **Data Encryption**: Metrics encrypted at rest en in transit
* **Access Control**: Role-based access tot device data
* **Audit Logging**: Alle agent activities gelogd
* **Anomaly Detection**: Detecteer verdachte device behavior

## Troubleshooting

### Agent Connection Issues

**Agent kan niet verbinden**

```bash theme={null}
# Check agent status
sudo systemctl status pulseguard-agent

# Check agent logs
sudo journalctl -u pulseguard-agent -f

# Restart agent
sudo systemctl restart pulseguard-agent
```

**Invalid token error**

* Controleer of registratie token correct is ingevoerd
* Genereer nieuwe token in PulseGuard dashboard
* Reinstalleer agent met nieuwe token

### Performance Issues

**Agent gebruikt te veel CPU**

* Controleer agent versie (moet >= 1.0.0 zijn)
* Stel lagere check interval in
* Exclude performance-intensive monitoring

**Agent veroorzaakt disk I/O**

* Stel lagere logging frequency in
* Exclude file system monitoring indien niet nodig
* Controleer disk space (> 100MB vrij)

### Data Collection Issues

**Metrics ontbreken**

* Controleer agent permissions
* Verificeer dat benodigde system tools geïnstalleerd zijn
* Check agent logs voor foutmeldingen

**Inaccurate data**

* Synchroniseer system clock
* Controleer timezone instellingen
* Verificeer dat agent de juiste locale gebruikt

## Plan Limits

<table>
  <thead>
    <tr>
      <th>Plan</th>
      <th>Devices</th>
      <th>Check Interval</th>
      <th>Metrics Historie</th>
      <th>Advanced Monitoring</th>
      <th>Custom Alerts</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>Free</td>
      <td>1</td>
      <td>5 min</td>
      <td>7 dagen</td>
      <td>❌</td>
      <td>Basic</td>
    </tr>

    <tr>
      <td>Pro</td>
      <td>10</td>
      <td>1 min</td>
      <td>30 dagen</td>
      <td>✅</td>
      <td>Advanced</td>
    </tr>

    <tr>
      <td>Expert</td>
      <td>50</td>
      <td>30 sec</td>
      <td>90 dagen</td>
      <td>✅</td>
      <td>Custom</td>
    </tr>
  </tbody>
</table>

## API Integration

Gebruik de REST API voor device beheer:

```bash theme={null}
# Alle devices ophalen
curl -H "Authorization: Bearer YOUR_TOKEN" https://api.ipulse.one/devices

# Device statistieken
curl -H "Authorization: Bearer YOUR_TOKEN" https://api.ipulse.one/devices/stats

# Device details
curl -H "Authorization: Bearer YOUR_TOKEN" https://api.ipulse.one/devices/DEVICE_ID

# Device metrics ophalen
curl -H "Authorization: Bearer YOUR_TOKEN" https://api.ipulse.one/devices/DEVICE_ID/metrics?type=cpu

# Regenerate agent token
curl -X POST https://api.ipulse.one/devices/DEVICE_ID/regenerate-token \
  -H "Authorization: Bearer YOUR_TOKEN"
```

## Best Practices

### Deployment

1. **Staged Rollout**: Begin met test devices voordat je productie uitrolt
2. **Version Consistency**: Houd alle agents up-to-date
3. **Backup Tokens**: Bewaar registratie tokens veilig
4. **Network Planning**: Zorg voor agent toegang tot PulseGuard API

### Monitoring

1. **Baseline Establishment**: Monitor normaal gedrag voordat je alerts instelt
2. **Alert Tuning**: Stel thresholds in gebaseerd op je specifieke environment
3. **Regular Reviews**: Controleer regelmatig alert configuraties
4. **Documentation**: Documenteer custom monitoring setups

### Security

1. **Token Rotation**: Vernieuw agent tokens regelmatig
2. **Network Security**: Beperk agent network toegang indien mogelijk
3. **Log Monitoring**: Controleer agent logs voor security events
4. **Update Policy**: Houd agents up-to-date met security patches

### Performance

1. **Resource Planning**: Zorg voor voldoende resources op monitored devices
2. **Load Balancing**: Verdeel monitoring load over tijd
3. **Metric Selection**: Selecteer alleen benodigde metrics
4. **Storage Planning**: Plan voor metrics data retention
