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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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