As partly investigated in #13, latest version of the exporter fails to work with Veeam EM 13 and logs the below errors:
ts=2026-05-24T08:48:54.221Z level=warn caller=yaml_script.go:341 msg="error building map value for key 'value'" errmsg="getVarError 1: BackupServers not found" coll=veeam_overview_metrics script="get veeam_overview" name="proceed elements"
ts=2026-05-24T08:48:54.221Z level=warn caller=yaml_script.go:341 msg="error building map value for key 'value'" errmsg="getVarError 1: ProxyServers not found" coll=veeam_overview_metrics script="get veeam_overview" name="proceed elements"
ts=2026-05-24T08:48:54.221Z level=warn caller=yaml_script.go:341 msg="error building map value for key 'value'" errmsg="getVarError 1: RepositoryServers not found" coll=veeam_overview_metrics script="get veeam_overview" name="proceed elements"
ts=2026-05-24T08:48:54.221Z level=warn caller=yaml_script.go:341 msg="error building map value for key 'value'" errmsg="getVarError 1: ScheduledJobs not found" coll=veeam_overview_metrics script="get veeam_overview" name="proceed elements"
ts=2026-05-24T08:48:54.221Z level=warn caller=yaml_script.go:341 msg="error building map value for key 'value'" errmsg="getVarError 1: ProtectedVms not found" coll=veeam_overview_vms_metrics script="get veeam_overview" name="proceed elements count"
ts=2026-05-24T08:48:54.221Z level=warn caller=yaml_script.go:341 msg="error building map value for key 'value'" errmsg="getVarError 1: SuccessfulVmLastestStates not found" coll=veeam_overview_metrics script="get veeam_overview" name="proceed elements"
ts=2026-05-24T08:48:54.221Z level=warn caller=yaml_script.go:341 msg="error building map value for key 'value'" errmsg="getVarError 1: BackedUpVms not found" coll=veeam_overview_vms_metrics script="get veeam_overview" name="proceed elements count"
ts=2026-05-24T08:48:54.222Z level=warn caller=yaml_script.go:341 msg="error building map value for key 'value'" errmsg="getVarError 1: ReplicatedVms not found" coll=veeam_overview_vms_metrics script="get veeam_overview" name="proceed elements count"
ts=2026-05-24T08:48:54.222Z level=warn caller=yaml_script.go:341 msg="error building map value for key 'value'" errmsg="getVarError 1: RestorePoints not found" coll=veeam_overview_vms_metrics script="get veeam_overview" name="proceed elements count"
ts=2026-05-24T08:48:54.222Z level=warn caller=yaml_script.go:341 msg="error building map value for key 'value'" errmsg="getVarError 1: FullBackupPointsSize not found" coll=veeam_overview_vms_metrics script="get veeam_overview" name="proceed elements total_bytes"
ts=2026-05-24T08:48:54.222Z level=warn caller=yaml_script.go:341 msg="error building map value for key 'value'" errmsg="getVarError 1: RunningJobs not found" coll=job_overview_metrics script="get jobs_overview" name="proceed elements count"
ts=2026-05-24T08:48:54.222Z level=warn caller=yaml_script.go:341 msg="error building map value for key 'value'" errmsg="getVarError 1: IncrementalBackupPointsSize not found" coll=veeam_overview_vms_metrics script="get veeam_overview" name="proceed elements total_bytes"
ts=2026-05-24T08:48:54.222Z level=warn caller=yaml_script.go:341 msg="error building map value for key 'value'" errmsg="getVarError 1: ScheduledJobs not found" coll=job_overview_metrics script="get jobs_overview" name="proceed elements count"
ts=2026-05-24T08:48:54.222Z level=warn caller=yaml_script.go:341 msg="error building map value for key 'value'" errmsg="getVarError 1: ReplicaRestorePointsSize not found" coll=veeam_overview_vms_metrics script="get veeam_overview" name="proceed elements total_bytes"
ts=2026-05-24T08:48:54.222Z level=warn caller=yaml_script.go:341 msg="error building map value for key 'value'" errmsg="getVarError 1: ScheduledBackupJobs not found" coll=job_overview_metrics script="get jobs_overview" name="proceed elements count"
ts=2026-05-24T08:48:54.222Z level=warn caller=yaml_script.go:341 msg="error building map value for key 'value'" errmsg="getVarError 1: SourceVmsSize not found" coll=veeam_overview_vms_metrics script="get veeam_overview" name="proceed elements total_bytes"
ts=2026-05-24T08:48:54.222Z level=warn caller=yaml_script.go:341 msg="error building map value for key 'value'" errmsg="getVarError 1: ScheduledReplicaJobs not found" coll=job_overview_metrics script="get jobs_overview" name="proceed elements count"
ts=2026-05-24T08:48:54.221Z level=warn caller=yaml_script.go:341 msg="error building map value for key 'value'" errmsg="getVarError 1: WarningVmLastestStates not found" coll=veeam_overview_metrics script="get veeam_overview" name="proceed elements"
ts=2026-05-24T08:48:54.222Z level=warn caller=yaml_script.go:341 msg="error building map value for key 'value'" errmsg="getVarError 1: FailedVmLastestStates not found" coll=veeam_overview_metrics script="get veeam_overview" name="proceed elements"
ts=2026-05-24T08:48:54.222Z level=warn caller=yaml_script.go:341 msg="error building map value for key 'value'" errmsg="getVarError 1: TotalJobRuns not found" coll=job_overview_metrics script="get jobs_overview" name="proceed elements count"
ts=2026-05-24T08:48:54.222Z level=warn caller=yaml_script.go:341 msg="error building map value for key 'value'" errmsg="getVarError 1: SuccessfulJobRuns not found" coll=job_overview_metrics script="get jobs_overview" name="proceed elements count"
ts=2026-05-24T08:48:54.222Z level=warn caller=yaml_script.go:341 msg="error building map value for key 'value'" errmsg="getVarError 1: WarningsJobRuns not found" coll=job_overview_metrics script="get jobs_overview" name="proceed elements count"
ts=2026-05-24T08:48:54.222Z level=warn caller=yaml_script.go:341 msg="error building map value for key 'value'" errmsg="getVarError 1: FailedJobRuns not found" coll=job_overview_metrics script="get jobs_overview" name="proceed elements count"
ts=2026-05-24T08:48:54.236Z level=warn caller=yaml_script.go:341 msg="error building map value for key 'taskname'" errmsg="getVarError 1: taskname not found" coll=backup_jobs_tasks_sessions_metrics script="get backup_job_session" name="build labels"
ts=2026-05-24T08:48:54.236Z level=warn caller=yaml_script.go:341 msg="error building map value for key 'vmname'" errmsg="getVarError 1: vmname not found" coll=backup_jobs_tasks_sessions_metrics script="get backup_job_session" name="build labels"
ts=2026-05-24T08:48:54.236Z level=warn caller=yaml_script.go:341 msg="error building map value for key 'backupserver'" errmsg="getVarError 1: backupserver not found" coll=backup_jobs_tasks_sessions_metrics script="get backup_job_session" name="build labels"
ts=2026-05-24T08:48:54.236Z level=warn caller=yaml_script.go:341 msg="error building map value for key 'jobname'" errmsg="getVarError 1: jobname not found" coll=backup_jobs_tasks_sessions_metrics script="get backup_job_session" name="build labels"
ts=2026-05-24T08:48:54.237Z level=warn caller=metric.go:286 msg="invalid type need map[string[][string]" type_error=string coll=backup_jobs_tasks_sessions_metrics script="get backup_job_session"
ts=2026-05-24T08:48:54.237Z level=warn caller=metric.go:286 msg="invalid type need map[string[][string]" type_error=string coll=backup_jobs_tasks_sessions_metrics script="get backup_job_session"
ts=2026-05-24T08:48:54.237Z level=warn caller=metric.go:286 msg="invalid type need map[string[][string]" type_error=string coll=backup_jobs_tasks_sessions_metrics script="get backup_job_session"
ts=2026-05-24T08:48:54.237Z level=warn caller=metric.go:286 msg="invalid type need map[string[][string]" type_error=string coll=backup_jobs_tasks_sessions_metrics script="get backup_job_session"
ts=2026-05-24T08:48:54.237Z level=warn caller=collector.go:220 msg="invalid value for 'when' {{or (EQ (toString .task.state) \"2\") (EQ (toString .task.state) \"3\")}}: getVarError 2: invalid template: template: field:1:26: executing \"field\" at <.task.state>: can't evaluate field state in type interface {}" coll=backup_jobs_tasks_sessions_metrics script="get backup_job_session"
ts=2026-05-24T08:48:54.251Z level=warn caller=yaml_script.go:341 msg="error building map value for key 'backupserver'" errmsg="getVarError 1: backupserver not found" coll=backup_jobs_sessions_metrics script="get backup_job_session" name="build labels"
ts=2026-05-24T08:48:54.251Z level=warn caller=yaml_script.go:341 msg="error building map value for key 'name'" errmsg="getVarError 1: name not found" coll=backup_jobs_sessions_metrics script="get backup_job_session" name="build labels"
ts=2026-05-24T08:48:54.251Z level=warn caller=yaml_script.go:341 msg="error building map value for key 'jobname'" errmsg="getVarError 1: jobname not found" coll=backup_jobs_sessions_metrics script="get backup_job_session" name="build labels"
ts=2026-05-24T08:48:54.251Z level=warn caller=yaml_script.go:341 msg="error building map value for key 'jobtype'" errmsg="getVarError 1: jobtype not found" coll=backup_jobs_sessions_metrics script="get backup_job_session" name="build labels"
ts=2026-05-24T08:48:54.251Z level=warn caller=metric.go:286 msg="invalid type need map[string[][string]" type_error=string coll=backup_jobs_sessions_metrics script="get backup_job_session"
ts=2026-05-24T08:48:54.251Z level=warn caller=metric.go:286 msg="invalid type need map[string[][string]" type_error=string coll=backup_jobs_sessions_metrics script="get backup_job_session"
ts=2026-05-24T08:48:54.251Z level=warn caller=metric.go:286 msg="invalid type need map[string[][string]" type_error=string coll=backup_jobs_sessions_metrics script="get backup_job_session"
ts=2026-05-24T08:48:54.251Z level=warn caller=metric.go:286 msg="invalid type need map[string[][string]" type_error=string coll=backup_jobs_sessions_metrics script="get backup_job_session"
ts=2026-05-24T08:48:54.735Z level=warn caller=yaml_script.go:341 msg="error building map value for key 'value'" errmsg="getVarError 1: ProtectedVms not found" coll=veeam_overview_vms_metrics script="get veeam_overview" name="proceed elements count"
ts=2026-05-24T08:48:54.735Z level=warn caller=yaml_script.go:341 msg="error building map value for key 'value'" errmsg="getVarError 1: BackedUpVms not found" coll=veeam_overview_vms_metrics script="get veeam_overview" name="proceed elements count"
ts=2026-05-24T08:48:54.735Z level=warn caller=yaml_script.go:341 msg="error building map value for key 'value'" errmsg="getVarError 1: ReplicatedVms not found" coll=veeam_overview_vms_metrics script="get veeam_overview" name="proceed elements count"
ts=2026-05-24T08:48:54.735Z level=warn caller=yaml_script.go:341 msg="error building map value for key 'value'" errmsg="getVarError 1: RestorePoints not found" coll=veeam_overview_vms_metrics script="get veeam_overview" name="proceed elements count"
ts=2026-05-24T08:48:54.735Z level=warn caller=yaml_script.go:341 msg="error building map value for key 'value'" errmsg="getVarError 1: FullBackupPointsSize not found" coll=veeam_overview_vms_metrics script="get veeam_overview" name="proceed elements total_bytes"
ts=2026-05-24T08:48:54.735Z level=warn caller=yaml_script.go:341 msg="error building map value for key 'value'" errmsg="getVarError 1: IncrementalBackupPointsSize not found" coll=veeam_overview_vms_metrics script="get veeam_overview" name="proceed elements total_bytes"
ts=2026-05-24T08:48:54.735Z level=warn caller=yaml_script.go:341 msg="error building map value for key 'value'" errmsg="getVarError 1: ReplicaRestorePointsSize not found" coll=veeam_overview_vms_metrics script="get veeam_overview" name="proceed elements total_bytes"
ts=2026-05-24T08:48:54.736Z level=warn caller=yaml_script.go:341 msg="error building map value for key 'value'" errmsg="getVarError 1: SourceVmsSize not found" coll=veeam_overview_vms_metrics script="get veeam_overview" name="proceed elements total_bytes"
ts=2026-05-24T08:48:54.736Z level=warn caller=yaml_script.go:341 msg="error building map value for key 'value'" errmsg="getVarError 1: BackupServers not found" coll=veeam_overview_metrics script="get veeam_overview" name="proceed elements"
ts=2026-05-24T08:48:54.736Z level=warn caller=yaml_script.go:341 msg="error building map value for key 'value'" errmsg="getVarError 1: ProxyServers not found" coll=veeam_overview_metrics script="get veeam_overview" name="proceed elements"
ts=2026-05-24T08:48:54.736Z level=warn caller=yaml_script.go:341 msg="error building map value for key 'value'" errmsg="getVarError 1: RepositoryServers not found" coll=veeam_overview_metrics script="get veeam_overview" name="proceed elements"
ts=2026-05-24T08:48:54.736Z level=warn caller=yaml_script.go:341 msg="error building map value for key 'value'" errmsg="getVarError 1: ScheduledJobs not found" coll=veeam_overview_metrics script="get veeam_overview" name="proceed elements"
ts=2026-05-24T08:48:54.736Z level=warn caller=yaml_script.go:341 msg="error building map value for key 'value'" errmsg="getVarError 1: SuccessfulVmLastestStates not found" coll=veeam_overview_metrics script="get veeam_overview" name="proceed elements"
ts=2026-05-24T08:48:54.736Z level=warn caller=yaml_script.go:341 msg="error building map value for key 'value'" errmsg="getVarError 1: WarningVmLastestStates not found" coll=veeam_overview_metrics script="get veeam_overview" name="proceed elements"
ts=2026-05-24T08:48:54.736Z level=warn caller=yaml_script.go:341 msg="error building map value for key 'value'" errmsg="getVarError 1: FailedVmLastestStates not found" coll=veeam_overview_metrics script="get veeam_overview" name="proceed elements"
ts=2026-05-24T08:48:54.821Z level=warn caller=yaml_script.go:341 msg="error building map value for key 'value'" errmsg="getVarError 1: RunningJobs not found" coll=job_overview_metrics script="get jobs_overview" name="proceed elements count"
ts=2026-05-24T08:48:54.821Z level=warn caller=yaml_script.go:341 msg="error building map value for key 'value'" errmsg="getVarError 1: ScheduledJobs not found" coll=job_overview_metrics script="get jobs_overview" name="proceed elements count"
ts=2026-05-24T08:48:54.821Z level=warn caller=yaml_script.go:341 msg="error building map value for key 'value'" errmsg="getVarError 1: ScheduledBackupJobs not found" coll=job_overview_metrics script="get jobs_overview" name="proceed elements count"
ts=2026-05-24T08:48:54.821Z level=warn caller=yaml_script.go:341 msg="error building map value for key 'jobname'" errmsg="getVarError 1: jobname not found" coll=backup_jobs_sessions_metrics script="get backup_job_session" name="build labels"
ts=2026-05-24T08:48:54.821Z level=warn caller=yaml_script.go:341 msg="error building map value for key 'jobtype'" errmsg="getVarError 1: jobtype not found" coll=backup_jobs_sessions_metrics script="get backup_job_session" name="build labels"
ts=2026-05-24T08:48:54.821Z level=warn caller=yaml_script.go:341 msg="error building map value for key 'backupserver'" errmsg="getVarError 1: backupserver not found" coll=backup_jobs_sessions_metrics script="get backup_job_session" name="build labels"
ts=2026-05-24T08:48:54.821Z level=warn caller=yaml_script.go:341 msg="error building map value for key 'name'" errmsg="getVarError 1: name not found" coll=backup_jobs_sessions_metrics script="get backup_job_session" name="build labels"
ts=2026-05-24T08:48:54.821Z level=warn caller=metric.go:286 msg="invalid type need map[string[][string]" type_error=string coll=backup_jobs_sessions_metrics script="get backup_job_session"
ts=2026-05-24T08:48:54.821Z level=warn caller=metric.go:286 msg="invalid type need map[string[][string]" type_error=string coll=backup_jobs_sessions_metrics script="get backup_job_session"
ts=2026-05-24T08:48:54.821Z level=warn caller=metric.go:286 msg="invalid type need map[string[][string]" type_error=string coll=backup_jobs_sessions_metrics script="get backup_job_session"
ts=2026-05-24T08:48:54.821Z level=warn caller=yaml_script.go:341 msg="error building map value for key 'backupserver'" errmsg="getVarError 1: backupserver not found" coll=backup_jobs_tasks_sessions_metrics script="get backup_job_session" name="build labels"
ts=2026-05-24T08:48:54.821Z level=warn caller=yaml_script.go:341 msg="error building map value for key 'jobname'" errmsg="getVarError 1: jobname not found" coll=backup_jobs_tasks_sessions_metrics script="get backup_job_session" name="build labels"
ts=2026-05-24T08:48:54.821Z level=warn caller=yaml_script.go:341 msg="error building map value for key 'taskname'" errmsg="getVarError 1: taskname not found" coll=backup_jobs_tasks_sessions_metrics script="get backup_job_session" name="build labels"
ts=2026-05-24T08:48:54.821Z level=warn caller=yaml_script.go:341 msg="error building map value for key 'vmname'" errmsg="getVarError 1: vmname not found" coll=backup_jobs_tasks_sessions_metrics script="get backup_job_session" name="build labels"
ts=2026-05-24T08:48:54.821Z level=warn caller=metric.go:286 msg="invalid type need map[string[][string]" type_error=string coll=backup_jobs_sessions_metrics script="get backup_job_session"
ts=2026-05-24T08:48:54.821Z level=warn caller=yaml_script.go:341 msg="error building map value for key 'value'" errmsg="getVarError 1: ScheduledReplicaJobs not found" coll=job_overview_metrics script="get jobs_overview" name="proceed elements count"
ts=2026-05-24T08:48:54.821Z level=warn caller=yaml_script.go:341 msg="error building map value for key 'value'" errmsg="getVarError 1: TotalJobRuns not found" coll=job_overview_metrics script="get jobs_overview" name="proceed elements count"
ts=2026-05-24T08:48:54.821Z level=warn caller=metric.go:286 msg="invalid type need map[string[][string]" type_error=string coll=backup_jobs_tasks_sessions_metrics script="get backup_job_session"
ts=2026-05-24T08:48:54.821Z level=warn caller=yaml_script.go:341 msg="error building map value for key 'value'" errmsg="getVarError 1: SuccessfulJobRuns not found" coll=job_overview_metrics script="get jobs_overview" name="proceed elements count"
ts=2026-05-24T08:48:54.821Z level=warn caller=yaml_script.go:341 msg="error building map value for key 'value'" errmsg="getVarError 1: WarningsJobRuns not found" coll=job_overview_metrics script="get jobs_overview" name="proceed elements count"
ts=2026-05-24T08:48:54.822Z level=warn caller=yaml_script.go:341 msg="error building map value for key 'value'" errmsg="getVarError 1: FailedJobRuns not found" coll=job_overview_metrics script="get jobs_overview" name="proceed elements count"
ts=2026-05-24T08:48:54.822Z level=warn caller=metric.go:286 msg="invalid type need map[string[][string]" type_error=string coll=backup_jobs_tasks_sessions_metrics script="get backup_job_session"
ts=2026-05-24T08:48:54.822Z level=warn caller=metric.go:286 msg="invalid type need map[string[][string]" type_error=string coll=backup_jobs_tasks_sessions_metrics script="get backup_job_session"
ts=2026-05-24T08:48:54.822Z level=warn caller=metric.go:286 msg="invalid type need map[string[][string]" type_error=string coll=backup_jobs_tasks_sessions_metrics script="get backup_job_session"
ts=2026-05-24T08:48:54.822Z level=warn caller=collector.go:220 msg="invalid value for 'when' {{or (EQ (toString .task.state) \"2\") (EQ (toString .task.state) \"3\")}}: getVarError 2: invalid template: template: field:1:26: executing \"field\" at <.task.state>: can't evaluate field state in type interface {}" coll=backup_jobs_tasks_sessions_metrics script="get backup_job_session"
ts=2026-05-24T08:48:54.968Z level=error caller=exporter.go:137 msg="target has panic-ed: send on closed channel" coll=veeam-backup
ts=2026-05-24T08:48:54.968Z level=error caller=promhttp.go:136 msg="Error gathering metrics for 'veeam-backup': 5 error(s) occurred:\n* collected metric \"veeam_em_jobs_tasks_sessions_duration\" { counter:{value:0}} was collected before with the same name and label values\n* collected metric \"veeam_em_overview_jobs_max_duration\" { label:{name:\"jobname\" value:\"\"} label:{name:\"type\" value:\"job\"} counter:{value:0}} was collected before with the same name and label values\n* collected metric \"veeam_em_overview_jobs_max_duration\" { label:{name:\"jobname\" value:\"\"} label:{name:\"type\" value:\"backupjob\"} counter:{value:0}} was collected before with the same name and label values\n* collected metric \"veeam_em_overview_jobs_max_duration\" { label:{name:\"jobname\" value:\"\"} label:{name:\"type\" value:\"replicajob\"} counter:{value:0}} was collected before with the same name and label values\n* collected metric \"veeam_em_jobs_sessions_duration\" { counter:{value:0}} was collected before with the same name and label values"
Configuration looks as below:
# Global defaults.
global:
# max timeout for the exporter: if prometheus sends a value greater than scrape_timeout, scrape_timeout will be used
scrape_timeout: 60s
# Subtracted from Prometheus' scrape_timeout to give us some headroom and prevent Prometheus from timing out first.
scrape_timeout_offset: 500ms
# Minimum interval between collector runs: by default (0s) collectors are executed on every scrape.
min_interval: 0s
# all unsuccessful queries will be retried this number of times
query_retry: 1
# all metrics will be named "[metric_prefix[]_[metric_name]"
metric_prefix: "veeam_em"
# all http codes that will consider the connection has an invalid auth and must do a Login()
invalid_auth_code: [401, 403]
exporter_name: veeam_exporter
# all, tls_upto_1.2, tls_1.2 ,tls_1.3
tls_version: all
profiles:
veeam:
scripts:
init:
- name: default headers
set_fact:
headers:
- name: "Content-Type"
value: application/json
- name: Accept
value: "application/json"
scheme: https
port: 9398
verifySSL: false
base_url: /api
# set default time in hours (time.Duration) to look back for jobs and tasks
jobHistory: -12h
taskHistory: -12h
auth_check:
- name: analyze login response ok
set_fact:
headers:
- name: "X-RestSvcSessionId"
value: 'js: exporter.getHeader( response_headers, "X-RestSvcSessionId" )'
logged: true
login_retry: $queryRetry
# remove .login entry from symbols table
# login: ~
when:
- 'js: status_code == 201'
- name: analyze login response
set_fact:
# auth_token: ""
logged: false
login_retry: $queryRetry
headers:
- name: "X-RestSvcSessionId"
action: delete
when:
- 'js: (status_code == 401) || (status_code == 403)'
- name: analyze login response not ok with retry
set_fact:
# auth_token: ""
logged: false
login_retry: 'js: ++login_retry'
when:
- 'js: (status_code != 201) && (status_code != 401) && (status_code != 403)'
login:
- name: init login loop
vars:
login_retry: 0
status_code: 0
until: 'js: login_retry < queryRetry'
actions:
- name: login phase
query:
url: /sessionMngr/?v=latest
method: post
auth_config:
mode: basic
ok_status: 201
# don't store the value
var_name: _
- name: analyze login response
play_script: auth_check
# method called to determine if a target is responding; will call login script if necessary
# new login phase is determined by http code received : invalid_auth_code ( http 401, 403 usually ) on each query
ping:
- name: check ping cnx
query:
# will call /api in fact !
url: /
method: get
ok_status: 200
# to catch and store the result and use it later...
# var_name: wsapi
# The targets to monitor and the collectors to execute on it.
targets:
- targets_files: ["/config/targets/*.yml"]
# Collector files specifies a list of globs. One collector definition is read from each matching file.
collector_files:
- "metrics/*.collector.yml"
Files in metrics are up to date with the latest code (as of yesterday).
Target file looks like this:
name: veeam-backup
scheme: https
host: veeam-backup.redacted
port: 9398
profile: veeam
verifySSL: false
auth_config:
mode: script
user: veeam-exporter
password: "redacted"
collectors:
- ~.*_metrics
As partly investigated in #13, latest version of the exporter fails to work with Veeam EM 13 and logs the below errors:
Configuration looks as below:
Files in
metricsare up to date with the latest code (as of yesterday).Target file looks like this: