Обновление пользовательских диаграмм: различия между версиями
(Новая страница: «* Обсуждаемые здесь '''дашборды''' представляют собой '''классические дашборды''', созданные...») |
|||
Строка 22: | Строка 22: | ||
# Перейдите в раздел '''Дашборды''' (последняя версия Ключ-АСТРОМ). | # Перейдите в раздел '''Дашборды''' (последняя версия Ключ-АСТРОМ). | ||
# '''''необязательный''''' Чтобы вывести список только тех дашбордов, которыми вы владеете, добавьте фильтр для <code>Владение: Мой</code>. | # '''''необязательный''''' Чтобы вывести список только тех дашбордов, которыми вы владеете, добавьте фильтр для <code>Владение: Мой</code>. <br />[[Файл:213.png|граница]] <br />Если вы хотите проверить все дашборды, к которым у вас есть доступ, независимо от владельца, пропустите этот шаг. | ||
# Добавьте фильтр для <code>Пользовательские графики: Yes</code>. | # Добавьте фильтр для <code>Пользовательские графики: Yes</code>. <br />[[Файл:214.png|граница]] | ||
# Проверьте таблицу. | # Проверьте таблицу. | ||
#* Если после фильтрации по <code>Пользовательские графики: Yes</code>, не отображается ни одной панели, вам нечего обновлять. Вы можете остановиться здесь. | #* Если после фильтрации по <code>Пользовательские графики: Yes</code>, не отображается ни одной панели, вам нечего обновлять. Вы можете остановиться здесь. | ||
Строка 33: | Строка 33: | ||
* Если плитку необходимо обновить, на ней отображается предупреждающий значок и подсказка. [[Файл:216.png|граница]] | * Если плитку необходимо обновить, на ней отображается предупреждающий значок и подсказка. [[Файл:216.png|граница]] | ||
* Если на отображаемом в данный момент дашборде все еще есть хотя бы одна плитка, которую необходимо обновить, в меню дашборда в правом верхнем углу есть опция '''Обновить'''. [[Файл:217.png|граница]] | * Если на отображаемом в данный момент дашборде все еще есть хотя бы одна плитка, которую необходимо обновить, в меню дашборда в правом верхнем углу есть опция '''Обновить'''. <br />[[Файл:217.png|граница]] | ||
== Как обновиться? == | == Как обновиться? == | ||
Строка 57: | Строка 57: | ||
# Перейдите в раздел '''Дашборды''' (последняя версия Ключ-АСТРОМ). | # Перейдите в раздел '''Дашборды''' (последняя версия Ключ-АСТРОМ). | ||
# Отобразить дашборды с плиткой, которую необходимо обновить. [[Файл:216.png|граница]] | # Отобразить дашборды с плиткой, которую необходимо обновить. [[Файл:216.png|граница]] | ||
# В меню плитки выберите '''Предварительный просмотр обновленной диаграммы'''. Преобразованная диаграмма откроется в визуализации метрик в новой вкладке браузера, так что вы сможете сравнить старые диаграммы с новыми визуализациями. [[Файл:218.png|граница]] | # В меню плитки выберите '''Предварительный просмотр обновленной диаграммы'''. Преобразованная диаграмма откроется в визуализации метрик в новой вкладке браузера, так что вы сможете сравнить старые диаграммы с новыми визуализациями. <br />[[Файл:218.png|граница]] | ||
# Проверьте визуализацию, чтобы убедиться, что она преобразована правильно. Внесите изменения по мере необходимости. | # Проверьте визуализацию, чтобы убедиться, что она преобразована правильно. Внесите изменения по мере необходимости. | ||
# Когда вы будете удовлетворены результатом преобразования, выберите «Закрепить на дашборде» и закрепите обновленную визуализацию на другой панели мониторинга или на той же панели мониторинга. | # Когда вы будете удовлетворены результатом преобразования, выберите «Закрепить на дашборде» и закрепите обновленную визуализацию на другой панели мониторинга или на той же панели мониторинга. | ||
#* Если вы закрепите его на той же панели, то теперь у вас будут старые и новые плитки на той же панели. Это даст вам еще одну возможность сравнить плитки. Если вы удовлетворены результатами, удалите старую плитку (ту, что со значком предупреждения) и перетащите новую плитку на ее место. | #* Если вы закрепите его на той же панели, то теперь у вас будут старые и новые плитки на той же панели. Это даст вам еще одну возможность сравнить плитки. Если вы удовлетворены результатами, удалите старую плитку (ту, что со значком предупреждения) и перетащите новую плитку на ее место. | ||
=== Обновить всю панель управления === | |||
Вы можете выполнить следующие процедуры с созданием клонов (резервных копий) или без них. | |||
==== Быстро, но без резервных копий ==== | |||
Для обновления всего дашборда (всех плиток на дашборде одновременно) без создания клона (резервной копии). | |||
# Перейдите в раздел '''Дашборды''' (последняя версия Ключ-АСТРОМ). | |||
# Найдите дашборд в таблице дашбордов. | |||
# В строке этой панели выберите '''Дополнительно (...) > Обновить''' . Если не обнаружено ошибок обновления, вся панель будет обновлена. [[Файл:219.png|граница]] | |||
==== Медленнее, но с резервным копированием ==== | |||
Чтобы создать клон (резервную копию) дашборда, а затем обновить весь клонированный дашборд (все плитки на дашборда одновременно) | |||
# Перейдите в раздел '''Дашборды''' (последняя версия Ключ-АСТРОМ). | |||
# Найдите дашборд в таблице дашбордов. | |||
# В строке этой панели выберите '''Дополнительно (...) > Клонировать''' . Это создаст клон (копию) дашборда и откроет ее в режиме редактирования. Исходный дашборд останется неизменным. | |||
# Нажмите на кнопку '''Готово''' , чтобы выйти из режима редактирования и отобразить клон. | |||
# В правом верхнем углу панели управления выберите '''Дополнительно (...) > Обновить''' . [[Файл:219.png|граница]] | |||
# Просмотрите обновленный дашборд Чтобы сравнить два дашборда рядом | |||
## Перейдите в раздел '''Дашборды''' (последняя версия Ключ-АСТРОМ). | |||
## Щелкните правой кнопкой мыши на название первого дашборда в таблице '''Дашборды''' и откройте ссылку в новом окне. | |||
## Щелкните правой кнопкой мыши на название второго дашборда в таблице '''Дашборды''' и откройте ссылку в новом окне. | |||
## Расположите окна браузера рядом, а затем визуально сравните дашборды | |||
# После того, как вы будете удовлетворены обновленном дашбордом, вы можете удалить оригинал. | |||
==== Альтернативная процедура из меню дашборда ==== | |||
Эту процедуру можно выполнить как с созданием резервной копии, так и без нее (см. шаг 3). | |||
# Перейдите в раздел '''Дашборды''' (последняя версия Ключ-АСТРОМ). | |||
# Нажмите на название дашборда, чтобы отобразить его. | |||
# '''''рекомендуется''''' Если вы еще не сделали резервную копию, вы можете сделать это сейчас: в правом верхнем углу дашборда выберите '''Дополнительно (...) > Клонировать''' , чтобы создать и отобразить копию дашборда. При клонировании дашборда отображается клон, а исходный дашборд остается неизменным. | |||
# В правом верхнем углу дашборда выберите '''Дополнительно (...) > Обновить''' . | |||
#* Если на предыдущем шаге вы клонировали дашборд, на этом шаге вы обновляете клон. | |||
#* Если вы не клонировали дашборд на предыдущем шаге, на этом шаге вы обновляете исходный дашборд без создания резервной копии. | |||
После завершения обновления дашборда: | |||
* В нижней части дашборда мигает следующее сообщение: '''''Дашборд успешно обновлен!''''' | |||
* Плитки на этом дашборде больше не отображают значок предупреждения, поскольку все они были обновлены до плиток визуализации метрик. | |||
* Опция '''Обновить''' больше недоступна в меню этого дашборда, поскольку он уже был обновлен. | |||
=== Проверьте наличие дополнительных дашбордов для обновления === | |||
Чтобы проверить наличие дополнительных дашбордов для обновления | |||
# Перейдите в раздел '''Дашборды''' (последняя версия Ключ-АСТРОМ). | |||
# Фильтровать страницу '''Дашборды''' по <code>Пользовательские графики: Yes</code>. | |||
* Дашборды, которые вы уже обновили, не должны отображаться. | |||
* Все панели, на которых сохранилась метка <code>Пользовательские графики</code>, необходимо обновить. | |||
Подробную информацию об определении дашбордов и диаграмм, которые все еще нуждаются в обновлении, см. в разделе '''''Относится ли это ко мне?''''' выше. | |||
== Обновление через API == | |||
Ключ-АСТРОМ версии 1.251+ | |||
Используя API Ключ-АСТРОМ, вы можете обновить один дашборд за раз или все дашборды сразу. В любом случае API всегда будет удобно пропускать дашборды, на которых нет пользовательских диаграмм , что устраняет необходимость сначала отфильтровывать дашборды без пользовательских диаграмм. | |||
=== Обновить один дашборд === | |||
Чтобы обновить один дашборд через API, используйте конечную точку перехода. | |||
<code><nowiki>https://{your-environment-id}/rest-api-doc/index.jsp?urls.primaryName=Configuration%20API#/Dashboards/migrateDashboard</nowiki></code> | |||
Обязательно замените <code>{your-environment-id}</code> на фактический идентификатор вашей среды. | |||
=== Обновитm все дашборды === | |||
Для обновления всех дашбордов через API | |||
# Используйте конечную точку GET для получения всех идентификаторов дашборда. <code><nowiki>https://{your-environment-id}/rest-api-doc/index.jsp?urls.primaryName=Configuration%20API#/Dashboards/getDashboardStubsList</nowiki></code> Обязательно замените <code>{your-environment-id}</code> на фактический идентификатор вашей среды . | |||
# Выполните цикл по всем идентификаторам, как описано в разделе '''''Обновить один дашборд''''' выше. | |||
==== Пример скрипта Node.js ==== | |||
Чтобы быстро начать работу, не стесняйтесь адаптировать и использовать следующий пример скрипта Node.js. Мы использовали его для массового обновления всех дашбордов нашей собственной среды разработки. | |||
Перед использованием скрипта обязательно обновите обе отмеченные строки <code>// TODO</code> своей собственной информацией: | |||
* Замените <code>{your-environment-id}</code> на фактический идентификатор вашей среды. | |||
* Замените <code>{your-api-token}</code> действительным токеном API с соответствующей областью действия. | |||
<code>import fs from "fs";</code> | |||
<code>import fetch from "node-fetch";</code> | |||
<code>async function migrateAllDashboards() {</code> | |||
<code> // create a backup directory</code> | |||
<code> if (!fs.existsSync("./BACKUPS")) {</code> | |||
<code> fs.mkdirSync("./BACKUPS");</code> | |||
<code> }</code> | |||
<code> export const ENV_URL = "{your-environment-id}"; // TODO replace this</code> | |||
<code> export const AUTH_HEADERS = {</code> | |||
<code> Authorization: `Api-token {your-api-token}`, // TODO replace this</code> | |||
<code> };</code> | |||
<code> const dirName = `./BACKUPS/${new URL(ENV_URL).hostname.replace(</code> | |||
<code> ".",</code> | |||
<code> "_"</code> | |||
<code> )}-${Date.now()}`;</code> | |||
<code> fs.mkdirSync(dirName);</code> | |||
<code> console.log("Fetching all the dashboards");</code> | |||
<code> const fetchAllUrl = `${ENV_URL}/api/config/v1/dashboards`;</code> | |||
<code> const response = await fetch(fetchAllUrl, { headers: AUTH_HEADERS });</code> | |||
<code> const dashboardsMetadata = await response.json();</code> | |||
<code> fs.writeFileSync(</code> | |||
<code> `${dirName}/_ALL_DASHBOARDS_METADATA.json`,</code> | |||
<code> JSON.stringify(dashboardsMetadata)</code> | |||
<code> );</code> | |||
<code> const allDashboards = dashboardsMetadata.dashboards;</code> | |||
<code> console.log(`Saved the metadata of ${allDashboards.length} dashboards`);</code> | |||
<code> for (let index = 0; index < allDashboards.length; index++) {</code> | |||
<code> const db = allDashboards[index];</code> | |||
<code> const dbId = db.id;</code> | |||
<code> const fetchDB = `${ENV_URL}/api/config/v1/dashboards/${dbId}`;</code> | |||
<code> const response = await fetch(fetchDB, { headers: AUTH_HEADERS });</code> | |||
<code> const dbContent = await response.json();</code> | |||
<code> // save dashboard content to backup directory</code> | |||
<code> fs.writeFileSync(`${dirName}/${dbId}.json`, JSON.stringify(dbContent));</code> | |||
<code> try {</code> | |||
<code> // attempt migration</code> | |||
<code> const migrateResponse = await fetch(</code> | |||
<code> `${ENV_URL}/api/config/v1/dashboards/${dbId}/migrate`,</code> | |||
<code> {</code> | |||
<code> method: "PUT",</code> | |||
<code> headers: {</code> | |||
<code> "Content-Type": "application/json",</code> | |||
<code> ...AUTH_HEADERS,</code> | |||
<code> },</code> | |||
<code> body: dbId,</code> | |||
<code> }</code> | |||
<code> );</code> | |||
<code> if (migrateResponse.status === 200) {</code> | |||
<code> if (migrateResponse.errors) {</code> | |||
<code> console.log(`X ${dbId} updated failed!);</code> | |||
<code> console.error(migrateResponse.errors);</code> | |||
<code> }</code> | |||
<code> } else {</code> | |||
<code> console.error(`X ${dbId} update failed!`);</code> | |||
<code> console.error(migrateResponse);</code> | |||
<code> }</code> | |||
<code> } catch (error) {</code> | |||
<code> console.error(`X ${dbId} update failed!`);</code> | |||
<code> console.error(updateResponse);</code> | |||
<code> }</code> | |||
<code> }</code> | |||
<code>}</code> | |||
<code>console.log("### Backup and Migrate\n");</code> | |||
<code>await migrateAllDashboards();</code> | |||
<code>console.log(`### Migration completed\n\n`);</code> | |||
=== Проверьте наличие дополнительных дашбордов для обновления === | |||
Чтобы проверить наличие дополнительных дашбордов для обновления | |||
# Перейдите в раздел '''Дашборды''' (последняя версия Ключ-АСТРОМ). | |||
# Фильтровать страницу '''Дашборды''' по <code>Пользовательские диаграммы: Yes</code>. | |||
* Дашборды, которые вы уже обновили, не должны отображаться. | |||
* Все дашборды, на которых сохранилась метка <code>Пользовательские диаграммы</code>, по-прежнему необходимо обновить. | |||
Подробную информацию об определении дашбордов и диаграмм, которые все еще нуждаются в обновлении, см. в разделе '''''Относится ли это ко мне?''''' выше. | |||
== Что делать, если обновление не удалось? == | |||
В зависимости от сложности задействованных плиток обновление дашборда может завершиться частичной неудачей (некоторые плитки на дашборде обновятся успешно, а некоторые — нет) или полностью (ни одна плитка на дашборде не обновится успешно). | |||
В любом случае не беспокойтесь о потере данных. Дашборды и плитки — это визуализации ваших данных, а не сами данные. Ваши данные никогда не подвергаются риску во время обновления. |
Версия 11:55, 16 августа 2024
- Обсуждаемые здесь дашборды представляют собой классические дашборды, созданные с использованием функциональности дашборда, интегрированной с предыдущей версией Ключ-АСТРОМ.
Если вы используете пользовательские диаграммы на своих дашбордах, вам необходимо прочитать следующий текст.
Требуются немедленные действия
- Что: Если вы используете пользовательские диаграммы, вам необходимо обновить их сейчас .
- Пользовательские диаграммы больше не получают исправлений и улучшений.
- Пользовательские диаграммы больше не подлежат редактированию. При обновлении пользовательских диаграмм до диаграмм Визуализации метрик вы сможете редактировать свои диаграммы, использовать исправления и улучшения функций визуализации метрик и быть готовыми к обновлению до новой платформы.
- Когда:
- Версия Ключ-АСТРОМ 1.265 была последней версией Ключ-АСТРОМ, поддерживающей пользовательские диаграммы.
- Ключ-АСТРОМ SaaS версии 1.271+ и Ключ-АСТРОМ Managed версии 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
.
- Дашборды, которые вы уже обновили, не должны отображаться.
- Все дашборды, на которых сохранилась метка
Пользовательские диаграммы
, по-прежнему необходимо обновить.
Подробную информацию об определении дашбордов и диаграмм, которые все еще нуждаются в обновлении, см. в разделе Относится ли это ко мне? выше.
Что делать, если обновление не удалось?
В зависимости от сложности задействованных плиток обновление дашборда может завершиться частичной неудачей (некоторые плитки на дашборде обновятся успешно, а некоторые — нет) или полностью (ни одна плитка на дашборде не обновится успешно).
В любом случае не беспокойтесь о потере данных. Дашборды и плитки — это визуализации ваших данных, а не сами данные. Ваши данные никогда не подвергаются риску во время обновления.