Поделиться через


Отправка журналов в Azure Monitor

Периодически можно экспортировать журналы, а затем отправлять их в Azure. Экспорт и отправка журналов также создает и обновляет контроллер данных, управляемый экземпляр SQL и ресурсы сервера PostgreSQL в Azure.

Подготовка к работе

Перед отправкой журналов необходимо выполнить следующие действия.

  1. Создание рабочей области Log Analytics
  2. Назначение идентификатора и общего ключа переменным среды

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

Создание рабочей области Log Analytics

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

Примечание.

Пропустите этот шаг, если рабочая область у вас уже есть.

az monitor log-analytics workspace create --resource-group <resource group name> --workspace-name <some name you choose>

Пример результата:

{
  "customerId": "00000000-0000-0000-0000-000000000000",
  "eTag": null,
  "id": "/subscriptions/<Subscription ID>/resourcegroups/user-arc-demo/providers/microsoft.operationalinsights/workspaces/user-logworkspace",
  "location": "eastus",
  "name": "user-logworkspace",
  "portalUrl": null,
  "provisioningState": "Succeeded",
  "resourceGroup": "user-arc-demo",
  "retentionInDays": 30,
  "sku": {
    "lastSkuUpdate": "Thu, 30 Jul 2020 22:37:53 GMT",
    "maxCapacityReservationLevel": 3000,
    "name": "pergb2018"
  },
  "source": "Azure",
  "tags": null,
  "type": "Microsoft.OperationalInsights/workspaces"
}

Назначение идентификатора и общего ключа переменным среды

Сохраните customerId рабочей области Log Analytics в качестве переменной среды для использования в дальнейшем.

SET WORKSPACE_ID=<customerId>

Эта команда возвращает ключи доступа, необходимые для подключения к рабочей области Log Analytics.

az monitor log-analytics workspace get-shared-keys --resource-group MyResourceGroup --workspace-name MyLogsWorkpace

Пример результата:

{
  "primarySharedKey": "<primarySharedKey>==",
  "secondarySharedKey": "<secondarySharedKey>=="
}

Сохраните первичный ключ в переменной среды для использования в дальнейшем.

SET WORKSPACE_SHARED_KEY=<primarySharedKey>

Проверка переменных среды

Проверьте, что заданы все необходимые переменные среды.

echo %WORKSPACE_ID%
echo %WORKSPACE_SHARED_KEY%

После этого можно отправлять журналы в рабочую область журналов.

Настройка автоматической отправки журналов в рабочую область Azure Log Analytics в прямом режиме с помощью az CLI

В режиме прямого подключения отправка журналов может быть настроена только в автоматическом режиме. Эту автоматическую отправку метрик можно настроить во время развертывания или после развертывания контроллера данных Azure Arc.

Включение автоматической отправки журналов в рабочую область Azure Log Analytics

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

az arcdata dc update --name <name of datacontroller> --resource-group <resource group> --auto-upload-logs true
#Example
az arcdata dc update --name arcdc --resource-group <myresourcegroup> --auto-upload-logs true

Включение автоматической отправки журналов в рабочую область Azure Log Analytics

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

az arcdata dc update --name <name of datacontroller> --resource-group <resource group> --auto-upload-logs false
#Example
az arcdata dc update --name arcdc --resource-group <myresourcegroup> --auto-upload-logs false

Настройка автоматической отправки журналов в рабочую область Azure Log Analytics в прямом режиме с помощью kubectl CLI

Включение автоматической отправки журналов в рабочую область Azure Log Analytics

Настройка автоматической отправки журналов с помощью kubectl:

  • убедитесь, что рабочая область Log Analytics создана, как описано в предыдущем разделе
  • создайте секрет Kubernetes для рабочей области Log Analytics с помощью следующего WorkspaceID SharedAccessKey :
apiVersion: v1
data:
  primaryKey: <base64 encoding of Azure Log Analytics workspace primary key>
  workspaceId: <base64 encoding of Azure Log Analytics workspace Id>
kind: Secret
metadata:
  name: log-workspace-secret
  namespace: <your datacontroller namespace>
type: Opaque
  • Чтобы создать секрет, выполните следующую команду:

    kubectl apply -f <myLogAnalyticssecret.yaml> --namespace <mynamespace>
    
  • Чтобы открыть параметры в качестве yaml-файла в редакторе по умолчанию, выполните следующую команду:

    kubectl edit datacontroller <DC name> --name <namespace>
    
  • обновите свойство "true"autoUploadLogs до и сохраните файл.

Включение автоматической отправки журналов в рабочую область Azure Log Analytics

Чтобы отключить автоматическую отправку журналов, выполните следующую команду:

kubectl edit datacontroller <DC name> --name <namespace>
  • обновите свойство "false"autoUploadLogs до и сохраните файл.

Отправка журналов в Azure Monitor в непрямом режиме

Чтобы отправить журналы для Управляемый экземпляр SQL, включенных серверами PostgreSQL с поддержкой Azure Arc и Azure Arc, выполните следующие команды CLI:

  1. Экспортируйте все журналы в указанный файл.

    Примечание.

    Для экспорта сведений о потреблении/выставлении счетов, метрик и журналов с помощью команды az arcdata dc export на данный момент требуется обход проверки SSL. Вам будет предложено обойти проверку SSL, или можно задать переменную среды AZDATA_VERIFY_SSL=no, чтобы избежать отображения запроса. В настоящее время нет возможности настроить SSL-сертификат для API экспорта контроллера данных.

    az arcdata dc export --type logs --path logs.json  --k8s-namespace arc
    
  2. Отправьте журналы в рабочую область Log Analytics в Azure Monitor.

    az arcdata dc upload --path logs.json
    

Просмотр журналов на портале Azure

К отправленным журналам можно обращаться с помощью обозревателя запросов журналов следующим образом:

  1. Откройте портал Azure и найдите рабочую область по имени на панели поиска вверху, а затем выберите ее.
  2. На панели слева щелкните "Журналы".
  3. Щелкните "Начало работы" (или перейдите по ссылкам на странице "Начало работы", чтобы узнать больше об Log Analytics).
  4. Следуйте указаниям в руководстве, чтобы узнать больше об Log Analytics, если вы используете эту технологию впервые.
  5. Разверните настраиваемые журналы в нижней части списка таблиц, и вы увидите таблицу с именем "sql_instance_logs_CL" или "postgresInstances_postgresql_logs_CL".
  6. Щелкните значок с изображением глаза рядом с именем таблицы.
  7. Нажмите кнопку "Просмотреть в редакторе запросов".
  8. Вы увидите запрос в редакторе запросов, где отображаются последние 10 событий в журнале.
  9. Здесь можно поэкспериментировать с отправкой запросов к журналам с помощью редактора запросов, настроить оповещения и т. д.

Автоматизация отправки (необязательно)

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

В избранном редакторе текста и кода добавьте следующий скрипт в файл и сохраните в виде исполняемого файла скрипта , например .sh (Linux/Mac), .cmd.batили .ps1 (Windows).

az arcdata dc export --type logs --path logs.json --force --k8s-namespace arc
az arcdata dc upload --path logs.json

Сделайте файл скрипта исполняемым

chmod +x myuploadscript.sh

Запускайте скрипт каждые 20 минут.

watch -n 1200 ./myuploadscript.sh

Можно также использовать планировщик заданий, например cron, или планировщик задач Windows, или оркестратор, например Ansible, Puppet или Chef.

Отправка метрик и журналов в Azure Monitor

Отправка данных об использовании, метрик и журналов в Azure Monitor

Отправка данных о выставлении счетов в Azure и их просмотр на портале Azure

Просмотр ресурса контроллера данных Azure Arc на портале Azure