Sensor für „db_size“ von core-mariadb

DERUC Geeetech Acryl Prusa 3D Drucker DIY Kit Pro B Einfache Montage Prusa I3 Acryl-3D-Drucker kit
DERUC Geeetech Acryl Prusa 3D Drucker DIY Kit Pro B Einfache Montage Prusa I3 Acryl-3D-Drucker kit
--

Im Discord wurde nach einem Sensor für die Datenbankgröße der MariaDB gefragt.

Hier ist unsere Lösung:

Wir erstellen folgenden Sensor:

### MARIA DB SIZE ##############################################################
  - platform: sql
    db_url: !secret db_url
    queries:
      - name: MariaDB size
        query: 'SELECT table_schema "database", Round(Sum(data_length + index_length) / 1024 / 1024, 1) "value" FROM information_schema.tables WHERE table_schema="homeassistant" GROUP BY table_schema;'
        column: 'value'
        unit_of_measurement: MB

normalerweise würde jetzt hinter db_url: der direkte Pfad zur Datenbank stehen. Da dies aber sensible Daten sind, haben die m.M.n. hier nichts zu suchen, sondern gehören in eine separate Datei. Und zwar in die secrets.yaml

Wie ihr die anlegt, und wie ihr damit umgeht, erfahrt ihr in dem Beitrag: Passwörter und sonstige geheime Daten aus der Konfiguration auslagern


Anschließend kann man sich diesen beispielsweise in einer custom:bar-card (HACS) anzeigen lassen:

type: custom:bar-card
title_position: inside
icon: mdi:database
max: 500
severity:
  - value: 150
    color: '#40bf60'
  - value: 200
    color: '#ffa500'
  - value: 250
    color: '#e60000'
entities:
  - entity: sensor.mariadb_size