Skip to content

MetricsModule crash after latest pull - 1.2.18 #7447

@FelixHelin

Description

@FelixHelin

Expected Behavior

Metrics Module running and sending collected metrics upstream

Current Behavior

Metrics Module container exits :

ERR] Registering agent with OMS failed (are the Log Analytics Workspace ID and Key correct?) : Value cannot be null. (Parameter 'path')
[2025-05-24 11:11:02.635 FTL] System.ArgumentNullException: Value cannot be null. (Parameter 'path')
   at System.ArgumentNullException.Throw(String paramName)
   at System.IO.File.Delete(String path)
   at Microsoft.Azure.Devices.Edge.Azure.Monitor.Certificategenerator.CertGenerator.DeleteCertificateAndKeyFile() in /__w/1/s/iotedge/edge-modules/metrics-collector/src/CertificateGenerator/CertGenerator.cs:line 118
   at Microsoft.Azure.Devices.Edge.Azure.Monitor.Certificategenerator.CertGenerator.RegisterWithOms(X509Certificate2 cert, String AgentGuid, String logAnalyticsWorkspaceId, String logAnalyticsWorkspaceKey, String logAnalyticsWorkspaceDomainPrefixOms) in /__w/1/s/iotedge/edge-modules/metrics-collector/src/CertificateGenerator/CertGenerator.cs:line 196
   at Microsoft.Azure.Devices.Edge.Azure.Monitor.Certificategenerator.CertGenerator.RegisterWithOmsWithBasicRetryAsync(X509Certificate2 cert, String AgentGuid, String logAnalyticsWorkspaceId, String logAnalyticsWorkspaceKey, String logAnalyticsWorkspaceDomainPrefixOms) in /__w/1/s/iotedge/edge-modules/metrics-collector/src/CertificateGenerator/CertGenerator.cs:line 208
   at Microsoft.Azure.Devices.Edge.Azure.Monitor.Certificategenerator.CertGenerator.RegisterAgentWithOMS(String logAnalyticsWorkspaceId, String logAnalyticsWorkspaceKey, String logAnalyticsWorkspaceDomainPrefixOms) in /__w/1/s/iotedge/edge-modules/metrics-collector/src/CertificateGenerator/CertGenerator.cs:line 267
[2025-05-24 11:11:02.637 INF] Termination requested, initiating shutdown.
[2025-05-24 11:11:02.637 INF] Waiting for cleanup to finish
[2025-05-24 11:11:02.652 INF] Done with cleanup. Shutting down.

Context (Environment)

Output of iotedge check


Configuration checks (aziot-identity-service)
---------------------------------------------
√ keyd configuration is well-formed - OK
√ certd configuration is well-formed - OK
√ tpmd configuration is well-formed - OK
√ identityd configuration is well-formed - OK
√ daemon configurations up-to-date with config.toml - OK
√ identityd config toml file specifies a valid hostname - OK
√ aziot-identity-service package is up-to-date - OK
√ host time is close to reference time - OK
√ production readiness: identity certificates expiry - OK
× production readiness: EST identity and bootstrap certificates expiry - Error
    x509 bootstrap 'est-bootstrap-id' expired at 2023-05-25 12:57:12 UTC
× preloaded certificates are valid - Error
     'est-bootstrap-id' expired at 2023-05-25 12:57:12 UTC
√ keyd is running - OK
√ certd is running - OK
√ identityd is running - OK
√ read all preloaded certificates from the Certificates Service - OK
√ read all preloaded key pairs from the Keys Service - OK
√ check all EST server URLs utilize HTTPS - OK
√ ensure all preloaded certificates match preloaded private keys with the same ID - OK

Connectivity checks (aziot-identity-service)
--------------------------------------------
‼ host can connect to and perform TLS handshake with iothub AMQP port - Warning
    Could not retrieve iothub_hostname from provisioning file.
    Please specify the backing IoT Hub name using --iothub-hostname switch if you have that information.
    Since no hostname is provided, all hub connectivity tests will be skipped.
‼ host can connect to and perform TLS handshake with iothub HTTPS / WebSockets port - Warning
    Could not retrieve iothub_hostname from provisioning file.
    Please specify the backing IoT Hub name using --iothub-hostname switch if you have that information.
    Since no hostname is provided, all hub connectivity tests will be skipped.
‼ host can connect to and perform TLS handshake with iothub MQTT port - Warning
    Could not retrieve iothub_hostname from provisioning file.
    Please specify the backing IoT Hub name using --iothub-hostname switch if you have that information.
    Since no hostname is provided, all hub connectivity tests will be skipped.
√ host can connect to and perform TLS handshake with DPS endpoint - OK

Configuration checks
--------------------
√ aziot-edged configuration is well-formed - OK
√ configuration up-to-date with config.toml - OK
√ container engine is installed and functional - OK
√ configuration has correct URIs for daemon mgmt endpoint - OK
√ aziot-edge package is up-to-date - OK
√ container time is close to host time - OK
‼ DNS server - Warning
    Container engine is not configured with DNS server setting, which may impact connectivity to IoT Hub.
    Please see https://aka.ms/iotedge-prod-checklist-dns for best practices.
    You can ignore this warning if you are setting DNS server per module in the Edge deployment.
√ production readiness: logs policy - OK
‼ production readiness: Edge Agent's storage directory is persisted on the host filesystem - Warning
    The edgeAgent module is not configured to persist its /tmp/edgeAgent directory on the host filesystem.
    Data might be lost if the module is deleted or updated.
    Please see https://aka.ms/iotedge-storage-host for best practices.
‼ production readiness: Edge Hub's storage directory is persisted on the host filesystem - Warning
    The edgeHub module is not configured to persist its /tmp/edgeHub directory on the host filesystem.
    Data might be lost if the module is deleted or updated.
    Please see https://aka.ms/iotedge-storage-host for best practices.
√ proxy settings are consistent in aziot-edged, aziot-identityd, moby daemon and config.toml - OK

Connectivity checks
-------------------
25 check(s) succeeded.
6 check(s) raised warnings. Re-run with --verbose for more details.
2 check(s) raised errors. Re-run with --verbose for more details.
7 check(s) were skipped due to errors from other checks. Re-run with --verbose for more details.

Runtime Versions

  • aziot-edged iotedge 1.5.16
  • Edge Agent mcr.microsoft.com/azureiotedge-hub:1.4
  • Edge Hub mcr.microsoft.com/azureiotedge-hub:1.4
  • Docker/Moby [run docker version]: sudo docker version
Client:
 Version:           28.0.4-1
 API version:       1.48
 Go version:        go1.23.7
 Git commit:        b8034c0ed70494a90c133461d145cd072d920d7c
 Built:             Tue Mar 25 15:03:35 UTC 2025
 OS/Arch:           linux/amd64
 Context:           default

Server:
 Engine:
  Version:          28.0.3-1
  API version:      1.48 (minimum version 1.24)
  Go version:       go1.23.7
  Git commit:       330857ad0ffbc8114556f7886997fc43d7be4aad
  Built:            Tue Mar 25 00:30:05 2025
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.7.27-1
  GitCommit:        05044ec0a9a75232cad458027ca83437aae3f4da
 runc:
  Version:          1.1.15-1
  GitCommit:        bc20cb4497af9af01bea4a8044f1678ffca2745c
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions