Avi AMKO Health Monitor "hm description does not contain gsname" log error messages
search cancel

Avi AMKO Health Monitor "hm description does not contain gsname" log error messages

book

Article ID: 436350

calendar_today

Updated On:

Products

VMware Avi Load Balancer

Issue/Introduction

As part the AMKO full sync with the K8s cluster and Avi controller, all the federated health monitors are ingested regardless if they are health monitors not created by AMKO.  During this AMKO full sync there will be error log messages stating "hm description does not contain gsname" for all system default or user created federated health monitors.

Example AMKO pod error log messages:

User created federated health monitor.

2026-03-20T18:21:22.029Z        ^[[33mWARN^[[0m cache/controller_obj_cache.go:      hmName: example-tcp-hm, msg: hm description does not contain gsname, checking if hm name has gsname in it(according to old naming convention)
2026-03-20T18:21:22.029Z        ^[[34mINFO^[[0m ingestion/fullsync.go:       key: {admin example-tcp-hm}, msg: can't get gs name from hm, err : hmName: tcp-443, hmDescription: , msg: hm is malformed, error in parsing gs name, unexpected format

System default federated health monitors:

2026-03-20T18:21:22.057Z        ^[[33mWARN^[[0m cache/controller_obj_cache.go:      hmName: System-GSLB-Ping, msg: hm description does not contain gsname, checking if hm name has gsname in it(according to old naming convention)
2026-03-20T18:21:22.057Z        ^[[34mINFO^[[0m ingestion/fullsync.go:      key: {admin System-GSLB-Ping}, msg: can't get gs name from hm, err : hmName: System-GSLB-Ping, hmDescription: , msg: hm is malformed, error in parsing gs name, unexpected format

2026-03-20T18:21:22.083Z        ^[[33mWARN^[[0m cache/controller_obj_cache.go:      hmName: System-GSLB-TCP, msg: hm description does not contain gsname, checking if hm name has gsname in it(according to old naming convention)
2026-03-20T18:21:22.083Z        ^[[34mINFO^[[0m ingestion/fullsync.go:       key: {admin System-GSLB-TCP}, msg: can't get gs name from hm, err : hmName: System-GSLB-TCP, hmDescription: , msg: hm is malformed, error in parsing gs name, unexpected format

2026-03-20T18:21:22.112Z        ^[[33mWARN^[[0m cache/controller_obj_cache.go:      hmName: System-GSLB-HTTP, msg: hm description does not contain gsname, checking if hm name has gsname in it(according to old naming convention)
2026-03-20T18:21:22.112Z        ^[[34mINFO^[[0m ingestion/fullsync.go:       key: {admin System-GSLB-HTTP}, msg: can't get gs name from hm, err : hmName: System-GSLB-HTTP, hmDescription: , msg: hm is malformed, error in parsing gs name, unexpected format

2026-03-20T18:21:22.148Z        ^[[33mWARN^[[0m cache/controller_obj_cache.go:      hmName: System-GSLB-HTTPS, msg: hm description does not contain gsname, checking if hm name has gsname in it(according to old naming convention)
2026-03-20T18:21:22.148Z        ^[[34mINFO^[[0m ingestion/fullsync.go:       key: {admin System-GSLB-HTTPS}, msg: can't get gs name from hm, err : hmName: System-GSLB-HTTPS, hmDescription: , msg: hm is malformed, error in parsing gs name, unexpected format

2026-03-20T18:21:22.175Z        ^[[33mWARN^[[0m cache/controller_obj_cache.go:      hmName: System-GSLB-UDP, msg: hm description does not contain gsname, checking if hm name has gsname in it(according to old naming convention)
2026-03-20T18:21:22.175Z        ^[[34mINFO^[[0m ingestion/fullsync.go:       key: {admin System-GSLB-UDP}, msg: can't get gs name from hm, err : hmName: System-GSLB-UDP, hmDescription: , msg: hm is malformed, error in parsing gs name, unexpected format

Environment

AMKO 2.1.1 and previous versions.

Cause

When AMKO creates a federated health monitor it adds a description field containing the gsname information and other markers to the health monitor object.  System default and user created federated health monitors do not contain the description field therefore AMKO logs an error message for these health monitors.

AMKO created HM example: -- In the description field AMKO will add the "gsname" which it expects during the full sync.

{
  "allow_duplicate_monitors": true,
  "description": "created by: amko, gsname: example.gslb.local, path: /, protocol: https",
  "failed_checks": 3,
  "https_monitor": {
    "exact_http_request": false,
    "http_request": "HEAD / HTTP/1.0",
    "http_response_code": [
      "HTTP_2XX",
      "HTTP_3XX"
    ]
  },
  "is_federated": true,
  "markers": [
    {
      "key": "created-by",
      "values": [
        "amko-uuid"
      ]
    }
  ],
  "monitor_port": 443,
  "name": "amko--uuid",
  "receive_timeout": 4,
  "send_interval": 10,
  "successful_checks": 3,
  "tenant_ref": "/api/tenant/?name=admin",
  "type": "HEALTH_MONITOR_HTTPS",
  "url": "/api/healthmonitor/healthmonitor-uuid",
  "uuid": "healthmonitor-uuid"
}

System Default HM: - the description field does not exist.

{
  "failed_checks": 3,
  "http_monitor": {
    "exact_http_request": false,
    "http_request": "HEAD / HTTP/1.0",
    "http_response_code": [
      "HTTP_2XX",
      "HTTP_3XX"
    ]
  },
  "is_federated": true,
  "monitor_port": 80,
  "name": "System-GSLB-HTTP",
  "receive_timeout": 4,
  "send_interval": 10,
  "successful_checks": 3,
  "tenant_ref": "/api/tenant/?name=admin",
  "type": "HEALTH_MONITOR_HTTP",
  "url": "/api/healthmonitor/healthmonitor-uuid",
  "uuid": "healthmonitor-uuid"
}

User created HM: - the description field does not exist.

{
  "failed_checks": 2,
  "is_federated": true,
  "monitor_port": 443,
  "name": "example-tcp-hm",
  "receive_timeout": 4,
  "send_interval": 10,
  "successful_checks": 2,
  "tcp_monitor": {
    "tcp_half_open": false
  },
  "tenant_ref": "/api/tenant/?name=admin",
  "type": "HEALTH_MONITOR_TCP",
  "url": "/api/healthmonitor/healthmonitor-uuid",
  "uuid": "healthmonitor-uuid"
}

Resolution

An enhancement will be implemented to AMKO in future releases to improve the logging for user and system default federated health monitors.  At this time there are no options from AMKO to suppress these error log messages.  These log error messages can be safely ignored as it does not pose any functional issues with AMKO.