This is a new version of the licensing model that consumes licenses based on vCPUs.
Available for both On-Premes and SaaS.
Utilization is 1 License unit per CPU Core.
It does not matter how many agents are running on a server, how many applications/containers these agents are monitoring, how much data these agents are collecting/reporting, and how many transactions these agents are creating. The Licenses will be consumed based on the number of CPUs available on the Server/Host.
The Basics
What are the minimum versions required for controller and apm/database/server agents to properly count vCPU?
These are the required AppD agent versions needed to make the customer fully IBL compliant.
- Controller: v21.2+ (for the database agent to default to 4vCPU instead of 12vCPU, v23.8+(csaas)/v23.7+(on-prem))
- Machine Agent: 20.12+
- .NET Agent: 20.12+
- DB Agent: Min: 21.2.0 (recommended latest 21.4.0) (for MySQL/PostgreSQL RDS databases IBL support, the minimum is 22.6.0)
For accurate license counting, the machine agent needs to be deployed, or hardware monitoring needs to be enabled in case of database monitoring. The machine agent version should be greater than 20.12.
The machine agent will calculate the number of CPUs available on the monitoring Server/Host.
How to migrate from Agent Based Licensing to Infrastructure Based Licensing?
- Migration from Agent Based Licensing to Infrastructure Based Licensing is handled by licensing-help@appdynamics.com
- On conversion: All license rules are maxed out to account value by default keeping app/server scope restrictions as is
- For example: LicenseRuleA to Z with 2 apm units each, and accountLevelApm=100 units on conversion will be set to LicenseRuleA-Z 400units "each" and accountLevelHBL=400 units on conversion. 400 is just a random number here, final conversion is made by the sales team
What is the definition of vCPU and how do I verify if it's correct?
- In the case of a Physical Machine, the number of logical cores or processors is considered to be the vCPU count
- For planning purposes, you can use the following table to find out the CPU core in case the Machine agent is not available/running
Windows:
- Task Manager
**insert image
- System Information
***insert image
- wmic
***insert image
Linux nproc or lscpu
**insert image
Mac OS:
- sysctl -a | grep machdep.cpu.*_count OR
- sysctl -n hw.logicalcpu
** insert image
What are packages?
Each agent that consumes a license will be part of a single package. Packages will be provisioned at the account level and distributed within license rules (limited packages are supported by license rules).
Packages fall under – ENTERPRISE, PREMIUM, INFRASTRUCTURE
Package |
What it offers? |
Agent list (as seen on the Connected Agents page) |
SAP Enterprise (SAP_ENTERPRISE) |
Monitor all your SAP Servers, network, and SAP Apps and get Business Insights on them using AppDynamics agents. |
- APM Any Language: agent-type=sap-agent
- Network Visibility: agent-type=netviz
+ Everything under AppDynamics Infrastructure Monitoring
|
Enterprise (ENTERPRISE) |
Monitor all your Servers, network, databases, and Apps and get Business Insights on them using AppDynamics agents |
Transaction Analytics: agent-type=transaction-analytics
+ Everything under AppDynamics Premium |
Premium (PREMIUM) |
Monitor all your Servers, network, databases, and Apps using AppDynamics agents. |
- APM Any Language: agent-type=apm, java, dot-net, native-sdk, nodejs, php , python, golang-sdk, wmb-agent, native-web-server
- Network Visibility: agent-type=netviz
- Database Visibility: agent-type=db_agent, db_collector
+ Everything under AppDynamics Infrastructure Monitoring
|
AppDynamics Infrastructure
Monitoring (INFRA)
|
Monitor all your Servers using AppDynamics agents. |
- Server Visibility: agent-type=sim-machine-agent
- Machine Agent: agent-type=machine-agent
- Cluster Agent: agent-type=cluster-agent
- NET Machine Agent: agent-type=dot-net-machine-agent
|
For other packages please check https://docs.appdynamics.com/appd/23.x/latest/en/appdynamics-licensing/license-entitlements-and-rest...
Do I need individual packages for my account?
- Only transaction analytics needs ENTERPRISE as a mandate. If you do not have the ENTERPRISE package, the transaction analytics agent cannot report even if the licenses are available at the PREMIUM package
- All INFRA agents can be reported against PREMIUM or ENTERPRISE packages.
- All PREMIUM agents can be reported against the ENTERPRISE package
What happens when my package level consumption is full? (Redirection
- Valid only if account level limits are not maxed out:
- If agents report against the INFRA package and the INFRA license pool is full but premium is free, new license consumption will be re-directed to PREMIUM.
- If agents report against PREMIUM package and PREMIUM license pool is full but ENTERPRISE is free, new license consumption will be re-directed to ENTERPRISE.
- For transaction analytics agents, if ENTERPRISE is full, the controller cannot switch back to unconsumed PREMIUM or unconsumed INFRA.
- This swapping takes place at the license rule level.
- Valid only if account level limits are maxed out:
- The above redirection will not take place if account level limits are maxed out even if a few license rule units are unconsumed.
Can I force agents to report against a package?
Yes, you can manage restrictions via license rules -> Server Scope / Application Scope with license rules.
You will have to provide only ENTERPRISE, or ONLY PREMIUM within a single license rule. Otherwise, default re-direction is respected.
1 agent can report against 1 package only.
Which packages are supported under license rules?
As of 23.12.x controller version, only Premium, Enterprise, Enterprise SAP, and Infrastructure Monitoring packages are supported under License rules.
The consumption and re-direction work the same as account-level switching.
What happens if I do not have a machine agent to report vCPUs or I do not have hardware monitoring enabled?
In case the machine agent is not running or deleted from the server or the agents are unable to find the number of CPUs, the license unit will be calculated based on the Fallback Mechanism.
- APM Agent - 4 CPU ~ 4 License Unit Default
- DB Collector – 4 OR 12 CPU ~4 OR 12 License Unit Default
Why is my vCPU reported incorrectly?
Inaccurate vcpu does not mean AppD is consuming the wrong licenses. It means users are not providing AppDynamics with ways to calculate licenses properly. Most common reasons:
- Machine Agent not installed-
a. Any agent goes into fallback mode if there is no machine agent.
b. database agent goes into fallback mode = 4 OR 12 default vpus even if host has1 vCPU
c. APM Agent goes into fallback mode = 4 default vpus even if host has1 vCPU
- Managed Database (aws gcp azure) + machine agent mismatch
a. Machine agent cannot be installed on managed/cloud database services
b. Hardware metrics should be enabled which reports the vCPU count. If it is not enabled, default 4 OR 12 licenses are being consumed as fallback
- UniqueHostIdMisMatch-
a. There is a mismatch between host mapping and thus each uniquehostid will be considered a different host even if they reside on the same physical machine
b. Consider example - 2 java agents + 1 machine-agent on the same machine. With mismatch, 3 agents will show up as individual rows in the host-table and each would consume 4 vCPU license = 4*3 = 12vCPU towards the total License consumption, but the expectation is total as 4 and not 12.
Can the two licensing models (agent based and host based) co-exist on the same license?
No. A given license can only be on one of the two models.
If Infrastructure Based Licensing (IBL) is enabled for a customer, can it be reverted to the legacy Agent Based Licensing (ABL) model later?
No, we cannot revert.
Can you share a couple of scenarios?
- A 4vCPU host is running with- 1 sim-agent 3 app agents and 1 netviz agent ~ Final consumption is total 4 vCPU license.
- A 4vCPU host is running with- 1 machine-agent 3 app agents and 1 netviz agent ~ Final consumption is total 4 vCPU license.
- If the machine is not updated/not reporting after the initial vcpus were reported
- We have timeout after which apm agents will default to fall back mechanism.
- If the machine adds on to the vCPUs(vertical scale) keeping the hostnames same etc.
- On scaling up or down, within 10min accurate vcpus would be reported into controller.
- A temporary spike / dip in license usage is expected if agent restarts within 5min.
- Database agent scenarios:
- if there is DB agents or DB and machine agents on a host (identified by unique host Id) then license units used ("vCPU") will be capped at 4 (4 or less, if MA reports less vCPUs for example)
- if there is any other agent type than DB / MA (e.g. app agent) the capping is not happening and license units used are calculated as usual
- in case of fallback it's 4 LUs per all DBs on the host + 4 LUs per any other agent reporting
- in non-fallback case (licensing knows vCPUs) the reported vCPU count is used (if both DB and MA reports vCPUs, licensing trusts MA more).
- Example:
- 2vcpu db + 3 vcpu db = 3. similarly 2vcpu db + 8vcpu machine agent = 4 max
- 5 vcpu db + ma = 4 max. 100vcpu db + ma = 4max
- 2vcpu db only = 4
- 100vcpu db = 4.