Применение АппОптима / Наблюдайте и исследуйте / Обновление пользовательских диаграмм
- Обсуждаемые здесь дашборды представляют собой классические дашборды, созданные с использованием функциональности дашборда, интегрированной с предыдущей версией АппОптима.
Если вы используете пользовательские диаграммы на своих дашбордах, вам необходимо прочитать следующий текст.
Требуются немедленные действия
- Что: Если вы используете пользовательские диаграммы, вам необходимо обновить их сейчас .
- Пользовательские диаграммы больше не получают исправлений и улучшений.
- Пользовательские диаграммы больше не подлежат редактированию. При обновлении пользовательских диаграмм до диаграмм Визуализации метрик вы сможете редактировать свои диаграммы, использовать исправления и улучшения функций визуализации метрик и быть готовыми к обновлению до новой платформы.
- Когда:
- Версия АппОптима 1.265 была последней версией АппОптима, поддерживающей пользовательские диаграммы.
- АппОптима SaaS версии 1.271+ и АппОптима версии 1.272+ полностью отключают редактирование пользовательских диаграмм и прекращают поддержку кода пользовательских диаграмм
- Как: Вы можете обновлять плитку за плиткой, дашборд за дашбордом или, используя API, все сразу.
Подробности смотрите ниже.
Относится ли это ко мне?
Это не относится к визуализациям и дашбордам, созданным с помощью Визуализации метрик. Это относится только к нашей старой функциональности Custom charts , которая существовала до Визуализации метрик и теперь полностью устарела.
Проверьте таблицу дашбордов
Чтобы узнать, есть ли у вас какие-либо пользовательские диаграммы старого образца, которые нужно обновить, отфильтруйте таблицу Дашборды по Пользовательские графики: Yes
и посмотрите, есть ли в списке какие-либо дашборды.
- Перейдите в раздел Дашборды (последняя версия АппОптима).
- необязательный Чтобы вывести список только тех дашбордов, которыми вы владеете, добавьте фильтр для
Владение: Мой
.
Если вы хотите проверить все дашборды, к которым у вас есть доступ, независимо от владельца, пропустите этот шаг. - Добавьте фильтр для
Пользовательские графики: Yes
. - Проверьте таблицу.
- Если после фильтрации по
Пользовательские графики: Yes
, не отображается ни одной панели, вам нечего обновлять. Вы можете остановиться здесь. - Если вы не фильтруете по владельцу дашборда, вы можете увидеть некоторые предустановленные дашборды
АппОптима
с указанием владельца. Вы можете игнорировать их. - Если в списке указаны какие-либо другие дашборды, на каждой из них должна отображаться метка,
Пользовательские графики
поскольку вы установилиПользовательские графики: Yes
фильтр на предыдущем шаге. В приведенном ниже примере вам придется обновить две панели мониторинга.
- Если после фильтрации по
Проверьте плитки на дашборде
Если вы нашли дашборд с пользовательскими диаграммами, откройте ее и найдите следующие индикаторы того, что на ней есть пользовательские диаграммы старого образца, которые следует обновить:
Как обновиться?
Прежде чем что-либо делать, мы рекомендуем вам сделать резервные копии самых важных дашбордов. Затем попробуйте обновить резервные копии, чтобы освоиться с процессом обновления, прежде чем обновлять все оставшиеся дашборды.
Например, выберите любой популярный дашборд в вашей среде, от которого вы зависите, возможно, тот, который имеет несколько расширенных и сложных пользовательских плиток диаграмм (используется несколько показателей, и есть конфигурации для единицы, ставок и т. д.), и клонируйте его. Затем вы можете спокойно работать с клоном и проверять, все ли обновляется правильно.
- Чтобы составить список панелей мониторинга по популярности:
- Перейдите в раздел Дашборды (последняя версия Клю-АСТРОМ). Здесь перечислены все дашборды, которые вам разрешено просматривать или редактировать.
- Отсортируйте таблицу по столбцу Популярность .
- Чтобы клонировать существующий дашборд:
- Перейдите в раздел Дашборды (последняя версия Клю-АСТРОМ).
- В таблице дашбордов выберите Дополнительно ( … ) > Клонировать для дашборда, который вы хотите клонировать.
- Копия открывается в режиме редактирования.
- Оригинальный дашборд не затрагивается.
Обновление через веб-интерфейс
В веб-интерфейсе вы можете обновлять по одной плитке или по одному дашборду за раз.
Улучшить одну плитку
Чтобы обновить одну плитку
- Перейдите в раздел Дашборды (последняя версия АппОптима).
- Отобразить дашборды с плиткой, которую необходимо обновить.
- В меню плитки выберите Предварительный просмотр обновленной диаграммы. Преобразованная диаграмма откроется в визуализации метрик в новой вкладке браузера, так что вы сможете сравнить старые диаграммы с новыми визуализациями.
- Проверьте визуализацию, чтобы убедиться, что она преобразована правильно. Внесите изменения по мере необходимости.
- Когда вы будете удовлетворены результатом преобразования, выберите «Закрепить на дашборде» и закрепите обновленную визуализацию на другой панели мониторинга или на той же панели мониторинга.
- Если вы закрепите его на той же панели, то теперь у вас будут старые и новые плитки на той же панели. Это даст вам еще одну возможность сравнить плитки. Если вы удовлетворены результатами, удалите старую плитку (ту, что со значком предупреждения) и перетащите новую плитку на ее место.
Обновить всю панель управления
Вы можете выполнить следующие процедуры с созданием клонов (резервных копий) или без них.
Быстро, но без резервных копий
Для обновления всего дашборда (всех плиток на дашборде одновременно) без создания клона (резервной копии).
- Перейдите в раздел Дашборды (последняя версия АппОптима).
- Найдите дашборд в таблице дашбордов.
- В строке этой панели выберите Дополнительно (...) > Обновить . Если не обнаружено ошибок обновления, вся панель будет обновлена.
Медленнее, но с резервным копированием
Чтобы создать клон (резервную копию) дашборда, а затем обновить весь клонированный дашборд (все плитки на дашборда одновременно)
- Перейдите в раздел Дашборды (последняя версия АппОптима).
- Найдите дашборд в таблице дашбордов.
- В строке этой панели выберите Дополнительно (...) > Клонировать . Это создаст клон (копию) дашборда и откроет ее в режиме редактирования. Исходный дашборд останется неизменным.
- Нажмите на кнопку Готово , чтобы выйти из режима редактирования и отобразить клон.
- В правом верхнем углу панели управления выберите Дополнительно (...) > Обновить .
- Просмотрите обновленный дашборд Чтобы сравнить два дашборда рядом
- Перейдите в раздел Дашборды (последняя версия АппОптима).
- Щелкните правой кнопкой мыши на название первого дашборда в таблице Дашборды и откройте ссылку в новом окне.
- Щелкните правой кнопкой мыши на название второго дашборда в таблице Дашборды и откройте ссылку в новом окне.
- Расположите окна браузера рядом, а затем визуально сравните дашборды
- После того, как вы будете удовлетворены обновленном дашбордом, вы можете удалить оригинал.
Альтернативная процедура из меню дашборда
Эту процедуру можно выполнить как с созданием резервной копии, так и без нее (см. шаг 3).
- Перейдите в раздел Дашборды (последняя версия АппОптима).
- Нажмите на название дашборда, чтобы отобразить его.
- рекомендуется Если вы еще не сделали резервную копию, вы можете сделать это сейчас: в правом верхнем углу дашборда выберите Дополнительно (...) > Клонировать , чтобы создать и отобразить копию дашборда. При клонировании дашборда отображается клон, а исходный дашборд остается неизменным.
- В правом верхнем углу дашборда выберите Дополнительно (...) > Обновить .
- Если на предыдущем шаге вы клонировали дашборд, на этом шаге вы обновляете клон.
- Если вы не клонировали дашборд на предыдущем шаге, на этом шаге вы обновляете исходный дашборд без создания резервной копии.
После завершения обновления дашборда:
- В нижней части дашборда мигает следующее сообщение: Дашборд успешно обновлен!
- Плитки на этом дашборде больше не отображают значок предупреждения, поскольку все они были обновлены до плиток визуализации метрик.
- Опция Обновить больше недоступна в меню этого дашборда, поскольку он уже был обновлен.
Проверьте наличие дополнительных дашбордов для обновления
Чтобы проверить наличие дополнительных дашбордов для обновления
- Перейдите в раздел Дашборды (последняя версия АппОптима).
- Фильтровать страницу Дашборды по
Пользовательские графики: 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
- Используйте конечную точку GET для получения всех идентификаторов дашборда.
https://{your-environment-id}/rest-api-doc/index.jsp?urls.primaryName=Configuration%20API#/Dashboards/getDashboardStubsList
Обязательно замените{your-environment-id}
на фактический идентификатор вашей среды . - Выполните цикл по всем идентификаторам, как описано в разделе Обновить один дашборд выше.
Пример скрипта 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`);
Проверьте наличие дополнительных дашбордов для обновления
Чтобы проверить наличие дополнительных дашбордов для обновления
- Перейдите в раздел Дашборды (последняя версия АппОптима).
- Фильтровать страницу Дашборды по
Пользовательские диаграммы: Yes
.
- Дашборды, которые вы уже обновили, не должны отображаться.
- Все дашборды, на которых сохранилась метка
Пользовательские диаграммы
, по-прежнему необходимо обновить.
Подробную информацию об определении дашбордов и диаграмм, которые все еще нуждаются в обновлении, см. в разделе Относится ли это ко мне? выше.
Что делать, если обновление не удалось?
В зависимости от сложности задействованных плиток обновление дашборда может завершиться частичной неудачей (некоторые плитки на дашборде обновятся успешно, а некоторые — нет) или полностью (ни одна плитка на дашборде не обновится успешно).
В любом случае не беспокойтесь о потере данных. Дашборды и плитки — это визуализации ваших данных, а не сами данные. Ваши данные никогда не подвергаются риску во время обновления.