Newer
Older
nextcloud-monitoring-dashboard / zabbix-agent-scripts / get_db_metrics.py
@pmarini pmarini on 20 Dec 2023 947 bytes first commit of assets
import pandas as pd

import mariadb as mdb

conn = mdb.connect(user="ncmonitor_usr",
                   password="oosi975nrlemtdn9395krwfd",
                   host="localhost",
                   port=3306,
                   database="nextcloud_db")

cur=conn.cursor()

cur.execute(
        """
        SELECT TABLE_NAME AS `Table`, 
                             TABLE_ROWS AS `Rows`,
                             ROUND((DATA_LENGTH + INDEX_LENGTH) / 1024 ) AS `Size (kB)`     
                   FROM information_schema.TABLES 
                   WHERE TABLE_SCHEMA='nextcloud_db' 
                   ORDER BY (DATA_LENGTH + INDEX_LENGTH) DESC;
        """
)

df = pd.DataFrame(cur.fetchall(), columns=["table","nr_rows","size_kb"])

tables_to_monitor = "'oc_filecache','oc_comments','oc_authtoken','oc_circles_event','oc_share'"

df.query("table in (%s)" % tables_to_monitor).to_json("/var/lib/zabbix/output/db_metrics.json",orient='columns')