feat(1c): add file-based analytics stack scaffold

This commit is contained in:
igor04091968
2026-05-21 23:34:55 +03:00
parent b420104f1f
commit 04b45ecf03
30 changed files with 1537 additions and 13 deletions
+135
View File
@@ -0,0 +1,135 @@
# Grafana dashboard catalog for file-based 1C
Ниже — целевой набор дашбордов. Это не “один giant dashboard”, а иерархия под
разные роли.
## 1. 1C Executive Summary
Для руководства и владельца процесса.
Панели:
- Выручка сегодня / 7 дней / 30 дней
- Просроченная дебиторка
- Возвраты и корректировки
- Открытые cases
- High/Critical detections
- Топ проблемных баз
- Топ риск-пользователей
- Тренд аномалий
Основные таблицы:
- `documents`
- `detections`
- `cases`
## 2. 1C Operations Health
Для сопровождения и инфраструктуры.
Панели:
- CPU / RAM / Disk
- Disk latency
- Свободное место
- RDP sessions
- Ошибки SMB / файлового доступа
- Ошибки журнала регистрации
- Длительные операции
- Backup freshness
Основные таблицы:
- `host_events`
- `reglog_events`
## 3. 1C Audit Overview
Для контроля, ИБ и внутреннего аудита.
Панели:
- Входы по пользователям
- Входы вне рабочего времени
- Изменения критичных объектов
- Массовые перепроведения
- Нетипичные корректировки
- Severity split
- Топ пользователей по risk score
Основные таблицы:
- `reglog_events`
- `audit_events`
- `detections`
## 4. 1C Detections
Для triage и контроля rules.
Панели:
- Detections by severity
- Top rules
- Cases opened by day
- Open detections
- Critical timeline
- Top entities
Основные таблицы:
- `detections`
- `cases`
## 5. 1C Investigation Timeline
Для ручного расследования.
Панели:
- Entity timeline
- Case drilldown
- User trace
- Document trace
- Related detections
- Raw event details
Основные таблицы:
- `entity_timeline`
- `detections`
- `cases`
- `reglog_events`
- `audit_events`
- `documents`
## 6. 1C Data Quality
Для контроля самого пайплайна.
Панели:
- Последняя выгрузка по каждой базе
- ETL lag
- Битые/пустые файлы
- Rows loaded per batch
- Ошибки ETL
Источники:
- ETL run log
- архив landing/ETL статусов
## Единые variables
Во все dashboards:
- `infobase`
- `organization`
- `user`
- `host`
- `document_type`
- `severity`
- `case_status`
- `time range`
@@ -0,0 +1,16 @@
apiVersion: 1
datasources:
- name: clickhouse-1c
uid: clickhouse-1c
type: grafana-clickhouse-datasource
access: proxy
editable: true
jsonData:
defaultDatabase: analytics_1c
port: 8123
server: clickhouse
protocol: http
username: ${CLICKHOUSE_USER}
secureJsonData:
password: ${CLICKHOUSE_PASSWORD}
+66
View File
@@ -0,0 +1,66 @@
-- Executive: sales today
SELECT
toDate(ts) AS d,
sum(amount) AS sales_amount
FROM analytics_1c.documents
WHERE doc_type = 'Реализация'
GROUP BY d
ORDER BY d;
-- Executive: overdue receivables
SELECT
organization,
sum(amount) AS overdue_receivables
FROM analytics_1c.documents
WHERE status = 'overdue'
GROUP BY organization
ORDER BY overdue_receivables DESC;
-- Operations: host health
SELECT
ts,
host,
cpu_pct,
ram_pct,
disk_latency_ms,
disk_free_gb
FROM analytics_1c.host_events
ORDER BY ts DESC;
-- Audit: after-hours activity
SELECT
ts,
infobase,
user,
event_name,
message
FROM analytics_1c.reglog_events
WHERE event_name ILIKE '%login%'
AND toHour(ts) NOT BETWEEN 8 AND 20
ORDER BY ts DESC;
-- Detections: top rules
SELECT
rule_title,
severity,
count() AS detections_total,
sum(score) AS score_total
FROM analytics_1c.detections
GROUP BY rule_title, severity
ORDER BY detections_total DESC;
-- Investigation: entity timeline
SELECT
ts,
entity_type,
entity_id,
actor,
source,
event_type,
severity,
score,
summary
FROM analytics_1c.entity_timeline
WHERE entity_type = {entity_type:String}
AND entity_id = {entity_id:String}
ORDER BY ts;