Ротация журналов в IoT Edge Agent

Я следую документации Microsoft и пытается настроить журналы для пограничного агента с помощью параметров контейнера. Мой файл deployment.template.json выглядит следующим образом:

{
 "$schema-template": "2.0.0",
  "modulesContent": {
    "$edgeAgent": {
      "properties.desired": {
        "schemaVersion": "1.0",
        "runtime": {
          "type": "docker",
          "settings": {
            "minDockerVersion": "v1.25",
            "loggingOptions": "",
            "registryCredentials": {
              "myRegistryName": {
                "username": "$CONTAINER_REGISTRY_USERNAME",
                "password": "$CONTAINER_REGISTRY_PASSWORD",
                "address": "myRegistryAddress.azurecr.io"
              }
            }
          }
        },
        "systemModules": {
          "edgeAgent": {
            "type": "docker",
            "settings": {
              "image": "mcr.microsoft.com/azureiotedge-agent:1.0",
              "createOptions": {
                "HostConfig": {
                  "LogConfig": {
                      "Type": "json-file",
                      "Config": {
                          "max-size": "10m",
                          "max-file": "3"
                      }
                  }
                }
              }
            }
          },
          "edgeHub": {
            "type": "docker",
            "status": "running",
            "restartPolicy": "always",
            "settings": {
              "image": "mcr.microsoft.com/azureiotedge-hub:1.0",
              "createOptions": {
                "HostConfig": {
                  "PortBindings": {
                    "5671/tcp": [
                      {
                        "HostPort": "5671"
                      }
                    ],
                    "8883/tcp": [
                      {
                        "HostPort": "8883"
                      }
                    ],
                    "443/tcp": [
                      {
                        "HostPort": "443"
                      }
                    ]
                  },
                  "LogConfig": {
                    "Type": "json-file",
                    "Config": {
                        "max-size": "10m",
                        "max-file": "3"
                    }
                  }
                }
              }
            }
          }
        },
        "modules": {
          "Module_Name": {
            "version": "1.0",
            "type": "docker",
            "status": "running",
            "restartPolicy": "always",
            "settings": {
              "image": "${MODULES.Module_Name}",
              "createOptions": {
                "HostConfig": {
                  "LogConfig": {
                      "Type": "json-file",
                      "Config": {
                          "max-size": "10m",
                          "max-file": "3"
                      }
                  }
                }
              }
            }
          }
        }
      }
    },
    "$edgeHub": {
      "properties.desired": {
        "schemaVersion": "1.0",
        "routes": {
          "route": "FROM /messages/* INTO $upstream"
        },
        "storeAndForwardConfiguration": {
          "timeToLiveSecs": 7200
        }
      }
    }
  }
}

Когда я создаю и развертываю его на своем устройстве, применяется ротация журналов Edge Hub и моего модуля, но ротация журналов edgeAgent не применяется. Я проверяю настройки ротации журналов в файле /var/lib/docker/containers/{container_id}/hostconfig.json.

Что я уже сделал:

Удалил образ через sudo docker rmi sudo docker rmi mcr.microsoft.com/azureiotedge-agent:1.0 и удалил все контейнеры, включая контейнер edgeAgent, и перезапустил среду edge через sudo systemctl restart iotedge. Ротация журнала по-прежнему не применяется к новому контейнеру, созданному средой выполнения Edge. Я не уверен, что мне не хватает? Любая помощь приветствуется. Обратите внимание: я не хочу применять ротацию журналов, создавая файл daemon.json и помещая его в папку времени выполнения на границе. Мне нужно сделать это с помощью параметров контейнера, указанных в файле deployment.template.json.


person Hassan Abbas    schedule 23.09.2019    source источник


Ответы (1)


Это известная ошибка, при которой развертывание пограничного агента не применяется, если номер версии совпадает с номером в config.yaml; пожалуйста, помогите создать для него проблему с github. Чтобы решить эту проблему, установите параметры в config.yaml.

person Philip    schedule 23.09.2019
comment
Вы можете использовать описанный здесь обходной путь из развертывания: github.com/Azure/iotedge / issues / 1590 # issuecomment-527545210 в - person Venkat Yalla; 24.09.2019