Это справочное руководство о том, как работают отчёты панели администратора, какие данные они отображают, какие SQL-запросы Data Explorer им соответствуют и где находится Ruby-код для каждого отчёта.
Требуемый уровень пользователя: Staff (персонал)
Discourse содержит несколько встроенных отчётов панели администратора, которые могут быть полезны для изучения статистики сообщества. Чтобы получить доступ к этим отчётам, вы можете перейти по адресу discourse.example.com/admin/dashboard/reports на вашем сайте (или щёлкнуть по ссылке Reports в боковой панели). Обратите внимание, что доступ к этим отчётам имеют только пользователи-персонал.
В эти отчёты включаются данные всех пользователей сайта (включая активность персонала, такую как посещение административных страниц). Единственное условие, налагаемое на пользователей в отчётах, состоит в том, что они должны быть «реальными» пользователями, что используется для исключения пользователя system из отчётов.
Плагины также могут добавлять отчёты на панель с помощью add_report(name, &block).
Ruby-модели для большинства отчётов находятся здесь: discourse/app/models/concerns/reports/. Некоторые отчёты также ссылаются на: discourse/app/models/report.rb
Темы dashboard-sql содержат все соответствующие SQL-запросы, которые можно использовать для генерации отчётов, идентичных отчётам панели администратора. Эти запросы можно использовать в плагине Data Explorer и для запуска запросов Data Explorer через API Discourse
Чтобы скрыть определённые отчёты с панели, используйте настройку сайта
dashboard_hidden_reports.
Принятые решения (Accepted solutions)
Отображает ежедневный подсчёт сообщений, отмеченных как решения.
Код Ruby: discourse-solved/plugin.rb at main · discourse/discourse-solved · GitHub
SQL-запрос: Dashboard Report - Accepted Solutions
Входы администраторов (Admin Logins)
Список времени входов администраторов с указанием местоположения.
Код Ruby: discourse/app/models/concerns/reports/staff_logins.rb
SQL-запрос: Dashboard Report - Admin Logins
Анонимные (Anonymous)
Количество новых просмотров страниц посетителями, не вошедшими в аккаунт.
Код Ruby: discourse/app/models/concerns/reports/consolidated_page_views.rb
SQL-запрос: Dashboard Report - Anonymous
Закладки (Bookmarks)
Количество новых тем и сообщений, добавленных в закладки.
Код Ruby: discourse/app/models/concerns/reports/bookmarks.rb
SQL-запрос: Dashboard Report - Bookmarks
Сводные запросы API (Consolidated API Requests)
Статистика использования API по датам, отслеживающая как обычные запросы API, так и запросы пользовательского API.
SQL-запрос: Dashboard Report - Consolidated API Requests
Сводные просмотры страниц (Consolidated Pageviews)
Просмотры страниц для пользователей, вошедших в систему, анонимных пользователей и поисковых роботов. Это устаревший отчёт, заменённый отчётом Site Traffic.
Код Ruby: discourse/app/models/concerns/reports/consolidated_page_views.rb
SQL-запрос: Dashboard Report - Consolidated Pageviews
Сводные просмотры страниц с определением браузера (Deprecated) (Consolidated Pageviews with Browser Detection)
Просмотры страниц для пользователей, вошедших в систему, анонимных пользователей, известных поисковых роботов и других. Этот отчёт устарел и теперь перенаправляет в отчёт Site Traffic.
Код Ruby: discourse/app/models/concerns/reports/consolidated_page_views_browser_detection.rb
SQL-запрос: Dashboard Report - Consolidated Pageviews with Browser Detection
DAU/MAU
Количество участников, вошедших в систему за последний день, разделённое на количество участников, вошедших в систему за последний месяц, — возвращает процент, указывающий на «удержание» (stickiness) сообщества. Целевое значение >20%.
Код Ruby: discourse/app/models/concerns/reports/dau_by_mau.rb
SQL-запрос: Dashboard Report - DAU/MAU
Ежедневные активные пользователи (Daily Engaged Users)
Количество пользователей, поставивших лайк или написавших сообщение за последний день.
Код Ruby: discourse/app/models/concerns/reports/daily_engaged_users.rb
SQL-запрос: Dashboard Report - Daily Engaged Users
Отправленные электронные письма (Emails Sent)
Количество новых отправленных электронных писем.
Код Ruby: discourse/app/models/concerns/reports/emails.rb
SQL-запрос: Dashboard Report - Emails Sent
Флаги (Flags)
Количество новых флагов.
Код Ruby: discourse/app/models/concerns/reports/flags.rb
SQL-запрос: Dashboard Report - Flags
Статус флагов (Flags Status)
Список статусов флагов, включая тип флага, автора, пометившего флагом, и время до разрешения.
Код Ruby: discourse/app/models/concerns/reports/flags_status.rb
SQL-запрос: Dashboard Report - Flags Status
Лайки (Likes)
Количество новых лайков.
Код Ruby: discourse/app/models/concerns/reports/likes.rb
SQL-запрос: Dashboard Report - Likes
Вошедшие в систему (Logged In)
Количество новых просмотров страниц от пользователей, вошедших в систему.
Код Ruby: discourse/app/controllers/admin/reports_controller.rb#L5
SQL-запрос: Dashboard Report - Logged In
Активность модераторов (Moderator Activity)
Список активности модераторов, включая проверенные флаги, время чтения, созданные темы, созданные сообщения, созданные личные сообщения и правки.
SQL-запрос: Dashboard Report - Moderator Activity
Предупреждения модераторов (Moderator Warning)
Количество предупреждений, отправленных личными сообщениями от модераторов.
Код Ruby: discourse/app/models/concerns/reports/moderator_warning_private_messages.rb
SQL-запрос: Dashboard Report - Moderator Warnings
Новые участники (New Contributors)
Количество пользователей, написавших своё первое сообщение за этот период.
Код Ruby: discourse/app/models/concerns/reports/new_contributors.rb
SQL-запрос: Dashboard Report - New Contributors
Уведомление модераторов (Notify Moderators)
Количество случаев, когда модераторы были тайно уведомлены флагом.
Код Ruby: discourse/app/models/concerns/reports/notify_moderators_private_messages.rb
SQL-запрос: Dashboard Report - Notify Moderators
Уведомление пользователя (Notify User)
Количество случаев, когда пользователи были тайно уведомлены флагом.
Код Ruby: discourse/app/models/concerns/reports/notify_user_private_messages.rb
SQL-запрос: Dashboard Report - Notify User
Общий настрой (Overall Sentiment)
Количество сообщений, классифицированных как положительные или отрицательные с помощью ИИ «Sentiment», за указанный период.
Код Ruby: https://github.com/discourse/discourse-ai/blob/main/lib/sentiment/entry_point.rb
SQL-запрос: Dashboard Report - Overall Sentiment
Просмотры страниц (Pageviews)
Количество новых просмотров страниц от всех посетителей. То же самое, что и общее количество для «Сводных просмотров страниц».
Discourse использует следующий запрос для определения общего количества просмотров страниц:
SQL-запрос: Dashboard Report - Consolidated Pageviews
Правки сообщений (Post Edits)
Количество новых правок сообщений.
Код Ruby: discourse/app/models/concerns/reports/post_edits.rb
SQL-запрос: Dashboard Report - Post Edits
Сообщения (Posts)
Новые сообщения, созданные за выбранный период времени
Код Ruby: discourse/app/models/concerns/reports/posts.rb
SQL-запрос: Dashboard Report - Posts
Эмоция сообщения (Post Emotion)
Количество сообщений, классифицированных ИИ с одной из следующих эмоций: Грусть, Удивление, Страх, Гнев, Радость, Отвращение, — сгруппированных по уровню доверия автора, за указанный период.
Код Ruby: https://github.com/discourse/discourse-ai/blob/main/lib/sentiment/entry_point.rb
SQL-запрос: Dashboard Report - Post Emotion
Реакции (Reactions)
Список последних реакций.
Код Ruby: discourse-reactions/plugin.rb at main · discourse/discourse-reactions · GitHub
SQL-запрос: Dashboard Report - Reactions
Регистрации (Signups)
Новые регистрации аккаунтов за этот период.
Код Ruby: discourse/app/models/concerns/reports/signups.rb
SQL-запрос: Dashboard Report - Signups
Трафик сайта (Site Traffic)
Просмотры страниц для браузеров с вошедшими пользователями, анонимных браузеров, поисковых роботов и другого трафика. Это основной отчёт о трафике, заменяющий устаревшие отчёты «Сводные просмотры страниц».
Код Ruby: discourse/app/models/concerns/reports/site_traffic.rb
SQL-запрос: Dashboard Report - Site Traffic
Подозрительные входы (Suspicious Logins)
Детали новых входов, которые подозрительно отличаются от предыдущих входов.
Код Ruby: discourse/app/models/concerns/reports/suspicious_logins.rb
SQL-запрос: Dashboard Report - Suspicious Logins
Система (System)
Количество личных сообщений, отправленных автоматически Системой.
Код Ruby: discourse/app/models/concerns/reports/system_private_messages.rb
SQL-запрос: Dashboard Report - System
Время до первого ответа (Time to first response)
Среднее время (в часах) первого ответа на новые темы.
Код Ruby: discourse/app/models/concerns/reports/time_to_first_response.rb + discourse/discourse/blob/main/app/models/topic.rb#L1799-L1844
SQL-запрос: Dashboard Report - Time to First Response
Топ игнорируемых/заглушённых пользователей (Top Ignored / Muted Users)
Пользователи, которые были заглушены и/или проигнорированы многими другими пользователями.
Код Ruby: discourse/app/models/concerns/reports/top_ignored_users.rb
SQL-запрос: Dashboard Report - Top Ignored / Muted Users
Топ тем по переходам (Top Referred Topics)
Темы, получившие наибольшее количество кликов из внешних источников.
Код Ruby: discourse/app/models/concerns/reports/top_referred_topics.rb
SQL-запрос: Dashboard Report - Top Referred Topics
Топ рефереров (Top Referrers)
Список пользователей, отсортированный по количеству кликов по ссылкам, которые они поделились.
Код Ruby: discourse/app/models/concerns/reports/top_referrers.rb
SQL-запрос: Dashboard Report - Top Referrers
Топ источников трафика (Top Traffic Sources)
Внешние источники, которые чаще всего давали ссылки на этот сайт.
Код Ruby: discourse/app/models/concerns/reports/top_traffic_sources.rb
SQL-запрос: Dashboard Report - Top Traffic Sources
Топ загрузок (Top Uploads)
Список всех загрузок по расширению, размеру файла и автору.
Код Ruby: discourse/app/models/concerns/reports/top_uploads.rb
SQL-запрос: Dashboard Report - Top Uploads
Топ пользователей по полученным лайкам (Top Users by likes received)
Топ-10 пользователей, получивших лайки.
Код Ruby: discourse/app/models/concerns/reports/top_users_by_likes_received.rb
SQL-запрос: Dashboard Report - Top Users by Likes Received
Топ пользователей по лайкам от пользователей с более низким уровнем доверия (Top Users by likes received from a user with a lower trust level)
Топ-10 пользователей с более высоким уровнем доверия, получивших лайки от людей с более низким уровнем доверия.
Код Ruby: discourse/app/models/concerns/reports/top_users_by_likes_received_from_inferior_trust_level.rb
SQL-запрос: Dashboard Report - Top Users by Likes Received from a User with a Lower Trust Level
Топ пользователей по лайкам от разнообразных людей (Top Users by likes received from a variety of people)
Топ-10 пользователей, получивших лайки от широкого круга людей.
Код Ruby: discourse/app/models/concerns/reports/top_users_by_likes_received_from_a_variety_of_people.rb
SQL-запрос: Dashboard Report - Top Users by Likes Received From a Variety of People
Темы (Topics)
Новые темы, созданные за этот период.
Код Ruby: discourse/app/models/concerns/reports/topics.rb
SQL-запрос: Dashboard Report - Topics
Темы без ответа (Topics with no response)
Количество новых созданных тем, не получивших ответа.
Код Ruby: discourse/app/models/concerns/reports/topics_with_no_response.rb
SQL-запрос: Dashboard Report - Topics with No Response
Статистика просмотров тем (Topic View Stats)
Топ-100 тем по просмотрам с разбивкой на анонимных и вошедших пользователей, с возможностью фильтрации по категории.
Код Ruby: discourse/app/models/concerns/reports/topic_view_stats.rb
SQL-запрос: Dashboard Report - Topic View Stats
Трендовые поисковые запросы (Trending Search Terms)
Самые популярные поисковые запросы с их коэффициентами кликабельности.
Код Ruby: discourse/app/models/concerns/reports/trending_search.rb
SQL-запрос: Dashboard Report - Trending Search Terms
Рост уровня доверия (Trust Level growth)
Количество пользователей, повысивших свой уровень доверия за этот период.
Отчёт «Рост уровня доверия» извлекает данные из таблицы user_histories в базе данных Discourse. Конкретно, этот отчёт подсчитывает количество случаев, когда в user_histories.action записано повышение уровня доверия пользователя.
Код Ruby: discourse/app/models/concerns/reports/trust_level_growth.rb
SQL-запрос: Dashboard Report - Trust Level Growth
Не принятые политики (Unaccepted policies)
Этот отчёт панели администратора определяет темы с политиками, которые не были приняты определёнными пользователями.
Код Ruby: discourse-policy/plugin.rb at main · discourse/discourse-policy · GitHub
SQL-запрос: Dashboard Report - Unaccepted Policies
Коэффициент флагов пользователей (User Flagging Ratio)
Список пользователей, отсортированный по коэффициенту реакции персонала на их флаги (от несогласия к согласию).
Код Ruby: discourse/app/models/concerns/reports/user_flagging_ratio.rb
SQL-запрос: Dashboard Report - User Flagging Ratio
Заметки о пользователях (User notes)
Список последних заметок о пользователях.
Код Ruby: discourse-user-notes/plugin.rb at main · discourse/discourse-user-notes · GitHub
SQL-запрос: Dashboard Report - User Notes
Просмотры профилей пользователей (User Profile Views)
Общее количество новых просмотров профилей пользователей.
Код Ruby: discourse/app/models/concerns/reports/profile_views.rb
SQL-запрос: Dashboard Report - User Profile Views
Посещения пользователями (User Visits)
Общее количество посещений форума вошедшими пользователями за выбранный период времени (сегодня, вчера, последние 7 дней и т. д.).
Посещение пользователем засчитывается каждый раз, когда уникальный вошедший пользователь посещает сайт, но не чаще одного раза в день. Например, если пользователь посещал сайт каждый день в течение недели, Discourse засчитает это как 7 посещений.
Код Ruby: discourse/app/models/concerns/reports/visits.rb
SQL-запрос: Dashboard Report - User Visits
Посещения пользователями (мобильные) (User Visits (mobile))
Количество уникальных вошедших пользователей, посетивших сайт с мобильного устройства.
Код Ruby: discourse/app/models/concerns/reports/mobile_visits.rb
SQL-запрос: Dashboard Report - User Visits
Пользователь к пользователю (без ответов) (User-to-User (excluding replies))
Количество новых инициированных личных сообщений.
Код Ruby: discourse/app/models/concerns/reports/user_to_user_private_messages.rb
SQL-запрос: Dashboard Report - User-to-User
Пользователь к пользователю (с ответами) (User-to-User (with replies))
Количество всех новых личных сообщений и ответов.
Код Ruby: discourse/app/models/concerns/reports/user_to_user_private_messages_with_replies.rb
SQL-запрос: Dashboard Report - User-to-User
Пользователи по уровню доверия (Users per Trust Level)
Количество пользователей, сгруппированных по уровню доверия.
Код Ruby: discourse/app/models/concerns/reports/users_by_trust_level.rb
SQL-запрос: Dashboard Report - Users Per Trust Level
Пользователи по типу (Users per Type)
Количество пользователей, сгруппированных по типу: администратор, модератор, приостановленный и замолчанный.
Код Ruby: discourse/app/models/concerns/reports/users_by_type.rb
SQL-запрос: Dashboard Report - Users Per Type
Просмотры страниц веб-роботами (Web Crawler Pageviews)
Общее количество просмотров страниц веб-роботами со временем.
Код Ruby: discourse/app/models/report.rb
SQL-запрос: Dashboard Report - Web Crawler Pageviews
Пользовательские агенты веб-роботов (Web Crawler User Agents)
Список пользовательских агентов веб-роботов, отсортированный по количеству просмотров страниц.
Код Ruby: discourse/app/models/concerns/reports/web_crawlers.rb
SQL-запрос: Dashboard Report - Web Crawler User Agents

