Несоответствие уведомлений о плановом техническом обслуживании Azure

У нас есть серверы в Azure. А недавно мы получили по почте уведомление о плановом обслуживании. Но при проверке информационной панели выясняется, что плановое обслуживание не планировалось.

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

Это только я или кто-то еще сталкивается с той же проблемой?

Спасибо.

3
задан 28 December 2017 в 10:24
3 ответа

Это не только вы - это тоже случилось с нами. В нашем случае блейд-серверы виртуальных машин показали плановое обслуживание за 24–36 часов до того, как мы получили уведомление по электронной почте. В тот же период в колонке «Плановое обслуживание» не отображалось предстоящее обслуживание.

Сегодня утром, после получения официального уведомления по электронной почте, колонка «Плановое обслуживание» правильно показывала предстоящее обслуживание. 1155161]

0
ответ дан 3 December 2019 в 07:50

Это только я или кто-то еще сталкивается с той же проблемой?

Нет, не только вы.

Другие виртуальные машины в этом регионе, которые нуждаются в обслуживании, получат то же сообщение, что и вы.

Как сказал Дэвид, мы можем найти сообщение здесь:

enter image description here

Может быть, нам следует повторно развернуть ваши виртуальные машины.

Если для обслуживания не требуется перезагрузка, Azure использует миграцию на месте, чтобы приостановить виртуальную машину на время обновления узла.

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

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

0
ответ дан 3 December 2019 в 07:50

AzureRM PowerShell

Вы можете использовать Azure Powershell, чтобы узнать, когда виртуальные машины запланированы для обслуживания. Информация о плановом обслуживании доступна в командлете Get-AzureRmVM при использовании параметра -status.

Get-AzureRmVM -ResourceGroupName rgName -Name vmName -Status

Вы также можете получить статус обслуживания для всех виртуальных машин в группе ресурсов с помощью Get-AzureRmVM и без указания виртуальной машины.

Get-AzureRmVM -ResourceGroupName rgName -Status

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

function MaintenanceIterator
{
    Select-AzureRmSubscription -SubscriptionId $args[0]

    $rgList= Get-AzureRmResourceGroup 

    for ($rgIdx=0; $rgIdx -lt $rgList.Length ; $rgIdx++)
    {
        $rg = $rgList[$rgIdx]        
    $vmList = Get-AzureRMVM -ResourceGroupName $rg.ResourceGroupName 
        for ($vmIdx=0; $vmIdx -lt $vmList.Length ; $vmIdx++)
        {
            $vm = $vmList[$vmIdx]
            $vmDetails = Get-AzureRMVM -ResourceGroupName $rg.ResourceGroupName -Name $vm.Name -Status
              if ($vmDetails.MaintenanceRedeployStatus )
            {
                Write-Output "VM: $($vmDetails.Name)  IsCustomerInitiatedMaintenanceAllowed: $($vmDetails.MaintenanceRedeployStatus.IsCustomerInitiatedMaintenanceAllowed) $($vmDetails.MaintenanceRedeployStatus.LastOperationMessage)"               
            }
          }
    }
}

Ссылка : Обработка уведомлений о плановом обслуживании для виртуальных машин Windows


Служба метаданных Azure

Запланированные события - это служба метаданных Azure, которая дает вашему приложению время для подготовки к обслуживанию виртуальной машины. Он предоставляет информацию о предстоящих событиях обслуживания (например, перезагрузке), чтобы ваше приложение могло подготовиться к ним и ограничить сбои. Он доступен для всех типов виртуальных машин Azure, включая PaaS и IaaS, как в Windows, так и в Linux.

# How to get scheduled events 
function Get-ScheduledEvents($uri)
{
    $scheduledEvents = Invoke-RestMethod -Headers @{"Metadata"="true"} -URI $uri -Method get
    $json = ConvertTo-Json $scheduledEvents
    Write-Host "Received following events: `n" $json
    return $scheduledEvents
}

# How to approve a scheduled event
function Approve-ScheduledEvent($eventId, $docIncarnation, $uri)
{    
    # Create the Scheduled Events Approval Document
    $startRequests = [array]@{"EventId" = $eventId}
    $scheduledEventsApproval = @{"StartRequests" = $startRequests; "DocumentIncarnation" = $docIncarnation} 

    # Convert to JSON string
    $approvalString = ConvertTo-Json $scheduledEventsApproval

    Write-Host "Approving with the following: `n" $approvalString

    # Post approval string to scheduled events endpoint
    Invoke-RestMethod -Uri $uri -Headers @{"Metadata"="true"} -Method POST -Body $approvalString
}

function Handle-ScheduledEvents($scheduledEvents)
{
    # Add logic for handling events here
}

######### Sample Scheduled Events Interaction #########

# Set up the scheduled events URI for a VNET-enabled VM
$localHostIP = "169.254.169.254"
$scheduledEventURI = 'http://{0}/metadata/scheduledevents?api-version=2017-03-01' -f $localHostIP 

# Get events
$scheduledEvents = Get-ScheduledEvents $scheduledEventURI

# Handle events however is best for your service
Handle-ScheduledEvents $scheduledEvents

# Approve events when ready (optional)
foreach($event in $scheduledEvents.Events)
{
    Write-Host "Current Event: `n" $event
    $entry = Read-Host "`nApprove event? Y/N"
    if($entry -eq "Y" -or $entry -eq "y")
    {
        Approve-ScheduledEvent $event.EventId $scheduledEvents.DocumentIncarnation $scheduledEventURI 
    }
}

Ссылка: Служба метаданных Azure: запланированные события для виртуальных машин Windows

0
ответ дан 3 December 2019 в 07:50

Теги

Похожие вопросы