Reports
Note
The Report resource is in developer preview and a number of breaking changes to the resource API schema may happen in subsequent releases.
Report
A Report API resource captures information about the state of the system at the time the report was generated as well as select metrics collected from the Veeam Kasten Prometheus service. A Report is produced by a ReportAction when Veeam Kasten Reports are enabled.
Enabling and viewing Reports in the Veeam Kasten dashboard or with the API are discussed more fully in Reporting.
Report API Type
The following is a complete specification of the Report resource.
# Standard Kubernetes API Version declaration. Required.
apiVersion: reporting.kio.kasten.io/v1alpha1
# Standard Kubernetes Kind declaration. Required.
kind: Report
# Standard Kubernetes metadata. Required.
metadata:
# Name of the Report. Required.
name: scheduled-45cfn-qwmcw
# Namespace of the Report. Required.
namespace: kasten-io
# Report parameters from ReportAction
spec:
# Time of Report generation
reportTimestamp: '2021-10-20T00:00:00Z'
# Query Interval for Prometheus metrics in Report
statsIntervalDays: 1
statsIntervalHours: 0
statsIntervalStartTimestamp: '2021-10-19T00:00:00Z'
statsIntervalEndTimestamp: '2021-10-20T00:00:00Z'
# Results contains captured system information.
results:
# General system information
general:
# Veeam Kasten version
k10Version: '4.5'
# Veeam Kasten namespace. Optional.
k10Namespace: kasten-io
# Kubenetes version
k8sVersion: '1.21'
# Cluster identifier. Optional.
clusterId: sample-cluster-ID
# Cluster region. Optional.
clusterRegion: sample-cluster-region
# Cluster name when multi-cluster was configured. Optional.
clusterName: sample-cluster
# Infrastructure type
infraType:
# Cloud provider. Possible values: azure, aws, gcp, unknown. Optional.
provider: aws
# Whether the cluster is built with the use of Red Hat® OpenShift®
isOpenShift: false
# Indicates the type of authentication. Possible values: basic, oidc, token, none. Optional.
authType: oidc
# AWS information. For AWS clusters only. Optional.
aws:
# AWS IAM role. Optional.
role: 'arn:aws:iam::123456789012:role/adminrole'
# Licensing information
licensing:
# License type
type: Enterprise
# License expiry
expiry: '0000-00-00T00:00:00Z'
# Nodes in use
nodeCount: 199
# Maximum licensed nodes
nodeLimit: 220
# License status
status: Valid
# Veeam Kasten Action metrics from Prometheus. Optional.
actions:
# Action count stats from Prometheus
countStats:
backup:
completed:
failed:
cancelled:
skipped:
backupCluster:
...
export:
...
import:
...
report:
...
restore:
...
restoreCluster:
...
run:
...
# Policy information
polices:
# Veeam Kasten Disaster Recovery policy information
k10DR:
status: Enabled
backupFrequency: '@hourly'
immutability:
protection: Enabled
protectionDays: 30
profile: my-k10-dr-profile
# Policy summary information
summaries:
- name: policy1
namespace: kasten-io
actions:
- backup
frequency: '@hourly'
profileNames:
paused: true
validation: Success
- name: policy2
namespace: basic-user-app
actions:
- backup
export
frequency: '@daily'
profileNames: basic-user-profile
validation: Success
# Profile information
profiles:
# Profile summary information
summaries:
- name: my-k10-dr-profile
type: Location
validation: Success
# SSL verification status, if applicable.
sslVerification: Verify | SkipVerification
# Profile setting forces infraportable data export, if applicable.
dataPortability: Enabled | omitted
# Immutability
immutability:
protection: Enabled
protectionDays: 30
# Object store type, if applicable.
objectStoreType: S3
region: sample-region
bucket: sample-bucket
# Endpoint, if not default.
endpoint:
# NFS location profile details
claimName:
path:
# VBR server profile details
vbrServer:
vbrPort:
vbrRepoName:
- name: basic-user-profile
type: Location
validation: Success
sslVerification: Verify
immutability:
protection: Disabled
protectionDays: 0
# Object store type, if applicable.
objectStoreType: S3
region: sample-region
bucket: basic-user-bucket
# Compliance information
compliance:
# Loading indicates compliance data not available. Omitted if false.
loading:
# Count of total applications on system
applicationCount: 25
# Count of compliant applications on system
compliantCount: 11
# Count of non-compliant applications on system
nonCompliantCount: 2
# Count of unmanaged applications on system
unmanagedCount: 12
# Names of up to 10 non-compliant applications. Optional.
someNonCompliantApps:
- name: non-compliant-app-1
- name: non-compliant-app-2
# Storage information
storage:
# Snapshot information
snapshotStorage:
count: 243
logicalBytes: 275951648768
physicalBytes: 63568035264
freedBytes: # Optional
# Objectstore backup information
objectStorage:
count: 805
logicalBytes: 392624800
physicalBytes: 378777373
freedBytes: # Optional
pvcStats:
pvcCount: 5
pvcBytes: 35433480192
# Veeam Kasten services information from Prometheus. Optional.
k10Services:
- diskUsage:
freeBytes: 13789057024
freePercentage: 65
usedBytes: 7214526464
name: logging
- diskUsage:
freeBytes: 20267335680
freePercentage: 96
usedBytes: 736247808
name: catalog
- diskUsage:
freeBytes: 20228878336
freePercentage: 96
usedBytes: 774705152
name: jobs
Retiring Reports
By default the reports are not retired. To set up a retention count, update the policy spec to include the desired value:
kind: Policy
apiVersion: config.kio.kasten.io/v1alpha1
metadata:
# ... metadata fields ...
spec:
# Optional retention section can only have one child field: hourly, daily, weekly, monthly or yearly.
# It also must correspond to the policy frequency (i.e. "@hourly" frequency must use hourly
# retention field).
retention:
# Number of the reports to keep (the oldest ones will be deleted).
# Note: only automated reports will be deleted. Any report that was created
# by a manual policy run or that was injected manually will be preserved.
daily: 2
# ... other spec fields ...