Onde foi o espazo no servidor de Confluence? Ou estatísticas de Confluencia en anexos

Algunha vez quedaches sen espazo no teu servidor de Confluence e non sabes quen carga máis anexos?

Para descubrilo, necesitas acceder á base de datos de confluencia de PostgreSQL.

Usando unha consulta SQL contra unha base de datos PostgreSQL, podes atopar estatísticas útiles sobre Confluence.

Tamaño total de todos os anexos en Confluence:

SELECT s.spaceid,
       s.spacename,
       sum(LONGVAL)
FROM contentproperties c
JOIN content co ON c.contentid = co.contentid
JOIN spaces s ON co.spaceid = s.spaceid
WHERE c.contentid IN
    (SELECT contentid
     FROM content
     WHERE contenttype = 'ATTACHMENT')
  AND c.propertyname = 'FILESIZE'
GROUP BY s.spaceid
ORDER BY SUM DESC
LIMIT 5;

Saída (nome de espazo substituído):

Onde foi o espazo no servidor de Confluence? Ou estatísticas de Confluencia en anexos

Páxinas coa maioría das versións históricas combinadas:

SELECT title,
       MAX(VERSION)
FROM content
WHERE contenttype = 'PAGE'
GROUP BY title
ORDER BY 2 DESC
LIMIT 5;

Conclusión:

Onde foi o espazo no servidor de Confluence? Ou estatísticas de Confluencia en anexos

Os ficheiros anexos máis grandes da túa instancia de Confluence

SELECT DISTINCT c.contentid,
                c.title AS attachmentTitle,
                u.username AS uploadedBy,
                co.title AS pageTitle,
                cn.longval AS bytes
FROM CONTENT AS c
JOIN USER_MAPPING AS u ON u.user_key = c.creator
JOIN CONTENT AS co ON c.pageid = co.contentid
JOIN CONTENTPROPERTIES AS cn ON cn.contentid = c.contentid
WHERE c.contenttype = 'ATTACHMENT'
  AND cn.longval IS NOT NULL
ORDER BY cn.longval DESC
LIMIT 5;

Conclusión:

Onde foi o espazo no servidor de Confluence? Ou estatísticas de Confluencia en anexos

Número de páxinas da cesta e tamaño total das páxinas da cesta por espazo:


SELECT Count(content.contentid) AS number_of_trashed_pages,
       Pg_size_pretty(SUM(Pg_column_size(bodycontent.BODY))) AS trash_total_size,
       spaces.spacename AS space_name
FROM bodycontent
INNER JOIN content ON (content.contentid = bodycontent.contentid)
INNER JOIN spaces ON (content.spaceid = spaces.spaceid)
WHERE bodycontent.contentid IN
    (SELECT contentid
     FROM content
     WHERE content_status = 'deleted'
       AND contenttype = 'PAGE')
GROUP BY space_name
ORDER BY trash_total_size
LIMIT 5;

Conclusión:

Onde foi o espazo no servidor de Confluence? Ou estatísticas de Confluencia en anexos

Tamaño total dos anexos descargados por cada usuario en todas as páxinas

SELECT u.lower_username,
       sum(cp.longval) AS "size"
FROM content c1
JOIN content c2 ON c1.contentid = c2.pageid
JOIN user_mapping u ON c1.creator=u.user_key
JOIN contentproperties cp ON c2.contentid = cp.contentid
WHERE c2.contenttype='ATTACHMENT'
GROUP BY u.lower_username
ORDER BY sum(cp.longval) DESC
LIMIT 5;

Conclusión:

Onde foi o espazo no servidor de Confluence? Ou estatísticas de Confluencia en anexos

PD Complementa a publicación con consultas SQL útiles para Confluence

Fonte: www.habr.com

Engadir un comentario