Installing the Usage Metering Service
IBM Usage Metering Service gathers metrics on configuration and usage.
The metering service must be installed in the same namespace as Operational Decision Manager. It captures business value
metrics to visualize metric usage in reporting tools, and sends the information to IBM Software
Central. For more information, see
Usage Metering Service
.
Operational Decision Manager reports usage metrics to the metering service through a CronJob. If the service is not installed, the job fails when it runs.
# Configure the report to run every hour instead of 2 hours
customization:
usageMeteringService:
enabled: true (default)
schedule: "0 * * * *" # Run every hourFor information about the parameters, see
Production configuration parameters.Installing the Usage Metering Service
ibm-usage-meteringibm-usage-metering-cluster-scoped
Follow these instructions to install the service:
- Add the
repository:
helm repo add ibm-helm https://raw.githubusercontent.com/IBM/charts/master/repo/ibm-helm helm repo update - Make sure that you have cluster-admin permission for Kubernetes to do the installation.
- Retrieve your IBM Entitlement
Key:
- Log in to MyIBM Container Software Library
with the IBM ID and password that are associated with the entitled software. - In the Container Software and Entitlement Keys tile, verify your entitlement on the View library page, and then go to Entitlement keys to retrieve the Entitlement Key.
- Log in to MyIBM Container Software Library
- Create a pull secret by running the kubectl create secret command:
kubectl create secret docker-registry ibm-entitlement-key --docker-server=cp.icr.io \ --docker-username=cp --docker-password="<ENTITLEMENT_KEY>" --docker-email=<USER_EMAIL><ENTITLEMENT_KEY>is the Entitlement Key from the previous step. Make sure you enclose the key in double quotation marks.<USER_EMAIL>is the email address associated with your IBM ID.
The cp.icr.io value for the docker-server parameter is the only registry domain name that contains the images. You must set the docker-username to cp to use an entitlement key as docker-password.
The
ibm-entitlement-keysecret name is predefined to the global.imagePullSecret parameter when you run a helm install ofibm-helm/ibm-usage-metering. - To install cluster-scoped resources that are needed for the metering service, run the following
command:
This can be installed in any namespace.helm install my-ibm-usage-metering-cluster-scoped ibm-helm/ibm-usage-metering-cluster-scoped - For the metering service, it is expected to be installed in a namespace called
ibm-usage-meteringby default. To install the metering service in the namespace where you install Operational Decision Manager, you must override the default values of these parameters:- global.operatorNamespace
- global.instanceNamespace
helm install my-ibm-usage-metering ibm-helm/ibm-usage-metering --namespace <odm_namespace> --set global.operatorNamespace=<odm_namespace> --set global.instanceNamespace=<odm_namespace>
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
ibm-usage-metering-instance-8495c7b965-fxxj9 1/1 Running 0 73m
ibm-usage-metering-operator-5c4b8c7d8d-nr9qn 1/1 Running 0 74m
$ kubectl get IBMUsageMetering
NAME AGE
ibm-usage-metering-instance 78mhelm list --all-namespaces -o json | jq '.[] | select(.name | contains("usage-metering")) | {name: .name, chart: .chart, app_version: .app_version, namespace: .namespace}'
{
"name": "my-ibm-usage-metering1",
"chart": "ibm-usage-metering-1.0.4+20260210.110820.0",
"app_version": "1.0.4",
"namespace": "odm"
}
{
"name": "my-ibm-usage-metering2",
"chart": "ibm-usage-metering-1.0.4+20260210.110820.0",
"app_version": "1.0.4",
"namespace": "odm2"
}
{
"name": "my-ibm-usage-metering-cluster-scoped",
"chart": "ibm-usage-metering-cluster-scoped-1.0.4+20260210.110820.0",
"app_version": "1.0.4",
"namespace": "odm"
}Post installation
- Online (recommended): Automatic data transmission to IBM Software Central
- Offline (air-gapped environments): Uploading usage metrics to IBM Software Central