mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-05-09 04:29:03 +00:00
101 lines
3.6 KiB
Markdown
101 lines
3.6 KiB
Markdown
---
|
|
layout: page
|
|
title: "System Monitor"
|
|
description: "Instructions how to monitor the Home Assistant host."
|
|
date: 2015-03-23 19:59
|
|
sidebar: true
|
|
comments: false
|
|
sharing: true
|
|
footer: true
|
|
logo: system_monitor.png
|
|
ha_category: System Monitor
|
|
ha_release: pre 0.7
|
|
ha_iot_class: "Local Push"
|
|
---
|
|
|
|
The `systemmonitor` sensor platform allows you to monitor disk usage, memory usage, CPU usage, and running processes. This platform has superseded the process component which is now considered deprecated.
|
|
|
|
To add this platform to your installation, add the following to your `configuration.yaml` file:
|
|
|
|
```yaml
|
|
# Example configuration.yaml entry
|
|
sensor:
|
|
- platform: systemmonitor
|
|
resources:
|
|
- type: disk_use_percent
|
|
arg: /home
|
|
- type: memory_free
|
|
```
|
|
|
|
Configuration variables:
|
|
|
|
- **resources** array (*Required*): Contains all entries to display.
|
|
- **type** (*Required*): The type of the information to display, please check the table below for details.
|
|
- **arg** (*Optional*): Argument to use, please check the table below for details.
|
|
|
|
The table contains types and their argument to use in your `configuration.yaml` file.
|
|
|
|
| Type (`type:`) | Argument (`arg:`) |
|
|
| :------------------ |:--------------------------|
|
|
| disk_use_percent | Path, eg. `/` |
|
|
| disk_use | Path, eg. `/` |
|
|
| disk_free | Path, eg. `/` |
|
|
| memory_use_percent | |
|
|
| memory_use | |
|
|
| memory_free | |
|
|
| swap_use_percent | |
|
|
| swap_use | |
|
|
| swap_free | |
|
|
| load_1m | |
|
|
| load_5m | |
|
|
| load_15m | |
|
|
| network_in | Interface, eg. `eth0` |
|
|
| network_out | Interface, eg. `eth0` |
|
|
| packets_in | Interface, eg. `eth0` |
|
|
| packets_out | Interface, eg. `eth0` |
|
|
| ipv4_address | Interface, eg. `eth0` |
|
|
| ipv6_address | Interface, eg. `eth0` |
|
|
| processor_use | |
|
|
| process | Binary, e.g. `octave-cli` |
|
|
| last_boot | |
|
|
| since_last_boot | |
|
|
|
|
**Note**: Some `type:` names used in the `configuration.yaml` file differ from the entity names.
|
|
|
|
| Sensor type | Entity ID |
|
|
| :------------------ |:-------------------------|
|
|
| memory_free | sensor.ram_available |
|
|
| memory_use_percent | sensor.ram_used |
|
|
| processor_use | sensor.cpu_used |
|
|
|
|
## {% linkable_title Linux specific %}
|
|
|
|
To retrieve all available network interfaces on a Linux System, execute the `ifconfig` command.
|
|
|
|
```bash
|
|
$ ifconfig -a | sed 's/[ \t].*//;/^$/d'
|
|
```
|
|
|
|
## {% linkable_title Windows specific %}
|
|
|
|
When running this platform on Microsoft Windows, Typically, the default interface would be called `Local Area Connection`, so your configuration might look like:
|
|
|
|
```yaml
|
|
sensor:
|
|
- platform: systemmonitor
|
|
resources:
|
|
- type: network_in
|
|
arg: 'Local Area Connection'
|
|
```
|
|
|
|
If you need to use some other interface, open a command line prompt and type `ipconfig` to list all interface names. For example a wireless connection output from `ifconfig` might look like:
|
|
|
|
```bash
|
|
Wireless LAN adapter Wireless Network Connection:
|
|
|
|
Media State . . . . . . . . . . . : Media disconnected
|
|
Connection-specific DNS Suffix . :
|
|
```
|
|
|
|
Where the name is `Wireless Network Connection`
|