Salesforce Insights

Материал из Документация Ключ-АСТРОМ
Версия от 23:16, 16 февраля 2026; IKuznetsov (обсуждение | вклад) (Новая страница: «'''Salesforce Insights''' позволяет администраторам '''Salesforce''' и ИТ-специалистам отслеживать состоя...»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)

Salesforce Insights позволяет администраторам Salesforce и ИТ-специалистам отслеживать состояние своей среды Salesforce.

Настройка

Узнайте, как настроить Salesforce Insights и какие данные он может собирать.

Для использования расширения необходимо выполнить следующие требования.

Учетная запись Salesforce

Расширение Salesforce может собирать четыре типа данных Salesforce. Выберите каждую конфигурацию для получения более подробной информации.

  • Настройка потоковой передачи событий позволяет отслеживать использование вашей учетной записи Salesforce CRM.
  • Параметр EventLogFile позволяет импортировать файлы логов из Salesforce в Ключ-АСТРОМ.
  • Настройка API -запросов позволяет загружать данные, полученные с помощью языка запросов объектов Salesforce (SOQL), в Ключ-АСТРОМ. Данные загружаются в Ключ-АСТРОМ в виде событий логов или бизнес-событий.
  • Настройка событий платформы позволяет подписаться на пользовательские события платформы Salesforce и передавать их в Ключ-АСТРОМ в качестве бизнес-событий.

Аутентификация

Выберите один из трех методов аутентификации, который лучше всего соответствует вашим потребностям.

Подключенное приложение

В этом режиме расширение подключается как подключенное приложение. Это рекомендуемый свособ аутентификации.

Технически приложение использует аутентификацию OAuth 2.0 JWT Bearer Flow.

Ключ-АСТРОМ запросит

  • Пользовательский ключ подключенного приложения.
  • Закрытый ключ подключенного приложения.
  • Subject токена JWT — это имя пользователя, входящего в профиль подключенного приложения .
Требования
  • openssl — для генерации сертификата, не требуется, если у вас уже есть сертификат и закрытый ключ.

Примечание: в Windows, если у вас установлен git, у вас также должна быть копия openssl.

Вы должны найти её в директории, например C:\Program Files\Git\mingw64\bin, в зависимости от вашей установки.

Сертификат

Подключенное приложение должно иметь сертификат, который мы впоследствии аутентифицируем в Salesforce, используя закрытый ключ этого сертификата.

Эта команда генерирует сертификат и закрытый ключ:

openssl req -newkey rsa:2048 -nodes -keyout key.pem -x509 -days 365 -out cert.pem
  • Файл cert.pem будет позже добавлен в подключенное приложение.
  • Файл key.pem будет использоваться Ключ-АСТРОМ для аутентификации в Salesforce.
Создайте подключенное приложение

В Salesforce Lightning

  1. В разделе Настройка > Приложения > Внешние клиентские приложения > Параметры убедитесь, что опция Allow creation of connected apps включена.
  2. Выберите Новое подключенное приложение.

Назовите приложение и добавьте адрес электронной почты контакта. В разделе API (Включите настройки OAuth) :

  1. Установите флаг «Включить настройки OAuth» .
  2. Если URL-адрес обратного запроса не используется, вы можете указать следующее: http://localhost
  3. Установите флаг «Использовать цифровые подписи» .
  4. Загрузите сгенерированный выше файл cert.pem в папку Use digital signatures.
  5. В разделе «Выбранные области действия OAuth» добавьте следующие области действия:
    • Управление данными об использовании через API
    • Выполняйте запросы в любое время (refresh_token, offline_access)
  6. Оставьте все остальные настройки по умолчанию и выберите «Сохранить».
Политика OAuth
  1. Настройте политику OAuth, разрешив доступ пользователям.
  2. В разделе Приложения > Диспетчер приложений найдите подключенное приложение и выберите Управление.
  3. Нажмите кнопку Редактировать правила.
  4. В разделе Политики OAuth выбранные пользователи, одобренные администратором, проходят предварительную авторизацию .
  5. Выберите Сохранить.
Утвержденные пользователи

Определите пользователей, которые могут использовать приложение. Это можно сделать, добавив профили в список назначения профилей приложения.

  1. На странице подключенного приложения перейдите в раздел Профили > Управление профилями.
  2. Добавьте профили, которые смогут использовать подключенное приложение. Примечание: позже любое имя пользователя из этих профилей можно будет использовать в качестве темы при настройке расширения.

Для потоковой передачи событий профилям необходимы следующие разрешения:

  • Общие права доступа пользователя
    • View Real-Time Event Monitoring Data
  • Административные разрешения
    • Customize Application
    • View All Data

Чтобы ознакомиться с необходимой документацией по правам доступа, см. раздел «Включение доступа к мониторингу событий в реальном времени».

Имя пользователя и пароль

  1. Обычный пользователь Salesforce с правами доступа для необходимой конфигурации (потоковая передача событий, файл логов событий или SOQL).
  2. Пароль пользователя.
  3. Токен безопасности для пользователя.

Обратите внимание, что этот вариант не рекомендуется, поскольку пароли пользователей и токены безопасности могут меняться; обычно он используется только для тестирования расширения.

ID клиента

Для аутентификации по ID клиента выберите «Включить поток учетных данных клиента» в настройках подключенного приложения или внешнего клиентского приложения и укажите ключ потребителя и секрет пользователя.

Вам также потребуется выбрать пользователя, от имени которого будет запускаться приложение. Сделайте это в разделе Диспетчер приложений > Управление > Изменение политик > Поток учетных данных клиента > Запуск от имени.

Обратите внимание, что это не так безопасно, как подключенное приложение с сертификатом.

Включение расширения

Для активации расширения Salesforce необходимо наличие среды АктивногоШлюза.

  1. Найдите расширение в разделе Расширеня и активируйте его.
  2. На странице Конфигурация выберите Добавить конфигурацию мониторинга.
  3. Выберите группу АктивногоШлюза.
    • Одному из этих серверов потребуется получить доступ к API Salesforce, который находится в открытом доступе.
    • URL-адреса для входа: https://login.salesforce.comилиhttps://test.salesforce.com
    • Конечные точки публикации/подписки: api.pubsub.salesforce.com:7443 или api.deu.pubsub.salesforce.com:7443
    • При необходимости прокси-сервер можно настроить позже.
Параметры конфигурации мониторинга
Параметр Описание
Endpoint name Выберите понятное имя для идентификации конечной точки.
Login URL Выберите режим работы: производственный или тестовый.
Pub/Sub URL Выберите глобальную конечную точку или конечную точку в Европе (Франкфурт).
Reporting Mode Бизнес события, логи событий, OpenKit (RUM)
Custom Application ID ID пользовательского приложения Ключ-АСТРОМ для созданного вами ранее приложения

(требуется только в том случае, если используется управляемая среда и OpenKit в качестве режима Reporting Mode).

Authentication type Выберите имя пользователя и пароль или подключенное приложение.
Events filtering Выберите, какие события в реальном времени вы хотите отправлять в Ключ-АСТРОМ; по умолчанию включены все события.
Usernames Blocklist Необязательный список имен пользователей, которые следует игнорировать; используйте его, чтобы заблокировать пользователей автоматизации/API от отправки отчетов.
Proxy Дополнительный прокси-сервер; на случай, если АктивныйШлюз не сможет подключиться к URL-адресам Salesforce.

Ввод данных в Salesforce

Выберите один из четырех методов ввода данных в зависимости от ваших потребностей в мониторинге.

Потоковая передача событий

Захватывайте события в реальном времени из Salesforce и отправляйте их в Ключ-АСТРОМ в качестве бизнес-событий.

Функция приема данных RUM должна использоваться только в управляемых средах.

  1. Включите потоковую передачу событий в реальном времени.
  2. В разделе Настройка > Диспетчер событий включите потоковую передачу данных для событий, которые вы хотите записывать.
  3. Получите учетные данные, необходимые для подключения расширения к Salesforce.

Обеспечьте возможность использования следующих сценариев:

  • Отслеживание перехвата сессий, подбора учетных данных и аномальных событий.
  • Отслеживание важных наборы разрешений и изменения.
  • Самое медленное время отклика страниц в Lightning или Classic.
  • Какие файлы загружаются, скачиваются и кем.
  • Какие отчеты используются чаще всего, кто их запускает, какие запросы применяются.
  • Какие API-запросы выполняются чаще всего.
  • Какие браузеры используют пользователи.
  • Откуда осуществляется доступ к Salesforce.
  • Сколько пользователей в настоящее время используют платформу, и каков пользовательский опыт.

Расширение использует API Salesforce Pub/Sub для отображения событий в режиме потоковой передачи событий. Эти события захватываются и отправляются как бизнес-события, или, в случае OpenKit, как действия пользователя, при этом все их соответствующие свойства отправляются как свойства действий .

Подробное описание каждого события и его свойств см. в документации Salesforce.

Зафиксированные события на данный момент

События Описание
ApiAnomalyEvent Отслеживайте аномалии в том, как пользователи совершают вызовы API.
ApiEventStream Отслеживайте запросы пользователей к API в вашей организации.
BulkApiResultEvent Отслеживайте момент загрузки пользователем результатов пакетного запроса к API.
ConcurLongRunApexErrEvent Отслеживайте случаи возникновения ошибки Concurrent Long Running Apex.
CredentialStuffingEvent Отслеживайте случаи успешного входа пользователя в Salesforce во время выявленной атаки с использованием подбора учетных данных.
FileEvent Отслеживайте действия с файлами. Например, отслеживайте, когда пользователь скачивает файл или просматривает его.
LightningUriEventStream Отслеживайте события создания, доступа, обновления или удаления записей пользователями в Salesforce Lightning.
ListViewEventStream Отслеживайте, когда пользователь обращается к данным в виде списков.
LoginAsEventStream Отслеживайте случаи, когда администратор входит в вашу организацию под именем другого пользователя.
LoginEventStream Отслеживайте, когда пользователь входит в вашу организацию.
LogoutEventStream Отслеживайте момент выхода пользователя из системы в пользовательском интерфейсе Salesforce.
PermissionSetEvent Отслеживайте, когда пользователям назначаются разрешения «Изменить все данные» или «Просмотреть все данные» в рамках набора разрешений.
ReportAnomalyEvent Отслеживайте аномалии в том, как пользователи создают или экспортируют отчеты.
ReportEventStream Отслеживайте, когда пользователь получает доступ к данным или экспортирует их, с помощью отчетов.
SessionHijackingEvent Отслеживайте случаи, когда неавторизованный пользователь получает доступ к сессии пользователя Salesforce с помощью украденного идентификатора сессии.
UriEventStream Отслеживайте, когда пользователь создает, получает доступ, обновляет или удаляет запись в Salesforce Classic.

Расширение распространяется только на события, которые Salesforce генерирует как события в режиме реального времени.

Выберите режим формирования отчетов для данных потоковой передачи событий:

Бизнес события

Для бизнес-событий все данные вводятся с помощью API бизнес-событий.

Запрос можно выполнить с помощью DQL:

fetch bizevents

| filter event.type == "salesforce.ApiEventStream"

Imageа60.png

Для каждого типа событий salesforce.NameOfTheEvent будут доступны все свойства, описанные в Salesforce. Например, см. свойства для ApiEventStream.

Таким образом, мы можем создавать визуализации, используя все эти свойства.

fetch bizevents

| filter event.type == "salesforce.ApiEventStream"

| summarize count(), by: {SourceIp}

Imageа61.png

С помощью DQL можно получить список всех типов событий:

fetch bizevents

| filter event.provider == "https://astromkey--staging.sandbox.my.salesforce.com"

| summarize count(), by: {event.type}

Imageа62.png

Пример: Получение данных о входах пользователей в систему за определенный период времени.

fetch bizevents

| filter event.type == "salesforce.LoginEventStream"

| makeTimeseries logins=count(), by:{Username}, interval: 5m

| sort logins desc

Imageа63.png

OpenKit

Для создания пользовательского приложения для получения данных:

  1. В Центре управления перейдите в раздел Цифровой опыт. Затем выберите Пользовательское приложения > Создать пользовательское приложение.
  2. Создайте собственное приложение — дайте ему имя и выберите значок.
  3. Выберите Добавить приложение. Imageа64.png
  4. В настройках пользовательского приложения перейдите в мастер инструментирования и сохраните изменения Application ID для дальнейшего использования. Imageа65.png
  5. Теперь вы можете включить расширение. Подробности смотрите в разделе Включение расширения (выше).

Данные отправляются в созданное вами фронтенд-приложение, поэтому вы можете получить к ним доступ:

  • Подробная информация о сессиях
  • Для получения доступа к отдельным свойствам выберите Действия пользователя > Выполнить каскадный анализ.

Для использования этих свойств в языке запросов пользовательских сессий :

  1. В настройках приложения перейдите в раздел Свойства сессий и действий пользователя.
  2. Создайте свойство. Примечание: имя должно точно совпадать с именем свойства (см. раздел События Salesforce).

Пример: Фиксация номера строки.

Imageа66.png

Запрос к объекту:

SELECT useraction.name, SUM(longProperties.rowsprocessed) FROM useraction WHERE useraction.name STARTSWITH "Report" GROUP BY useraction.name

Imageа67.png

EventLogFile

Захват файлов логов событий из Salesforce и их передача в Ключ-АСТРОМ в качестве логов.

  • Необходимо включить функцию EventLogFile в Salesforce.
  • У пользователя должны быть установлены права доступа для чтения файлов логов событий.

Подробности

  1. Создайте новую конфигурацию EventLogFile, выбрав Настроить EventLogFile.
    Обратите внимание, что в разделе «События» по умолчанию отключена возможность захвата всех различных файлов логов.
  2. Выберите, какие файлы логов вы хотите загрузить.

Не ожидайте получения данных в режиме реального времени при такой конфигурации. Данные логов событий в Salesforce задерживаются на несколько часов.

Визуализация

События отправляются в Ключ-АСТРОМ в виде записей логов, и по ним можно выполнять запросы с использованием DQL:

fetch logs

| filter query.type == "EventLogFile"

Все свойства определенного файла логов событий будут доступны.

Подробную информацию о полях см. в разделе Поддерживаемые типы событий EventLogFile.

Пример

Получите подробную информацию о событиях ApexExecution:

fetch logs

| filter EVENT_TYPE == "ApexExecution"

| fields TIMESTAMP_DERIVED, ENTRY_POINT, EXEC_TIME, CPU_TIME, DB_TOTAL_TIME, NUMBER_SOQL_QUERIES

Imageа68.png

API-запросы (SOQL)

Выполняйте SOQL-запросы к Salesforce и загружайте данные в виде логов или бизнес-событий. Пользователь должен иметь разрешения на выполнение запросов к API Salesforce и чтение запрашиваемых объектов.

Подробности

Для импорта данных, полученных с помощью языка запросов Salesforce Object Query Language (SOQL), в Ключ-АСТРОМ,

  1. Выберите Настроить запросы API.
  2. Добавьте до 100 SOQL-запросов, которые будут выполняться с указанным интервалом. Каждый запрос имеет следующие параметры:
    • Имя запроса — имя запроса, которое поможет вам найти данные этого запроса в логах Ключ-АСТРОМ в дальнейшем.
    • Запрос — SOQL-запрос, который необходимо выполнить.
      • Запрос должен содержать как минимум одно поле типа «дата и время».
      • Заполнитель {last_execution_timestamp} необходимо использовать для фильтрации результатов запроса и удаления дубликатов данных.
      • Пример: SELECT Id, CreatedDate, Field, NewValue, OldValue FROM OpportunityFieldHistory WHERE CreatedDate > {last_execution_timestamp}
    • Частота
      • Частота может быть интервальной или Cron.
      • Интервал — Запрос будет выполняться каждые X минут.
      • Cron — Запрос будет выполнен на основе предоставленного выражения cron; для генерации выражения cron можно использовать crontab guru.

Визуализация

Рассмотрим следующую конфигурацию запроса:

Query Name: Logins

Query: SELECT UserId, COUNT(Id) from LoginHistory WHERE LoginTime > {last_execution_timestamp} GROUP BY UserId

Imageа69.png

Результаты можно получить с помощью DQL:

fetch logs

| filter query.name == "Logins"

А диаграмму можно создать с помощью:

fetch logs

| filter query.name == "Logins"

| makeTimeseries sum(toDouble(expr0)), by: {UserId}, interval: 5m

Imageа70.png

Вы также можете получить доступ ко всем запросам и их тексту, настроенным для этого экземпляра Salesforce:

fetch logs

| filter event.provider == "https://astromkey--staging.sandbox.my.salesforce.com"

| summarize count(), by: {query.name}

Imageа71.png

События платформы

Подпишитесь на пользовательские события платформы Salesforce и передавайте их в Ключ-АСТРОМ в качестве бизнес-событий.

Платформенные события предоставляют мощный инструмент для отправки и получения пользовательских уведомлений о событиях внутри Salesforce и во внешние системы. Эта конфигурация позволяет собирать данные о событиях в режиме реального времени из пользовательских платформенных событий, стандартных платформенных событий и событий отслеживания изменений данных.

Подробности

Для импорта событий платформы Salesforce в Ключ-АСТРОМ:

  1. Выберите Настроить события платформы.
  2. Добавьте темы, на которые вы хотите подписаться. Темы имеют следующий формат:
    • Пользовательские события платформы : /event/YourCustomEvent__e
    • Стандартные события платформы : /event/LoginEventStream,/event/LogoutEventStream
    • Изменение захвата данных : /data/ChangeEvents, /data/AccountChangeEvent
  3. Настройте аутентификацию, используя один из поддерживаемых методов (подключенное приложение, имя пользователя и пароль или идентификатор клиента).

Варианты использования

Обеспечьте возможность использования следующих сценариев:

  • Отслеживание пользовательских бизнес-процессов и рабочих потоков.
  • Отслеживание изменения важных объектов Salesforce с помощью функции отслеживания изменений данных (Change Data Capture).
  • Интеграция с внешними системами с использованием пользовательских событий платформы.
  • Создание дашбордов и оповещения в режиме реального времени на основе событий Salesforce.
  • Сопоставление событий Salesforce с другими данными мониторинга.

Визуализация

События платформы отправляются в Ключ-АСТРОМ как бизнес-события и могут быть запрошены с помощью DQL:

fetch bizevents

| filter event.type == "salesforce.YourCustomEvent__e"

Пример: Запрос всех событий платформы из экземпляра Salesforce.

fetch bizevents

| filter event.provider == "https://yourinstance.my.salesforce.com"

| summarize count(), by: {event.type}

Каждое событие платформы будет включать все пользовательские поля, определенные в этом событии, что сделает их доступными для фильтрации, группировки и визуализации.

Продление срока хранения данных Salesforce Insights

По умолчанию ваши загруженные данные хранятся в течение 30 дней. Вы можете изменить время хранения, создав пользовательский сегмент (bucket) .

Чтобы создать пользовательский сегмент для события Salesforce

  1. В Ключ-АСТРОМ перейдите в Настройки > Наблюдаемость бизнеса > Назначение сегментов.
  2. На странице назначения сегментов бизнес-событий выберите Добавить правило и дайте правилу имя.
  3. В поле Группа выберите период хранения.
  4. Добавьте сопоставитель к своему правилу, введя или вставив DQL-запрос, специфичный для этого сопоставителя. События, соответствующие вашему правилу, будут назначены выбранному вами сегменту. Если ни одно правило не соответствует условию, события будут назначены сегменту по умолчанию. Чтобы назначить все события Salesforce вашему сегменту, необходимо использовать сопоставитель, содержащий функцию matchesValue и ваш URL-адрес Salesforce, как показано в примере ниже.
  5. Выберите Сохранить изменения.
matchesValue(event.provider, "https://environment.my.salesforce.com")