System Monitoring - How does yours look?

Monitor docker needs to be installed on the Pi with Home Assistant. Then in the monitor docker configuration you need to add the URL like this:

monitor_docker:
  - name: RemoteDocker
    url: tcp://ip-of-your-nas:2375

I have this but no entities…

monitor_docker:
  - name: Docker
    url: tcp://192.168.0.10:2376
    scan_interval: 30
    containers:
      - portainer
    # rename:
    #   appdaemon: AppDaemon
    monitored_conditions:
      - version
      - containers_running
      - containers_total
      - state
      - status
      - memory  
      - containers_cpu_percentage
      - containers_memory_percentage       
      - cpu_percentage
      - memory_percentage

You have to modify your systemd file to utilize the -H parameter.

File: /etc/systemd/system/multi-user.target.wants/docker.service

Example:

ExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:2375 --containerd=/run/containerd/containerd.sock

Full file:

[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
BindsTo=containerd.service
After=network-online.target firewalld.service containerd.service
Wants=network-online.target
Requires=docker.socket

[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:2375 --containerd=/run/containerd/containerd.sock
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=0
RestartSec=2
Restart=always

# Note that StartLimit* options were moved from "Service" to "Unit" in systemd 229.
# Both the old, and new location are accepted by systemd 229 and up, so using the old location
# to make them work for either version of systemd.
StartLimitBurst=3

# Note that StartLimitInterval was renamed to StartLimitIntervalSec in systemd 230.
# Both the old, and new name are accepted by systemd 230 and up, so using the old name to make
# this option work for either version of systemd.
StartLimitInterval=60s

# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity

# Comment TasksMax if your systemd version does not support it.
# Only systemd 226 and above support this option.
TasksMax=infinity

# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes

# kill only the docker process, not all processes in the cgroup
KillMode=process

[Install]
WantedBy=multi-user.target
3 Likes

Thank you so much for this! It’s beautifull!
How do you make the sensors:

  • entity: sensor.supervisor_updates
  • entity: sensor.snapshot_backup

The other sensors i found by google search :slight_smile:

image

  - platform: systemmonitor
    resources:
      - type: disk_use
        arg: /
      - type: disk_use_percent
        arg: /
      - type: disk_free
        arg: /
      - type: memory_use_percent
      - type: memory_use
      - type: memory_free
      - type: swap_use_percent
      - type: swap_free
      - type: load_1m
      - type: load_5m
      - type: load_15m
      - type: swap_free
      - type: swap_free
      - type: processor_use
      - type: processor_temperature
      - type: last_boot

# https://www.home-assistant.io/integrations/uptime/

  - platform: uptime
#  - platform: version

# https://community.home-assistant.io/t/updater-card-to-show-new-version/100923/7?u=mikael_kristensen
  #==============================
  #=== Installed hass.io version
  #==============================
  - platform: version
    name: Current Version

  #================================
  #=== Latest Available HA Version
  #================================
  - platform: version
    name: Latest Available Version
    beta: false
    image: raspberrypi3
    source: hassio
    
    

What theme are you using. It’s stunning.

https://community.home-assistant.io/t/day-and-night/116232/14?u=tom_l

1 Like

Hi

I like your multi line graphs, do you mind sharing?

I looked if you ever posted them but couldn’t find them in the tread.

Supervisor updates is first post in this thread:

(Updated recently so different from my post in this thread)

Snapshot is a sensor which I believe is created by the Google drive backup component.

What am I missing or doing wrong. The color bar isn’t displaying. I have the bar-card.js file and is pointing to it.
2020-12-17_11-07-59

  - type: entities
    title: BLE Signals
    show_header_toggle: false
    entities:
      - entity: sensor.cr_curtain_left_ble_signal
        name: Computer Room Curtain Left
        positions:
          icon: 'off'
          indicator: 'off'
      - entity: sensor.cr_curtain_right_ble_signal
        name: Computer Room Curtain Right
        positions:
          icon: 'off'
          indicator: 'off'
          value: inside
      - entity: sensor.lr_curtain_left_ble_signal
        name: Living Room Curtain Left
        positions:
          icon: 'off'
          indicator: 'off'
      - entity: sensor.lr_curtain_right_ble_signal
        name: Living Room Curtain Right
        positions:
          icon: 'off'
          indicator: 'off'
          value: inside
    severity:
      - color: '#0F9D58'
        from: -63
        to: -100
      - color: '#F4B400'
        from: -40
        to: -59
      - color: '#DB4437'
        from: -10
        to: -39
    type: 'custom:bar-card'

Edited: Update code
Looks like I forgot to include the min: and max: values. Working now.

  - type: entities
    title: BLE Signals
    show_header_toggle: false
    max: -100
    min: 0
    positions:
      icon: 'off'
      indicator: 'off'
      value: inside
    entities:
      - entity: sensor.cr_curtain_left_ble_signal
        name: Computer Room Curtain Left
      - entity: sensor.cr_curtain_right_ble_signal
        name: Computer Room Curtain Right
      - entity: sensor.lr_curtain_left_ble_signal
        name: Living Room Curtain Left
      - entity: sensor.lr_curtain_right_ble_signal
        name: Living Room Curtain Right
    severity:
      - color: var(--label-badge-green)
        from: -67
        to: ''
      - color: orange
        from: -80
        to: -67
      - color: var(--label-badge-red)
        from: -90
        to: -80
    type: custom:bar-card

mine… (heavy work in progress.) It is a popup with browser_mod and dwains theme :slight_smile:

7 Likes

I am using:

  • Open Hardware Monitor for two Windows clients,
  • Netdata for Raspberry Pi #1 (libreelec),
  • System monitor for Raspberry Pi #2 (with Home Assistant in Docker).

So far it works. The only visible problem is that Netdata client on RPi sometimes becomes “unhealthy” and does not respond.

Just heard about Glances. Has anyone compared Glances with Netdata?

very nice and very well done @NdR !
I’ll use your view as a template :wink:

how did you define the control/status bar on the left?

Hello, I have an Intel Nuc and would like to monitor my Raspberry Pi on the Raspberry is running RaspberryMatic (Homematic Server) someone may have advice on how to query the sensors

Check out this topic:

Hi, thanks for the quick response. Where do I have to install the pyhton libaries on the Nuc with Hassio?

On the pi.

How can I find out the name of the wired network interface to be used with systemmonitor? Using (learning) NUC with HA OS. I’ve tried various names found by going through severals topis and attempts, i.e. eth0, ens18, if20, link/ether, eth0@if20…

It used to be listed in Supervisor / Sysyem / Host / … / Hardware but that’s just a mess now.

Try ifconfig at a command prompt (SSH terminal addon).

Thanks for the tips. Hadn’t checked this Supervisor / … / Harware before, but unfortunately it doesn’t show network related info.
Tried ipconfig (familiar with that from the Windows side) already before, but it is not installed in HA OS. Wonder if I can install more commands to HA OS? Also lm-monitor might give more interesting info, like more detailed CPU temperatures.