Обновление пользовательских диаграмм

Материал из Документация Ключ-АСТРОМ

Применение Ключ-АСТРОМ / Наблюдайте и исследуйте / Обновление пользовательских диаграмм

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

Если вы используете пользовательские диаграммы на своих дашбордах, вам необходимо прочитать следующий текст.

Требуются немедленные действия

  • Что: Если вы используете пользовательские диаграммы, вам необходимо обновить их сейчас .
    • Пользовательские диаграммы больше не получают исправлений и улучшений.
    • Пользовательские диаграммы больше не подлежат редактированию. При обновлении пользовательских диаграмм до диаграмм Визуализации метрик вы сможете редактировать свои диаграммы, использовать исправления и улучшения функций визуализации метрик и быть готовыми к обновлению до новой платформы.
  • Когда:
    • Версия Ключ-АСТРОМ 1.265 была последней версией Ключ-АСТРОМ, поддерживающей пользовательские диаграммы.
    • Ключ-АСТРОМ SaaS версии 1.271+ и Ключ-АСТРОМ Managed версии 1.272+ полностью отключают редактирование пользовательских диаграмм и прекращают поддержку кода пользовательских диаграмм
  • Как: Вы можете обновлять плитку за плиткой, дашборд за дашбордом или, используя API, все сразу.

Подробности смотрите ниже.

Относится ли это ко мне?

Это не относится к визуализациям и дашбордам, созданным с помощью Визуализации метрик. Это относится только к нашей старой функциональности Custom charts , которая существовала до Визуализации метрик и теперь полностью устарела.

Проверьте таблицу дашбордов

Чтобы узнать, есть ли у вас какие-либо пользовательские диаграммы старого образца, которые нужно обновить, отфильтруйте таблицу Дашборды по Пользовательские графики: Yes и посмотрите, есть ли в списке какие-либо дашборды.

  1. Перейдите в раздел Дашборды (последняя версия Ключ-АСТРОМ).
  2. необязательный Чтобы вывести список только тех дашбордов, которыми вы владеете, добавьте фильтр для Владение: Мой.
    Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения

    Если вы хотите проверить все дашборды, к которым у вас есть доступ, независимо от владельца, пропустите этот шаг.
  3. Добавьте фильтр для Пользовательские графики: Yes.
    Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения
  4. Проверьте таблицу.
    • Если после фильтрации по Пользовательские графики: Yes, не отображается ни одной панели, вам нечего обновлять. Вы можете остановиться здесь.
    • Если вы не фильтруете по владельцу дашборда, вы можете увидеть некоторые предустановленные дашборды Ключ-АСТРОМ с указанием владельца. Вы можете игнорировать их.
    • Если в списке указаны какие-либо другие дашборды, на каждой из них должна отображаться метка, Пользовательские графики поскольку вы установили Пользовательские графики: Yes фильтр на предыдущем шаге. В приведенном ниже примере вам придется обновить две панели мониторинга.
      Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения

Проверьте плитки на дашборде

Если вы нашли дашборд с пользовательскими диаграммами, откройте ее и найдите следующие индикаторы того, что на ней есть пользовательские диаграммы старого образца, которые следует обновить:

  • Если плитку необходимо обновить, на ней отображается предупреждающий значок и подсказка.
    Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения
  • Если на отображаемом в данный момент дашборде все еще есть хотя бы одна плитка, которую необходимо обновить, в меню дашборда в правом верхнем углу есть опция Обновить.
    Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения

Как обновиться?

Прежде чем что-либо делать, мы рекомендуем вам сделать резервные копии самых важных дашбордов. Затем попробуйте обновить резервные копии, чтобы освоиться с процессом обновления, прежде чем обновлять все оставшиеся дашборды.

Например, выберите любой популярный дашборд в вашей среде, от которого вы зависите, возможно, тот, который имеет несколько расширенных и сложных пользовательских плиток диаграмм (используется несколько показателей, и есть конфигурации для единицы, ставок и т. д.), и клонируйте его. Затем вы можете спокойно работать с клоном и проверять, все ли обновляется правильно.

  1. Чтобы составить список панелей мониторинга по популярности:
    1. Перейдите в раздел Дашборды (последняя версия Клю-АСТРОМ). Здесь перечислены все дашборды, которые вам разрешено просматривать или редактировать.
    2. Отсортируйте таблицу по столбцу Популярность .
  2. Чтобы клонировать существующий дашборд:
    1. Перейдите в раздел Дашборды (последняя версия Клю-АСТРОМ).
    2. В таблице дашбордов выберите Дополнительно ( … ) > Клонировать для дашборда, который вы хотите клонировать.
      • Копия открывается в режиме редактирования.
      • Оригинальный дашборд не затрагивается.

Обновление через веб-интерфейс

В веб-интерфейсе вы можете обновлять по одной плитке или по одному дашборду за раз.

Улучшить одну плитку

Чтобы обновить одну плитку

  1. Перейдите в раздел Дашборды (последняя версия Ключ-АСТРОМ).
  2. Отобразить дашборды с плиткой, которую необходимо обновить.
    Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения
  3. В меню плитки выберите Предварительный просмотр обновленной диаграммы. Преобразованная диаграмма откроется в визуализации метрик в новой вкладке браузера, так что вы сможете сравнить старые диаграммы с новыми визуализациями.
    Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения
  4. Проверьте визуализацию, чтобы убедиться, что она преобразована правильно. Внесите изменения по мере необходимости.
  5. Когда вы будете удовлетворены результатом преобразования, выберите «Закрепить на дашборде» и закрепите обновленную визуализацию на другой панели мониторинга или на той же панели мониторинга.
    • Если вы закрепите его на той же панели, то теперь у вас будут старые и новые плитки на той же панели. Это даст вам еще одну возможность сравнить плитки. Если вы удовлетворены результатами, удалите старую плитку (ту, что со значком предупреждения) и перетащите новую плитку на ее место.

Обновить всю панель управления

Вы можете выполнить следующие процедуры с созданием клонов (резервных копий) или без них.

Быстро, но без резервных копий

Для обновления всего дашборда (всех плиток на дашборде одновременно) без создания клона (резервной копии).

  1. Перейдите в раздел Дашборды (последняя версия Ключ-АСТРОМ).
  2. Найдите дашборд в таблице дашбордов.
  3. В строке этой панели выберите Дополнительно (...) > Обновить . Если не обнаружено ошибок обновления, вся панель будет обновлена.
    Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения

Медленнее, но с резервным копированием

Чтобы создать клон (резервную копию) дашборда, а затем обновить весь клонированный дашборд (все плитки на дашборда одновременно)

  1. Перейдите в раздел Дашборды (последняя версия Ключ-АСТРОМ).
  2. Найдите дашборд в таблице дашбордов.
  3. В строке этой панели выберите Дополнительно (...) > Клонировать . Это создаст клон (копию) дашборда и откроет ее в режиме редактирования. Исходный дашборд останется неизменным.
  4. Нажмите на кнопку Готово , чтобы выйти из режима редактирования и отобразить клон.
  5. В правом верхнем углу панели управления выберите Дополнительно (...) > Обновить .
    Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения
  6. Просмотрите обновленный дашборд Чтобы сравнить два дашборда рядом
    1. Перейдите в раздел Дашборды (последняя версия Ключ-АСТРОМ).
    2. Щелкните правой кнопкой мыши на название первого дашборда в таблице Дашборды и откройте ссылку в новом окне.
    3. Щелкните правой кнопкой мыши на название второго дашборда в таблице Дашборды и откройте ссылку в новом окне.
    4. Расположите окна браузера рядом, а затем визуально сравните дашборды
  7. После того, как вы будете удовлетворены обновленном дашбордом, вы можете удалить оригинал.

Альтернативная процедура из меню дашборда

Эту процедуру можно выполнить как с созданием резервной копии, так и без нее (см. шаг 3).

  1. Перейдите в раздел Дашборды (последняя версия Ключ-АСТРОМ).
  2. Нажмите на название дашборда, чтобы отобразить его.
  3. рекомендуется Если вы еще не сделали резервную копию, вы можете сделать это сейчас: в правом верхнем углу дашборда выберите Дополнительно (...) > Клонировать , чтобы создать и отобразить копию дашборда. При клонировании дашборда отображается клон, а исходный дашборд остается неизменным.
  4. В правом верхнем углу дашборда выберите Дополнительно (...) > Обновить .
    • Если на предыдущем шаге вы клонировали дашборд, на этом шаге вы обновляете клон.
    • Если вы не клонировали дашборд на предыдущем шаге, на этом шаге вы обновляете исходный дашборд без создания резервной копии.

После завершения обновления дашборда:

  • В нижней части дашборда мигает следующее сообщение: Дашборд успешно обновлен!
  • Плитки на этом дашборде больше не отображают значок предупреждения, поскольку все они были обновлены до плиток визуализации метрик.
  • Опция Обновить больше недоступна в меню этого дашборда, поскольку он уже был обновлен.

Проверьте наличие дополнительных дашбордов для обновления

Чтобы проверить наличие дополнительных дашбордов для обновления

  1. Перейдите в раздел Дашборды (последняя версия Ключ-АСТРОМ).
  2. Фильтровать страницу Дашборды по Пользовательские графики: Yes.
  • Дашборды, которые вы уже обновили, не должны отображаться.
  • Все панели, на которых сохранилась метка Пользовательские графики, необходимо обновить.

Подробную информацию об определении дашбордов и диаграмм, которые все еще нуждаются в обновлении, см. в разделе Относится ли это ко мне? выше.

Обновление через API

Ключ-АСТРОМ версии 1.251+

Используя API Ключ-АСТРОМ, вы можете обновить один дашборд за раз или все дашборды сразу. В любом случае API всегда будет удобно пропускать дашборды, на которых нет пользовательских диаграмм , что устраняет необходимость сначала отфильтровывать дашборды без пользовательских диаграмм.

Обновить один дашборд

Чтобы обновить один дашборд через API, используйте конечную точку перехода.

https://{your-environment-id}/rest-api-doc/index.jsp?urls.primaryName=Configuration%20API#/Dashboards/migrateDashboard

Обязательно замените {your-environment-id} на фактический идентификатор вашей среды.

Обновитm все дашборды

Для обновления всех дашбордов через API

  1. Используйте конечную точку GET для получения всех идентификаторов дашборда. https://{your-environment-id}/rest-api-doc/index.jsp?urls.primaryName=Configuration%20API#/Dashboards/getDashboardStubsList Обязательно замените {your-environment-id} на фактический идентификатор вашей среды .
  2. Выполните цикл по всем идентификаторам, как описано в разделе Обновить один дашборд выше.

Пример скрипта Node.js

Чтобы быстро начать работу, не стесняйтесь адаптировать и использовать следующий пример скрипта Node.js. Мы использовали его для массового обновления всех дашбордов нашей собственной среды разработки.

Перед использованием скрипта обязательно обновите обе отмеченные строки // TODO своей собственной информацией:

  • Замените {your-environment-id} на фактический идентификатор вашей среды.
  • Замените {your-api-token} действительным токеном API с соответствующей областью действия.

import fs from "fs";

import fetch from "node-fetch";

async function migrateAllDashboards() {


  // create a backup directory

  if (!fs.existsSync("./BACKUPS")) {

    fs.mkdirSync("./BACKUPS");

  }


  export const ENV_URL = "{your-environment-id}"; // TODO replace this

  export const AUTH_HEADERS = {

      Authorization: `Api-token {your-api-token}`, // TODO replace this

   };

  const dirName = `./BACKUPS/${new URL(ENV_URL).hostname.replace(

    ".",

    "_"

  )}-${Date.now()}`;

  fs.mkdirSync(dirName);


  console.log("Fetching all the dashboards");

  const fetchAllUrl = `${ENV_URL}/api/config/v1/dashboards`;

  const response = await fetch(fetchAllUrl, { headers: AUTH_HEADERS });

  const dashboardsMetadata = await response.json();

  fs.writeFileSync(

    `${dirName}/_ALL_DASHBOARDS_METADATA.json`,

    JSON.stringify(dashboardsMetadata)

  );

  const allDashboards = dashboardsMetadata.dashboards;

  console.log(`Saved the metadata of ${allDashboards.length} dashboards`);


  for (let index = 0; index < allDashboards.length; index++) {

    const db = allDashboards[index];

    const dbId = db.id;

    const fetchDB = `${ENV_URL}/api/config/v1/dashboards/${dbId}`;

    const response = await fetch(fetchDB, { headers: AUTH_HEADERS });

    const dbContent = await response.json();

    // save dashboard content to backup directory

    fs.writeFileSync(`${dirName}/${dbId}.json`, JSON.stringify(dbContent));


    try {

      // attempt migration

      const migrateResponse = await fetch(

        `${ENV_URL}/api/config/v1/dashboards/${dbId}/migrate`,

        {

          method: "PUT",

          headers: {

            "Content-Type": "application/json",

            ...AUTH_HEADERS,

          },

          body: dbId,

        }

      );


      if (migrateResponse.status === 200) {

        if (migrateResponse.errors) {

          console.log(`X ${dbId} updated failed!);

          console.error(migrateResponse.errors);

        }

      } else {

        console.error(`X ${dbId} update failed!`);

        console.error(migrateResponse);

      }

    } catch (error) {

      console.error(`X ${dbId} update failed!`);

      console.error(updateResponse);

    }

  }

}


console.log("### Backup and Migrate\n");

await migrateAllDashboards();

console.log(`### Migration completed\n\n`);

Проверьте наличие дополнительных дашбордов для обновления

Чтобы проверить наличие дополнительных дашбордов для обновления

  1. Перейдите в раздел Дашборды (последняя версия Ключ-АСТРОМ).
  2. Фильтровать страницу Дашборды по Пользовательские диаграммы: Yes.
  • Дашборды, которые вы уже обновили, не должны отображаться.
  • Все дашборды, на которых сохранилась метка Пользовательские диаграммы, по-прежнему необходимо обновить.

Подробную информацию об определении дашбордов и диаграмм, которые все еще нуждаются в обновлении, см. в разделе Относится ли это ко мне? выше.

Что делать, если обновление не удалось?

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

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