{{ activeNav.section }}
{{ activeNav.label }}
Рабочий центр
Состояние VIZOR
Пайплайн данных
актуальность1Game server logs{{ status.serverSync?.configured ? 'remote path настроен' : 'нужен SERVER_SYNC_*' }}
2Parser / Patterns{{ patternsList.length }} паттернов доступно
3MongoDB collections{{ status.mongo?.enabled ? 'основной источник' : 'выключено' }}
4Analytics cache{{ counts.records || 0 }} записей
MongoDB new{{ status.mongo?.newDb || '-' }}
MongoDB old{{ status.mongo?.oldDb || '-' }}
Последний Server Sync{{ formatDate(status.serverSync?.lastRun?.finishedAt) || '-' }}
Последний cache sync{{ formatDate(status.mongo?.lastSync?.at) || '-' }}
Быстрые действия
workflowsПоследние записи
{{ records.length }}{{ r.patternName || r.patternKey || r.__patternID }}{{ entityLabel(r) }}
{{ formatDate(r.unix) }}Cache пуст. Запустите MongoDB → cache.
Контроль
уведомления и подсказки{{ counts.unreadNotifications || 0 }}непрочитанных уведомлений
{{ alerts.length || counts.alerts || 0 }}alert rules
{{ suggestions.length || 0 }}локальных suggestions
Синхронизация
{{ status.serverSync?.running ? 'идёт' : 'ожидание' }}
{{ status.serverSync?.running ? 'Выполняется' : 'Автоматический режим' }}
Интервал: {{ status.serverSync?.intervalSeconds || '-' }} сек.
Настроена{{ status.serverSync?.configured ? 'Да' : 'Нет' }}
Серверы{{ (status.serverSync?.servers || []).join(', ') || '-' }}
Последний запуск{{ formatDate(status.serverSync?.lastRun?.startedAt) || '-' }}
Завершение{{ formatDate(status.serverSync?.lastRun?.finishedAt) || '-' }}
Файлов найдено{{ status.serverSync?.lastRun?.scannedFiles || 0 }}
Файлов скачано{{ status.serverSync?.lastRun?.downloadedFiles || 0 }}
Записей распознано{{ status.serverSync?.lastRun?.parsedRecords || 0 }}
Записей в MongoDB{{ status.serverSync?.lastRun?.insertedRecords || 0 }}
Файлы последнего прохода
{{ status.serverSync?.lastRun?.files?.length || 0 }}| Статус | Сервер | Паттерн | Файл | Parsed | Inserted |
|---|---|---|---|---|---|
| {{ f.status }} | {{ f.serverID }} | {{ f.patternID }} | {{ f.filePath }} | {{ f.parsedRecords || 0 }} | {{ f.insertedRecords || 0 }} |
Данных по файлам пока нет
История запусков
{{ status.serverSync?.recentRuns?.length || 0 }}{{ formatDate(run.startedAt) }}{{ run.ok ? 'OK' : 'ERROR' }} · файлов {{ run.scannedFiles }} · записей {{ run.insertedRecords }}
Срез и график по текущему поиску
Параметр{{ searchAnalytics.groupBy || 'time' }}
Значение{{ searchAnalytics.valueField || searchAnalytics.operation }}
Всего{{ formatNumber(searchAnalyticsResult.total) }}
Групп{{ searchAnalyticsResult.series?.length || 0 }}
{{ x.key }}{{ formatNumber(x.value) }}
Выберите ключ и значение, затем нажмите “Построить график”
| Ключ | Период | Строк | Значение |
|---|---|---|---|
| {{ x.key }} | {{ x.time }} | {{ x.count }} | {{ formatNumber(x.value) }} |
Diff по текущему поиску
Дополнительные условия
| Ключ | A | B | Delta | % | A count | B count |
|---|---|---|---|---|---|---|
| {{ r.key }} | {{ formatNumber(r.aValue) }} | {{ formatNumber(r.bValue) }} | {{ formatNumber(r.delta) }} | {{ r.deltaPct }}% | {{ r.aCount }} | {{ r.bCount }} |
Нажмите “Сравнить”
Формула по срезу
{{ analyticsResult.records || 0 }} записейДополнительные условия
Сводка
{{ analyticsResult.operation }}Total{{ formatNumber(analyticsResult.total) }}
Records{{ analyticsResult.records || 0 }}
Groups{{ analyticsResult.series?.length || 0 }}
{{ investTabTitle }}
investigation{{ formatDate(item.unix) }}
{{ item.title }}
{{ item.subtitle || item.bucket }}
Timeline пуст
Nodes
{{ n.label }} · {{ n.count }}
Edges
{{ e.source }}↔{{ e.target }}{{ e.count }}
{{ tree.rootField }}: {{ node.key }}{{ node.count }} операций · {{ formatNumber(node.total) }}
{{ tree.branchField }}: {{ br.key }}
{{ br.count }} операций · {{ formatNumber(br.total) }}
{{ r.patternName }} · {{ formatDate(r.unix) }}
Дерево пустое
Entity Profile
{{ entityResult.records || 0 }} операций{{ formatNumber(entityResult.query.total || entityResult.records || 0) }}в срезе
{{ formatNumber(entityResult.query.loaded || entityResult.records || 0) }}обработано
{{ entityResult.query.safety?.rangeCapped ? 'Да' : 'Нет' }}срез ограничен
{{ entityResult.summary?.operations || 0 }}операций
{{ formatNumber(entityResult.summary?.totalSum || 0) }}total sum
{{ entityResult.related?.length || 0 }}связей
Связанные сущности
{{ entityResult.related?.length || 0 }}{{ rel.field }}: {{ rel.value }}{{ rel.count }} совпадений
{{ formatDate(rel.lastUnix) }}Нет связей
Timeline сущности
{{ entityResult.timeline?.length || 0 }}{{ formatDate(r.unix) }}
{{ r.patternName || r.patternKey }}
{{ entityLabel(r) }}
Raw Log Quality
{{ qualityResult.coverage || 0 }}%Total lines{{ qualityResult.totalLines || 0 }}
Matched{{ qualityResult.matchedLines || 0 }}
Unmatched{{ qualityResult.unmatchedLines || 0 }}
{{ f.name }}{{ f.matched }}/{{ f.lines }} · {{ f.coverage }}%
Anomaly Detection
{{ anomalyResult.items?.length || 0 }}{{ a.type }}{{ a.message }}
{{ a.score }}Alert rules
{{ alerts.length }}Визуальный редактор Alert
{{ alertEditor.id || 'new' }}Пресеты
{{ presets.length }}Визуальный редактор пресета
{{ presetEditor.id || 'new' }}Фильтры
Аналитика
Saved Views
{{ savedViews.length }}Сохранить рабочий экран
{{ view }}Локальные подсказки
{{ suggestions.length }}{{ s.title }}{{ s.reason }}
{{ s.priority }}Нет подсказок
Элементы
{{ elements.length }}Редактор элемента
{{ elementEditor.id || 'new' }}Параметры элемента
{{ elementEditor.params?.length || 0 }}Паттерны
{{ patternsList.length }}JSON редактор
{{ patternEditor.id || 'new' }}Паттерн
{{ visualPattern.id || 'new' }}Паттерн сохранён, но не используется в поиске до пересчёта серверной синхронизацией.
Редактор правила
{{ activeVisualEntry?.id }}{{ visualValidation.ok ? 'Regex корректен' : visualValidation.errors?.join('; ') }}
#Поле логаТипЭлементПараметрRaw / связь
#{{ i+1 }}
{{ buildRawLineKey(k) }} → {{ lineKeyMeta(k).elementId }}.{{ lineKeyMeta(k).paramKey || '?' }}
Тест строки
capture preview#{{ i+1 }} {{ activeVisualEntry.lineKeys[i]?.field }}{{ c.value }}{{ activeVisualEntry.lineKeys[i]?.type }} · {{ visualPattern.elements?.[activeVisualEntry.lineKeys[i]?.field]?.entity }}
Pattern Tester
regex check{{ JSON.stringify(testerResult, null, 2) }}Генератор паттерна
из sample строки{{ JSON.stringify(generatedPattern, null, 2) }}Diff Mode
{{ diffResult.rows?.length || 0 }} строкДополнительные условия
| Ключ | A | B | Delta | % | A count | B count |
|---|---|---|---|---|---|---|
| {{ r.key }} | {{ formatNumber(r.aValue) }} | {{ formatNumber(r.bValue) }} | {{ formatNumber(r.delta) }} | {{ r.deltaPct }}% | {{ r.aCount }} | {{ r.bCount }} |
Notification Center
{{ notifications.length }}{{ n.title }}{{ n.type }} · {{ n.status }} · {{ formatDate(n.createdAt) }}
{{ n.message }}
{{ n.severity }}
Уведомлений нет