All TKB Articles in Learn Splunk

Learn Splunk

All TKB Articles in Learn Splunk

Using the JavaScript Agent in Next.js is a little different than other straight forward JS injections. We will use a functional React component (AdrumConfig.js) to do most of the work and then simply... See more...
Using the JavaScript Agent in Next.js is a little different than other straight forward JS injections. We will use a functional React component (AdrumConfig.js) to do most of the work and then simply render that component in our layout.js file. We do not need to worry about placing the script in the head of the application as Next.js Script component handles that for us. We must add a few config items to handle reacts Single Page application (SPA) architecture. config.spa = {"spa2":true}; config.isZonePromise = true; AdrumConfig.js 'use client'; import Script from 'next/script'; import { useEffect } from 'react'; const AdrumConfig = () => { let adrumConfigRef = {}; useEffect(() => { // window is accessible here. adrumConfigRef = window['adrum-config'] || (window['adrum-config'] = {}); setAdrumConfig(adrumConfigRef); }, []); // Update this config with your apps config. const setAdrumConfig = (config) => { config.appKey = '<YOUR APP KEY>'; config.adrumExtUrlHttp = 'http://cdn.appdynamics.com'; config.adrumExtUrlHttps = 'https://cdn.appdynamics.com'; config.beaconUrlHttp = 'http://pdx-col.eum-appdynamics.com'; config.beaconUrlHttps = 'https://pdx-col.eum-appdynamics.com'; config.useHTTPSAlways = true; config.resTiming = { bufSize: 200, clearResTimingOnBeaconSend: true }; config.spa = {"spa2":true}; config.isZonePromise = true; config.maxUrlLength = 512; }; return <Script src='//cdn.appdynamics.com/adrum/adrum-23.3.0.4265.js' />; }; export default AdrumConfig;   We must place the AdrumConfig.js component somewhere in the application and import it into the layout.js file.    Next, we simply render the AdrumConfig.js component in the layout.js return block like this: <html lang='en'> <AdrumConfig /> <body> . . . // What ever body the application has. </body> </html>
The Machine Agent can register to the controller in 2 ways: 1. Machine Agent with Basic enabled (sim-enabled = False) For this configuration, you have 2 choices: Let the Machine Agent create ... See more...
The Machine Agent can register to the controller in 2 ways: 1. Machine Agent with Basic enabled (sim-enabled = False) For this configuration, you have 2 choices: Let the Machine Agent create a dummy application. The Machine Agent can create a dummy application by passing the below flags in <MA-Home>/conf/controller-info.xml <application-name>NameOfApp</application-name> <tier-name>NameOfTier</tier-name> <node-name>NameOfNode</node-name> This will create a dummy application for you on the controller. https://docs.appdynamics.com/appd/24.x/24.3/en/infrastructure-visibility/machine-agent/configure-the-machine-agent/machine-agent-configuration-properties Install a Machine Agent with the same <unique-host-id> as an Application agent (Java agent). This will correlate and have the Machine Agent report under the Application Tab. 2. Machine Agent with sim-enabled set to true. With this setting, the Machine Agent will report under the Servers Tab (Top view) The metrics difference between Basic and Server Visibility are noted here: https://docs.appdynamics.com/appd/24.x/24.3/en/infrastructure-visibility/hardware-resources-metrics Screenshots for Reference Machine agent reporting with <sim-enabled> set to false   Machine Agent reporting with sim set to true  
If you need to keep empty tiers of your APM application from being purged, there is a way to do so in controllers v.22.10 and above. To do this: Navigate to the Tiers & Nodes page Select a ... See more...
If you need to keep empty tiers of your APM application from being purged, there is a way to do so in controllers v.22.10 and above. To do this: Navigate to the Tiers & Nodes page Select a tier and then click on the "Details" button above On the next view click the drop-down button "Actions" in the upper-right corner Then select the option "Edit Properties" In the opened modal window edit the field "Description" - you can use any description you want, but it must contain the pattern "NON_PURGEABLE_TIER" Finally, save changes. The empty tier won't be purged (manual purging is still available if needed).
  In the ever-evolving landscape of cloud-native applications, maintaining visibility and monitoring performance are paramount. This article aims to guide you through the process of setting... See more...
  In the ever-evolving landscape of cloud-native applications, maintaining visibility and monitoring performance are paramount. This article aims to guide you through the process of setting up an observability framework using OpenTelemetry (Otel) in conjunction with AppDynamics. By leveraging the power of OtelCollectors and the AppDynamics backend, we can gather, process, and analyze telemetry data (traces, logs, and metrics) to ensure our applications are performing optimally and to quickly troubleshoot any issues that may arise. Pre-requisite: Access to AppDynamics Cisco Cloud Observability endpoint Url. You would need to generate credentials from step 3 as defined in https://docs.appdynamics.com/observability/cisco-cloud-observability/en/kubernetes-and-app-service-monitoring/install-kubernetes-and-app-service-monitoring#InstallKubernetesandAppServiceMonitoring-helm-charts Step 1: Configuring the OtelCollector Creating the Configuration The first step in our journey involves creating a configuration for our OtelCollector. This is accomplished by defining a  ConfigMap  in Kubernetes, which outlines how our collector will operate. This configuration specifies the protocols for receiving telemetry data, the processing of this data, and how it will be exported to our observability backend, such as AppDynamics. Here's an example of what this  ConfigMap  might look like: apiVersion: v1 kind: ConfigMap metadata: name: collector-config namespace: appd-cloud-apps data: collector.yaml: | receivers: otlp: protocols: grpc: endpoint: http: endpoint: processors: batch: send_batch_size: 1000 timeout: 10s send_batch_max_size: 1000 exporters: logging: verbosity: detailed otlphttp/cnao: auth: authenticator: oauth2client traces_endpoint: https://xxxx-xx-xx-xx.xxx.appdynamics.com/data/v1/trace logs_endpoint: https://xx-pdx-xxx-xx.xxx.appdynamics.com/data/v1/logs extensions: health_check: endpoint: 0.0.0.0:13133 pprof: endpoint: 0.0.0.0:17777 oauth2client: client_id: xxxx client_secret: xxxx token_url: xxx service: extensions: [health_check, pprof, oauth2client] pipelines: traces: receivers: [otlp] processors: [batch] exporters: [logging, otlphttp/cnao] logs: receivers: [otlp] processors: [batch] exporters: [logging, otlphttp/cnao] telemetry: logs: level: "debug" This configuration is the heart of our observability setup, integrating seamlessly with AppDynamics to provide a detailed view of our application’s performance. Step 2: Deploying the OtelCollector Launching the Collector With our configuration in place, the next step is to deploy the OtelCollector within our Kubernetes cluster. This deployment ensures that the collector is operational and can begin processing telemetry data as defined. The deployment configuration ties our  ConfigMap  to the OtelCollector, enabling it to start receiving, processing, and exporting telemetry data. Here's a basic example of what the deployment configuration might include: apiVersion: apps/v1 kind: Deployment metadata: name: opentelemetrycollector namespace: appd-cloud-apps spec: replicas: 1 selector: matchLabels: app.kubernetes.io/name: opentelemetrycollector template: metadata: labels: app.kubernetes.io/name: opentelemetrycollector spec: containers: - name: otelcol args: - --config=/conf/collector.yaml image: docker.io/otel/opentelemetry-collector-contrib:latest volumeMounts: - mountPath: /conf name: collector-config volumes: - configMap: name: collector-config items: - key: collector.yaml path: collector.yaml name: collector-config This ensures our OtelCollector is primed to handle telemetry data, marking a crucial step towards full observability. Step 3: Instrumenting an Application with the OpenTelemetry Java Agent Setting Up the Application for Telemetry The final step involves instrumenting our application with the OpenTelemetry Java Agent. This is crucial for collecting telemetry data from the application itself. By deploying a Kubernetes application with the Java Agent attached, we enable our application to send telemetry data directly to the OtelCollector. This setup includes an init container to prepare the Java Agent and a sidecar container to collect and forward this telemetry data to our central OtelCollector and AppDynamics for analysis. apiVersion: apps/v1 kind: Deployment metadata: name: tomcat-otel-personal namespace: appd-cloud-apps spec: replicas: 1 selector: matchLabels: app: tomcat-otel-personal template: metadata: labels: app: tomcat-otel-personal spec: initContainers: - name: otel-agent-attach-java command: - cp - -r - /javaagent.jar - /otel-auto-instrumentation-java/javaagent.jar image: ghcr.io/open-telemetry/opentelemetry-operator/autoinstrumentation-java:latest volumeMounts: - mountPath: /otel-auto-instrumentation-java name: otel-agent-repo containers: - name: sidecar-otel-collector image: otel/opentelemetry-collector args: - --config=/conf/agent.yaml volumeMounts: - name: sidecar-otel-collector-config mountPath: /conf - name: tomcat-app image: docker.io/abhimanyubajaj98/tomcat-app-buildx imagePullPolicy: Always ports: - containerPort: 8080 volumeMounts: - mountPath: /otel-auto-instrumentation-java name: otel-agent-repo env: - name: JAVA_TOOL_OPTIONS value: "-javaagent:/otel-auto-instrumentation-java/javaagent.jar -Dotel.resource.attributes=service.name=open-otel-abhi,service.namespace=open-otel-abhi -Dotel.traces.exporter=otlp,logging" - name: OTEL_EXPORTER_OTLP_PROTOCOL value: grpc By following these steps, we’ve successfully configured and deployed an observability framework using OpenTelemetry and integrated it with AppDynamics. This setup not only enhances the visibility into our application’s performance but also empowers us to proactively manage and troubleshoot any issues that may arise, ensuring optimal performance and reliability.   Once you are done, hover to the Cisco Cloud Observability UI -> Services. Filter based on service.name. In our case the service.name is open-otel-abhi  
   Introduction In the fast-evolving Kubernetes ecosystem, ensuring optimal performance and reliability of applications is crucial. AppDynamics offers a seamless way to monitor your Java app... See more...
   Introduction In the fast-evolving Kubernetes ecosystem, ensuring optimal performance and reliability of applications is crucial. AppDynamics offers a seamless way to monitor your Java applications deployed in Kubernetes clusters. This Medium article guides you through integrating your application with AppDynamics for comprehensive monitoring and observability, leveraging OpenTelemetry Collector for enhanced telemetry data collection.   Prerequisites Before diving into deployment, ensure the following: AppDynamics Controller Onboarding: Your AppDynamics Controller should be onboarded. Follow the integration guide here. Java Application Configuration: Your Java application must be capable of communicating with the OpenTelemetry Collector. Deployment Steps 1. Prepare Deployment YAML To begin, prepare your deployment YAML to deploy your application alongside an OpenTelemetry Collector sidecar. This configuration ensures the collection and forwarding of telemetry data to AppDynamics, enriching your monitoring insights. The deployment configuration involves: An application named  unified-monitoring-java-app  within the  appd-cloud-apps  namespace. Two containers: your application ( abhimanyubajaj98/unified-monitoring-java-app ) and the OpenTelemetry Collector sidecar ( otel/opentelemetry-collector-contrib:latest ). A ConfigMap named  agent-config  supplying the OpenTelemetry Collector configuration ( agent.yaml ). 2. YAML Configuration Here’s a snapshot of the YAML configuration needed: apiVersion: apps/v1 kind: Deployment metadata: name: unified-monitoring-java-app labels: app: unified-monitoring-java-app namespace: appd-cloud-apps spec: replicas: 1 selector: matchLabels: app: unified-monitoring-java-app template: metadata: labels: app: unified-monitoring-java-app spec: volumes: - name: sidecar-otel-collector-config configMap: name: agent-config items: - key: agent.yaml path: agent.yaml containers: - name: sidecar-otel-collector image: docker.io/otel/opentelemetry-collector-contrib:latest args: - --config=/conf/agent.yaml volumeMounts: - name: sidecar-otel-collector-config mountPath: /conf - name: unified-monitoring-java-app image: abhimanyubajaj98/unified-monitoring-java-app imagePullPolicy: Always ports: - containerPort: 8080 env: - name: JAVA_TOOL_OPTIONS value: "-Xmx512m" And the corresponding service: apiVersion: v1 kind: Service metadata: name: unified-monitoring-java-app labels: app: unified-monitoring-java-app namespace: appd-cloud-apps spec: ports: - port: 8080 targetPort: 8080 selector: app: unified-monitoring-java-app For detailed YAML configurations and the ConfigMap ( agent.yaml ), please refer to the provided snippets above. --- apiVersion: v1 kind: ConfigMap metadata: name: agent-config namespace: appd-cloud-apps data: agent.yaml: | receivers: otlp: protocols: grpc: endpoint: http: endpoint: processors: batch: send_batch_size: 1000 timeout: 10s send_batch_max_size: 1000 exporters: logging: verbosity: detailed otlphttp/cnao: auth: authenticator: oauth2client #endpoint: https://xxxx-pdx-p01-c4.observe.appdynamics.com/data traces_endpoint: https://xxxx-pdx-p01-c4.observe.appdynamics.com/data/v1/trace logs_endpoint: https://xxx-pdx-p01-c4.observe.appdynamics.com/data/v1/logs extensions: health_check: endpoint: 0.0.0.0:13133 pprof: endpoint: 0.0.0.0:17777 oauth2client: client_id: xxxx client_secret: xxxx token_url: https://xxxx-pdx-p01-c4.observe.appdynamics.com/auth/xxx-xxx-xx-xx-xxxx/default/oauth2/token #tenantId: xx-xxx-xx-xx-xxx service: extensions: [health_check, pprof, oauth2client] pipelines: traces: receivers: [otlp] processors: [batch] exporters: [logging, otlphttp/cnao] logs: receivers: [otlp] processors: [batch] exporters: [logging, otlphttp/cnao] telemetry: logs: level: "debug" Ensure to replace  client_id ,  client_secret ,  token_url , and  controller-key  with your actual credentials. 3. Deployment To deploy, execute the following commands: Create the namespace (if not already present): kubectl create ns appd-cloud-apps 2. Apply the ConfigMap and deployment files: kubectl create -f agent.yaml kubectl create -f unified-monitoring-java-app.yaml 4. Integrate with AppDynamics Cluster Agent Deploy the AppDynamics Cluster Agent using Helm charts with specific parameters to enable OpenTelemetry. Our values.yaml looks like: installClusterAgent: true installInfraViz: true # Docker images imageInfo: agentImage: docker.io/appdynamics/cluster-agent agentTag: 24.1.0-253 #agentTag: 22.1.0 operatorImage: docker.io/appdynamics/cluster-agent-operator #operatorTag: 22.1.0 operatorTag: 24.1.0-694 imagePullPolicy: Always # Will be used for operator pod machineAgentImage: docker.io/appdynamics/machine-agent-analytics machineAgentTag: latest machineAgentWinImage: docker.io/appdynamics/machine-agent-analytics machineAgentWinTag: win-latest netVizImage: docker.io/appdynamics/machine-agent-netviz netvizTag: latest # AppDynamics controller info (VALUES TO BE PROVIDED BY THE USER) controllerInfo: url: https://xxxx.saas.appdynamics.com:443 account: xxxx username: password: accessKey: globalAccount: cxxxxx # To be provided when using machineAgent Window Image # SSL properties customSSLCert: null # Proxy config authenticateProxy: false proxyUrl: null proxyUser: null proxyPassword: null # RBAC config createServiceAccount: true agentServiceAccount: appdynamics-cluster-agent operatorServiceAccount: appdynamics-operator infravizServiceAccount: appdynamics-infraviz # Cluster agent config clusterAgent: nsToMonitorRegex: abhi-java-apps appName: k8s-aks-abhi logProperties: logFileSizeMb: 5 logFileBackups: 3 logLevel: TRACE # Profiling specific config - set pprofEnabled true if profiling need to be enabled, # provide pprofPort if you need different port else default port 9991 will be assigned agentProfiler: pprofEnabled: false pprofPort: 9991 instrumentationConfig: enabled: true instrumentationMethod: Env #Env enableForceReInstrumentation: true nsToInstrumentRegex: appd-cloud-apps #any namespace you want to instrument defaultAppName: Abhi-personal-tomcat appNameStrategy: label numberOfTaskWorkers: 4 resourcesToInstrument: - Deployment - StatefulSet instrumentationRules: - namespaceRegex: appd-cloud-apps matchString: unified-monitoring-java-app language: java appNameLabel: app instrumentContainer: select containerMatchString: unified-monitoring-java-app customAgentConfig: "-Dotel.traces.exporter=none -Dotel.metrics.exporter=none -Dotel.logs.exporter=otlp -Dappdynamics.opentelemetry.enabled=true -Dotel.resource.attributes=service.name=unified-monitoring-java-app,service.namespace=unified-monitoring-java-app" imageInfo: image: "docker.io/appdynamics/java-agent:latest" agentMountPath: /opt/appdynamics imagePullPolicy: Always # Netviz config Important arguments we need to remember are: customAgentConfig: "-Dotel.traces.exporter=none -Dotel.metrics.exporter=none -Dotel.logs.exporter=otlp -Dappdynamics.opentelemetry.enabled=true -Dotel.resource.attributes=service.name=unified-monitoring-java-app,service.namespace=unified-monitoring-java-app" To deploy: kubectl -n appdynamics create secret generic cluster-agent-secret --from-literal=controller-key=xxxxx helm install -f values.yaml abhi-cluster-agent appdynamics-cloud-helmcharts/cluster-agent -n appdynamics Once done, Your application pods will restart and report to the controller with unified-monitoring-java-app Application name. Conclusion Upon completion, your application pods will restart and begin reporting to the AppDynamics Controller with the specified application name. This setup not only simplifies monitoring across Kubernetes clusters but also ensures that your applications are performing optimally, with detailed insights readily available in your AppDynamics dashboard. For further customization and advanced configuration, visit the official AppDynamics documentation.
In this article we will try to get your ECS Java application monitored by AppDynamics Java Agent. For starters I am assuming you have an application ready, if not a sample tomcat application image... See more...
In this article we will try to get your ECS Java application monitored by AppDynamics Java Agent. For starters I am assuming you have an application ready, if not a sample tomcat application image will be used in our task definition file. { "family": "aws-opensource-otel", "containerDefinitions": [ ##### Application image { "name": "aws-otel-emitter", "image": "docker.io/abhimanyubajaj98/tomcat-app-buildx:latest", "cpu": 0, "portMappings": [ { "name": "aws-otel-emitter", "containerPort": 8080, "hostPort": 8080, "protocol": "tcp", "appProtocol": "http" } ], "essential": true, "environment": [ { "name": "APPDYNAMICS_AGENT_ACCOUNT_NAME", "value": "XXXXX" }, { "name": "APPDYNAMICS_AGENT_TIER_NAME", "value": "abhi-tomcat-ecs" }, { "name": "APPDYNAMICS_CONTROLLER_PORT", "value": "443" }, { "name": "JAVA_TOOL_OPTIONS", "value": "-javaagent:/opt/appdynamics/javaagent.jar" }, { "name": "APPDYNAMICS_AGENT_APPLICATION_NAME", "value": "abhi-ecs-fargate" }, { "name": "APPDYNAMICS_CONTROLLER_HOST_NAME", "value": "XXXXX.saas.appdynamics.com" }, { "name": "APPDYNAMICS_JAVA_AGENT_REUSE_NODE_NAME_PREFIX", "value": "abhi-tomcat-ecs" }, { "name": "APPDYNAMICS_CONTROLLER_SSL_ENABLED", "value": "true" }, { "name": "APPDYNAMICS_AGENT_ACCOUNT_ACCESS_KEY", "value": "XXXXX" }, { "name": "APPDYNAMICS_JAVA_AGENT_REUSE_NODE_NAME", "value": "true" } ], "mountPoints": [], "volumesFrom": [ { "sourceContainer": "appdynamics-java-agent" } ], "dependsOn": [ { "containerName": "appdynamics-java-agent", "condition": "START" } ], "logConfiguration": { "logDriver": "awslogs", "options": { "awslogs-create-group": "True", "awslogs-group": "/ecs/ecs-aws-otel-java-tomcat-app", "awslogs-region": "us-west-2", "awslogs-stream-prefix": "ecs" } }, "healthCheck": { "command": [ "CMD-SHELL", "curl -f http://localhost:8080/sample || exit1" ], "interval": 300, "timeout": 60, "retries": 10, "startPeriod": 300 } }, #####Java Agent configuration { "name": "appdynamics-java-agent", "image": "docker.io/abhimanyubajaj98/java-agent-ecs", "cpu": 0, "portMappings": [], "essential": false, "environment": [], "mountPoints": [], "volumesFrom": [], "logConfiguration": { "logDriver": "awslogs", "options": { "awslogs-create-group": "true", "awslogs-group": "/ecs/java-agent-ecs", "awslogs-region": "us-west-2", "awslogs-stream-prefix": "ecs" } } } ], "taskRoleArn": "arn:aws:iam::778192218178:role/ADOTRole", "executionRoleArn": "arn:aws:iam::778192218178:role/ADOTTaskRole", "networkMode": "bridge", "requiresCompatibilities": [ "EC2" ], "cpu": "256", "memory": "512" } You will need to edit all the sections with “XXXXX” Your ECS task should have the appropriate permission. In my case I created a taskRole ADOTRole and taskexecutionrole ADOTTaskRole. The permission. The policy for ADOTRole looks like-> { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:PutLogEvents", "logs:CreateLogGroup", "logs:CreateLogStream", "logs:DescribeLogStreams", "logs:DescribeLogGroups", "logs:PutRetentionPolicy", "xray:PutTraceSegments", "xray:PutTelemetryRecords", "xray:GetSamplingRules", "xray:GetSamplingTargets", "xray:GetSamplingStatisticSummaries", "cloudwatch:PutMetricData", "ec2:DescribeVolumes", "ec2:DescribeTags", "ssm:GetParameters" ], "Resource": "*" } ] } The policy for ADOTTaskRole looks like -> { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:PutLogEvents", "logs:CreateLogGroup", "logs:CreateLogStream", "logs:DescribeLogStreams", "logs:DescribeLogGroups", "logs:PutRetentionPolicy", "xray:PutTraceSegments", "xray:PutTelemetryRecords", "xray:GetSamplingRules", "xray:GetSamplingTargets", "xray:GetSamplingStatisticSummaries", "cloudwatch:PutMetricData", "ec2:DescribeVolumes", "ec2:DescribeTags", "ssm:GetParameters" ], "Resource": "*" } ] } Going back to the template, you can build your own image as well. The dockerfile for the image can be found here along with task definition file https://github.com/Abhimanyu9988/ecs-java-agent To understand more about AppDynamics Java Agent, Please refer to below document-> https://docs.appdynamics.com/appd/22.x/22.12/en/application-monitoring/install-app-server-agents/java-agent/install-the-java-agent   For any queries, you can reach out to me on LinkedIn or simply post your question on github.
Cisco AppDynamics for SAP in Healthcare: an analysis of challenges and solutions Video Length: 2 min 50 seconds    CONTENTS | Introduction | Video |Resources | About the presenter   In th... See more...
Cisco AppDynamics for SAP in Healthcare: an analysis of challenges and solutions Video Length: 2 min 50 seconds    CONTENTS | Introduction | Video |Resources | About the presenter   In this video, Matt Schuetze delves into the role of Cisco AppDynamics for SAP in addressing the challenges in healthcare, biotech, and life sciences, including security, privacy, cost management, and the critical nature of patient-facing applications—as well as managing diverse systems across individual medical practices, electronic medical records (EMR), and SAP ERP systems.     With App Dynamics, transactions can be tagged, traced, and followed, ensuring sustained connectivity and security in the SAP environment.    Additional Resources  AppDynamics Monitoring for SAP® Solutions: Build resiliency into your SAP landscape  Explore SAP Monitoring with AppDynamics in the documentation  About presenter Matt Schuetze Matt Schuetze Field Architect Matt Schuetze is a Field Architect at Cisco on the AppDynamics product. He confers with customers and engineers to assess application tooling choices and helps clients resolve application performance problems. Matt runs the Detroit Java User Group and the AppDynamics Great Lakes User Group. His career includes 10+ years of speaking periodically at user groups and industry trade shows. He has a Master’s degree in Nuclear Engineering from MIT and a Bachelor’s degree in Engineering Physics from the University of Michigan.
Navigating the complexities of modern retail and tracking them with SAP and Cisco AppDynamics Video Length: 2 min 38 seconds  CONTENTS | Introduction | Video |Resources | About the presenter  ... See more...
Navigating the complexities of modern retail and tracking them with SAP and Cisco AppDynamics Video Length: 2 min 38 seconds  CONTENTS | Introduction | Video |Resources | About the presenter  In this Cisco AppDynamics video, Matt Schuetze discusses the challenges retailers face during peak sales periods, along with shifting consumer behaviors. Their SAP systems must manage a wide gap between the highest stresses during peak times and the regular loads during off-peak seasons, exposing retailers to poor customer experience outcomes.   He expands on how using AppDynamics for SAP to monitor, manage, and respond to these challenges in real time helps retailers protect their customers’ experience and support their ongoing pursuit of a competitive edge.    Additional Resources  AppDynamics Monitoring for SAP® Solutions: Build resiliency into your SAP landscape  Explore SAP Monitoring with AppDynamics in the documentation  About presenter Matt Schuetze Matt Schuetze Field Architect Matt Schuetze is a Field Architect at Cisco on the AppDynamics product. He confers with customers and engineers to assess application tooling choices and helps clients resolve application performance problems. Matt runs the Detroit Java User Group and the AppDynamics Great Lakes User Group. His career includes 10+ years of speaking periodically at user groups and industry trade shows. He has a Master’s degree in Nuclear Engineering from MIT and a Bachelor’s degree in Engineering Physics from the University of Michigan.
What do I need to know about creating an AppDynamics Trial account, finding help during the trial period, and navigating the transition once the trial concludes? In this article... ... See more...
What do I need to know about creating an AppDynamics Trial account, finding help during the trial period, and navigating the transition once the trial concludes? In this article... How do I get started with an AppDynamics trial?  Where can I get technical help during my trial?  How do I move from a trial license to a paid one?  What happens when a 30-day trial account expires?  Useful Resources How do I get started with an AppDynamics Trial license?  The AppDynamics Trial license is available free of charge for a 30-day period. To sign up for a trial account, click the Start Free Trial button on the top right of this page.  NOTE |The AppDynamics Trial license is not available as an On-Premises deployment. Where can I get technical help during my trial?  During the trial period, we encourage you to explore this Community to find the answers to your questions. You’ll find pertinent technical articles and discussions. Your trial account includes the ability to log into this Community, which will allow you to comment and start your own discussion threads.     Community content includes:  Forums – Participate in discussions and initiate your own threads  Knowledge Base – Read technical content authored by Cisco AppDynamics experts — and don’t miss the Support article filter  Welcome Center – Read short articles about how this Community and the platform works  Please don't hesitate to post your questions and insights. The Community is most helpful as an interactive space where users help each other by sharing their knowledge and experiences. You'll also find that our team regularly monitors the forum and provides guidance where necessary.  How do I move from a Trial license to a paid one?  To upgrade to a paid license, contact your sales representative. See the Cisco AppDynamics pricing page for more purchase information.  What happens when a 30-day AppDynamics Trial expires? If the license isn’t upgraded by the end of the trial, your AppDynamics Trial account will expire.   When a trial period ends and AppDynamics detects an expired AppDynamics Trial license, the Controller resets all agents. Useful Resources Request a Free Trial here  Contact your sales representative here  See AppDynamics pricing    Read:  Getting Started in the Documentation  How do I register and sign into the Community? in the Welcome Center
Understanding and navigating the complexities of modern manufacturing, and tracking them with SAP and Cisco AppDynamics Video Length: 2 min 23 seconds  CONTENTS | Introduction | Video |Resource... See more...
Understanding and navigating the complexities of modern manufacturing, and tracking them with SAP and Cisco AppDynamics Video Length: 2 min 23 seconds  CONTENTS | Introduction | Video |Resources | About the presenter  In this Cisco Cloud Observability video, Matt Schuetze delves into the complex challenges that define today's manufacturing business landscape—and how Cisco AppDynamics can integrate with SAP environments to address them. The video offers an essential understanding of the manufacturing industry’s challenges and the role SAP plays in it. Matt explains Cisco AppDynamics’ unique capability to link business process steps and flows to the underlying ABAP code and HANA database calls, providing a direct connection to user experience within the SAP environment.   Additional Resources  AppDynamics Monitoring for SAP® Solutions: Build resiliency into your SAP landscape  Explore SAP Monitoring with AppDynamics in the documentation  About presenter Matt Schuetze Matt Schuetze Field Architect Matt Schuetze is a Field Architect at Cisco on the AppDynamics product. He confers with customers and engineers to assess application tooling choices and helps clients resolve application performance problems. Matt runs the Detroit Java User Group and the AppDynamics Great Lakes User Group. His career includes 10+ years of speaking periodically at user groups and industry trade shows. He has a Master’s degree in Nuclear Engineering from MIT and a Bachelor’s degree in Engineering Physics from the University of Michigan.
Diagnose the cause of pending and stuck pods in your Kubernetes and OpenShift clusters Video Length: 2 min 23 seconds    CONTENTS | Introduction | Video |Resources | About the presenter   ... See more...
Diagnose the cause of pending and stuck pods in your Kubernetes and OpenShift clusters Video Length: 2 min 23 seconds    CONTENTS | Introduction | Video |Resources | About the presenter   In this demo, follow along as Doug Lindee uses the relationships view with correlated metrics to troubleshoot recurring cluster health violations that identify the root cause.   Additional Resources  Learn more about cluster monitoring in the documentation.   Kubernetes and App Service Monitoring About presenter Douglas Lindee Douglas Lindee joined Cisco AppDynamics as a Field Architect in late 2021, having a 20+ year career behind him in systems, application, and network monitoring, event management, reporting, and automation — most previously on an extended engagement focusing on AppDynamics. With this broad view of monitoring solutions and technology, he serves as a point of technical escalation, assisting sales teams to overcome technical challenges during the sales process.
When setting up for a multiple environment adrum injection in an Angular application, it is best to follow a few patterns to keep things clean and easy to debug. This approach will reduce any unneces... See more...
When setting up for a multiple environment adrum injection in an Angular application, it is best to follow a few patterns to keep things clean and easy to debug. This approach will reduce any unnecessary complexity and make any issues easier to debug and track down. In the following instructions, you can expect to find the brief steps needed to create Adrum scripts for different environments to help you manage your Angular applications effectively across various environments.  In this article... How do I configure my adrum scripts for my Angular environment? Create index files for each environment-specific injection script  Environment-specific adrum scripts for dynamic injection at build time  Apply configurations in angular JSON in anticipation of environment build How do I configure Adrum scripts for my Angular environment?  We want to create any adrum scripts, tailored for respective environments, within the  /assets/scripts directory. This will enable Angular to permit the local injection of these scripts into a separate file. This script is quite simple to begin with, and you can add to it for added app complexity and tracking needs. The screenshot below shows an example of this AppDConfig.js file that will be used for each environment that needs tracking with a different logic or appkey. Example injection script 1. Create index files for each environment-specific injection script  We will next want to create an index.html file for each environment for which we have a different injection script, as seen in this screenshot, below. We have three index files: One default index.html that has no special logic, no adrum script, and will be used unless we tell the angular.json file to swap the index file with a different one. This is typically used for local development, so we don't report local development to the AppDynamics Controller. We can also see there is an index.prod.html and index.uat.html (you can have as many as you need for specific logic in respective environments). 2. Environment-specific adrum scripts for dynamic injection at build time  In The 3 index files corresponding to the environment-specific injection script the same screenshot to the left, we can see there are three scripts, AppDConfig.js , AppDConfig.prod.js , and AppDConfig.uat.js , that will be imported into the respective index files to dynamically inject the correct script at build time into the correct environment.  In the screenshot below, we can see the index.prod.html file which is using the AppDConfig.prod.js script. This index file will be dynamically replaced on the build when the builder for production is run. ng build -c production This index.prod.html index file (using the AppDConfig.prod.js script) will be dynamically replaced on the build when the production builder is run Likewise below is the screenshot of the index.uat.html that will pull in the AppDConfig.uat.js file when UAT is built. ng build -c uat This index.uat.html script will pull in the AppDConfig.uat.js file when UAT is built.  3. Apply configurations in angular.json in anticipation of the environment build  Next, we will want to apply configurations in the angular.json file so that when we build the respective environments, these new index files are swapped out with the default and replaced with the environment-specific index.html file.  Angular.json index.html replacement configuration example. You can see that, in the production configuration, we have added:  "index": {   "input": "src/index.prod.html",   "output": "index.html" }, And likewise, in the UAT configuration we have added: "index": {   "input": "src/index.uat.html",   "output": "index.html" }, This will tell Angular to swap these out at build time only for these environments/configurations. All other configurations, without this special setup, will just use the default index.html file, which has no AppDynamics injection script. 
Cisco AppDynamics Smart Agent will transform how you manage agent lifecycles across your environment  Video Length: 9 min 3 seconds    CONTENTS | Video | Key Points and Timestamps | Resources ... See more...
Cisco AppDynamics Smart Agent will transform how you manage agent lifecycles across your environment  Video Length: 9 min 3 seconds    CONTENTS | Video | Key Points and Timestamps | Resources Cisco AppDynamics Smart Agent will transform how you manage your agent lifecycle. It orchestrates your agent lifecycle tasks through an enhanced UI, or through an advanced CLI.  Learn about the recently released Smart Agent and Agent Management for Cisco AppDynamics in the video below. It includes an overview and short demonstration of the primary use case: identifying agents that must be updated, and how to perform agent updates in bulk.    Key Video Points Following are key points covered in the demonstration video. For your convenience, we've included timestamps where you can find the topics in the video.    The ABCs of Smart Agent 00:00:22 - 00:00:39 Adhere to versioning compliance standards Bolster installations, upgrades, and rollback processes—at scale Centralize agent management control   A single Smart Agent Prerequisite. 00:00:44 To get started, first install the Smart Agent on any machine hosting applications that are or will be monitored. This process is very straight-forward:  Launch your console of choice  Install Smart Agent just like you would have installed the old agent.  TIP | We published Debian in RPM packages to make it super convenient, or use one of our recently released Ansible Playbooks to distribute your Smart Agent at scale, use the Smart Agent CLI to distribute it, or integrate with your existing CICD tooling pipeline.    Smart Agent UI and two use cases Following, see a demonstration of the two use cases, (1) identifying agents that must be updated, and (2) how to perform agent updates in bulk, including an overview of the Smart Agent UI and capabilities. 00:01:23 The UI has been enhanced to indicate Agent statuses and provide agent management tools.  App Server Agents tab 00:01:54 Status shows each agent's status Managed column: Easily check to see whether or not Smart Agent is installed on each of your hosts as needed  Filter button: Use to show the hosts that are managed or unmanaged  Clickable list: on the right panel, see a list of agents that need review or attention Bulk agent upgrades 00:04:40 Bulk upgrades are for agents of the same type Select the upgrade version  Make setting changes as needed or use the default configuration  Repeat steps as needed for different agent types Smart Agents tab 00:06:41 Check Smart Agents statuses, as well as what agents are connected to each of them  See the Tasks in Process tab to view any upgrade process underway  Troubleshooting: Under the History tab, see process status and access log files for completed, incomplete, or stalled processes Export grid data 00:07:32  View a grid of all agents under management control Apply available filters, including out-of-date, update available, latest, unknown, specific applications, tiers, Smart Agent ID, monitoring status  Download for use with Excel or other reporting utilities  Additional Resources  In the Agent Management documentation:  Supported Platforms Smart Agent Smart Agent Command Line Utility  Supported Automation Tools to Deploy Agents: Ansible | Docker | Cloud Foundry | Kubernetes 
In December, v23.12 enhancements included Cisco Cloud Observability,  SaaS Controller and Agent enhancements, and On-premises Controller  upgrades. Product name change announcements  As of No... See more...
In December, v23.12 enhancements included Cisco Cloud Observability,  SaaS Controller and Agent enhancements, and On-premises Controller  upgrades. Product name change announcements  As of November 27, 2023, the Cisco Full-Stack Observability Platform is now the Cisco Observability Platform and Cloud Native Application Observability is now Cisco Cloud Observability powered by the Cisco Observability Platform. These name changes better align our products with the Cisco portfolio and with our business strategy.  WATCH THIS PAGE FOR UPDATES — Click the Options menu above right, then Subscribe Want to receive all monthly Product Updates? Click here, then subscribe to the series In this article…  What new product enhancements were released in December 2023? Cisco Observability Platform | Cisco Cloud Observability | AppDynamics APM Platform: Agents, SaaS Controller | On-premises Controller | Where can I find ongoing information about product enhancements?  Advisories and Notices  | Updates to Documentation Information Architecture Essentials  | Download components  | Get started upgrading AppDynamics components for any release | Product Announcements, Alerts, and Hot Fixes | Open source extensions | License entitlements and restrictions What new product enhancements were released in December 2023? TIP | This article provides product enhancement highlights, organized by product. Each product section below includes a link to its corresponding Release Notes page. When available, links to the specific release version are also included.  Cisco Observability Platform enhancement highlights Formerly Cisco Full-Stack Observability Platform NOTE | In addition to the following highlights, find the complete v23.12 Cisco Cloud Observability Release Notes in the documentation  Log Collector Now, the Log Collector supports TLS protocol version 1.3 by default. To collect logs from a different TLS protocol, see:  (from AWS services), see TLSMinVersion in Create a CloudFormation Stack.  (from Amazon ECS backed by Amazon EC2), see APPD_LOGCOL_SSL_*  in Amazon Elastic Container Service on EC2 Application Logs.   (from Amazon EC2 instances - baremetal), see APPD_LOGCOL_SSL_*  in Amazon Elastic Compute Cloud Application Logs.   See the changes related to advanced format deployments on Kubernetes clusters (filebeatYaml) collectors-values.yaml in Log Collector Settings - Advanced YAML Layout.  NOTE The Log Collector running on Windows-backed Kubernetes nodes no longer supports x386 architecture.  v23.12 Cisco Observability Platform Release Notes For complete release details, see: Enhancements Known Issues and Limitations Resolved Issues Back to TOC | To Essentials   Cisco Cloud Observability enhancement highlights Formerly Cloud Native Application Observability prior to November 27, 2023 NOTE | See the Cisco Cloud Observability v23.12 Release Notes page for a complete list of enhancements in December 2023. Alerting All system components and collectors, along with all communication within the platform, now use the TLS protocol version 1.3 by default. (GA v23.12.14) Anomaly Detection On the entity-centric page, the anomaly status is displayed as unknown when data is unavailable for anomaly evaluation. (GA v23.12.14)  Cloud Service Expansions AWS: Cisco Cloud Observability now supports monitoring the following Amazon Web Services (AWS) services:  AWS Certificate Manager  AWS Config  AWS Direct Connect  Amazon DynamoDB  Amazon ElastiCache  Amazon MQ  Amazon Route 53  GCP: Cisco Cloud Observability now supports monitoring the following Google Cloud Platform™ (GCP) services:  GCP API Gateway  GCP Cloud Spanner  GCP Data Flow  GCP Filestore  GCP Virtual Private Cloud  License Consumption Visualize and meter MELT data and token usage   Visually evaluate the monthly capacity units of MELT data ingested by the FSO Platform against the purchased SKU amount to understand usage limits. Module Enhancements  Cisco Secure Application   The release introduces business transaction context to business risk factors, a new Detail View on the Vulnerabilities page for tracking entities affected by vulnerabilities, and a new Image page for monitoring vulnerabilities impacting each image. In addition to the Release Notes, see Using Business Metrics on Cisco Cloud Observability Platform in the Knowledge Base.  Smart Agent Smart Agent  The Helm chart deployment of the Smart Agent now automatically adds OPTIMIZER_ID and OPTIMIZED_WORKLOAD_NAME labels to help in tracking and troubleshooting Application Resource Optimizer issues by identifying objects created by ARO.   Application Resource Optimizer (ARO)   New YAML resource configurations, including auto-generated YAML snippets with optimized resource configurations, can be copied and applied to your workload environment.  The Helm chart deploying the Smart Agent will automatically apply labels to facilitate tracking and troubleshooting issues with the ARO.  ARO requirement change: The observed minimum of Kubernetes workloads pods over the previous seven days of metrics history increased from three to five. v23.12 Cisco Cloud Observability Release Notes   For complete release details see AppDynamics Cloud 23.12 Release Notes  Back to TOC | To Essentials AppDynamics APM Platform Agent enhancement highlights NOTE | See the full 23.12 Release Notes  for a complete, ongoing, and sortable list of Agent enhancements Analytics Agent  Configures the TLS version for agent to Controller and Event Service communications. Upgrades to several third-party components. (GA 23.12, December 14, 2023) iOS Agent  Offers compatibility support with Alamofire and includes minor bug fixes. (v23.12.0, GA December 6, 2023)  Java Agent Adds the option to associate error detection methods, log messages, and HTTP codes with business transactions, provides support for JDK21, and fixes some bugs. (v23.12.0, GA December 20, 2023)  Machine Agent Supports excluding Docker Container networks, fixes some bugs, and upgrades to logback-classic. (v23.12.0, GA December 20, 2023)  Xamarin Agent Includes stack trace support for hybrid applications built using Xamarin, segregating the hybrid stack trace as native and Xamarin. (v23.12.0, GA December 21, 2022)  v23.12 AppDynamics SaaS Agent Release Notes Agent Release Notes    Back to TOC | To Essentials   SaaS Controller enhancement highlights NOTES |See the AppDynamics v23.10 SaaS Controller Release Notes page for the complete October 2023 enhancements. No SaaS Controller enhancements were released in November. Analytics Infrastructure-based Licensing (IBL) usage details are now shown by default on the Configuration page. To hide IBL usage details, set the CONFIG_EXCLUDE_ANALYTICS_LICENSE_USAGE flag to false. See Collect Transaction Analytics Data. (GA v22.12, Released December 21, 2022)  Alert and Respond When you configure action suppression for servers, you can now select object scope by servers and server subgroups. (GA v22.12, Released December 21, 2022) Back to TOC | To Essentials   On-premises enhancement highlights NOTE |See the On-premises Platform Release Notes page for the complete December 2023 enhancements. Agent Management The release introduced a Smart Agent, which allows bulk operations and provides a command line utility—Smart Agent CLI for buildtime workflows. (v23.11.0, GA December 5, 2023)  Agent Management can now be administered in the Enterprise Console, and all installed agents can be viewed on the Agent Management tab in the Controller UI. (V23.11.0, GA December 5, 2023)  Adminster the Fleet Management Service   Agent Management User Interface   Browser Real User Monitoring Speed Index metric can now be enabled when configuring the JavaScript Agent. This metric evaluates page load performance. (v23.11.0, GA December 5, 2023)  Controller A number of Controller components were upgraded. In addition the Linux Kernel was removed, and Jetty replaced the GlassFish server.   NOTE: Configuration changes are required due to this switch. See the Release Notes and Port Settings (v23.11.1, GA December 13, 2023)  The TLS version was upgraded to 1.3. See End of Support for TLS 1.0 and 1.1 (v23.11.0, GA December 5, 2023)  Dash Studio You can now enable ThousandEyes access in the administration page, to allow users to visualize ThousandEyes data along with application data on the dashboard created in Dash Studio. (v23.11.0, GA December 5, 2023)  End User Monitoring   The Controller UI now displays the EUM Data in milliseconds. This feature can be enabled via a setting. (v23.11.0, GA December 5, 2023)  Enterprise Console Administering Fleet Management (Agent Management) is now supported. (v23.11.0, GA December 5, 2023)  Events Service Events Service data can be migrated from 4.5.x to 23.x using a single node. It also upgrades Elasticsearch from 2.x to 8.10.x version. (v23.11.0, GA December 5, 2023) Back to TOC | To Essentials Where can I find ongoing information about product enhancements?  The following links show the most up-to-date product information.  Documentation by product Latest information Cisco Observability Platform  Latest Release Notes Cisco Cloud Observability  Latest Release Notes  AppDynamics SaaS   Latest Release Notes Past Release Notes  AppDynamics On-Premises  Latest Release Notes Resolved and Known Issues  SAP Monitoring using AppDynamics  Latest Release Notes  Resolved Issues and Improvements are listed in the month’s Release Notes when there are items to report Accounts and Licensing  Release Notes  Known Issues and Limitations  Back to TOC | To Essentials Advisories and Notifications Changes on the Documentation Portal  In December, there were a number of enhancements to Cisco Cloud Observability documentation. The team has updated its information architecture for an easier, more organized user experience. You’ll also find new content. Check the Release Notes for a complete summary.  Essentials ADVISORY | Customers are advised to check backward compatibility in the Agent and Controller Tenant Compatibility documentation. Download Essential Components (Agents, Enterprise Console, Controller (on-prem), Events Service, EUM Components) Download Additional Components (SDKs, Plugins, etc.) How do I get started upgrading my AppDynamics components for any release? Product Announcements, Alerts, and Hot Fixes Open Source Extensions License Entitlements and Restrictions CAN'T FIND WHAT YOU'RE LOOKING FOR? NEED ASSISTANCE? Connect in the Forums
Intelligent monitoring in a rapidly changing digital landscape   Video Length: 4 min 17 seconds    CONTENTS | Introduction | Video | Transcript | Resources In line with enterprise applica... See more...
Intelligent monitoring in a rapidly changing digital landscape   Video Length: 4 min 17 seconds    CONTENTS | Introduction | Video | Transcript | Resources In line with enterprise applications transitioning to the cloud, the need for simplified and AI-driven observability solutions is growing. AppDynamics’ cloud native response is an innovative platform designed to effortlessly onboard customer cloud environments, automate monitoring of ephemeral environments, and streamline MELT (Metrics, Events, Logs, and Traces) data correlation. By leveraging the power of data science—including machine learning and AI—it provides comprehensive solutions to challenges arising from applications, Kubernetes, infrastructure, or other cloud-native aspects in a multi-cloud world. This demonstration video explores these capabilities, demonstrating AppDynamics’ effectiveness through an application deployed to an AWS Kubernetes cluster. See Helm charts used to simplify the installation of monitoring components in a Kubernetes environment and enable app deployment auto-instrumentation using OpenTelemetry. Video Transcript Spoiler (Highlight to read) 00:00:09:05 - 00:00:37:18 As applications move to the cloud with the need to simplify observability, we are meeting those needs with AppDynamics. Here, we will show an example of a simple application deployed to an AWS Kubernetes cluster. It contains one pod and two virtual machines to support the cluster. We'll show how easy it is to onboard on to AppDynamics, requiring minimal configuration as is needed in large-scale environments and the world of microservices, as well as show how we are able to monitor every aspect of the application as it scales to meet user demand. 00:00:37:18 - 00:01:01:10 First, from the UI, we easily onboard a cloud connection to consume cloud components, including infrastructure metrics. Once that configuration is set, we can see how we pull in the infrastructure, including hosts, load balancers and storage, into the platform automatically. Reviewing the hosts, we see two hosts are being monitored through CloudWatch, including host metrics going back to investigate how many hosts are currently allocated to the Kubernetes cluster. 00:01:01:17 - 00:01:21:14 We see those (same) hosts, which we see in the AppDynamics UI, are the same hosts allocated to this cluster. The cloud connection is a one-time setup. Any new hardware allocated in the cloud will be monitored automatically by AppDynamics, as we'll see later in the video. After we set up our cloud connection, we will use Helm charts to simplify the installation of monitoring components in the Kubernetes environment. 00:01:21:16 - 00:01:41:13 This includes installing the app, mixed cluster operator and agent, the infrastructure and logs agents to monitor and collect logs. Additionally, we will enable the ability to auto-instrument applications using Open Telemetry, which provides a framework for capturing application telemetry data. To recap to this point, we have rapidly established a cloud connection to either a public or private cloud. Additionally, with just a few steps, we have started gathering telemetry and logs related to the Kubernetes environment. 00:01:41:16 - 00:02:04:07 Next, we will auto-instrument the Pet Clinic application deployment using Open Telemetry. After playing some load to the application, the Pet Clinic service appears in AppDynamics, as shown in this flow map. We can also see the business transaction generated by this Pet Clinic service, which is coming from the Open Telemetry instrumentation. 00:02:04:10 - 00:02:21:17 Here, we see three business transactions are being generated from this service. We also see the service instance of which there is only one. We see the Kubernetes cluster, the services running under, which namespace, which workloads, and how many pods of which we know there is only one deployed, and which hosts the pods are running under, of which there is only one pod. 00:02:21:23 - 00:02:39:10 So, there is only one host out of the two that are running this pod. Remember, we didn't have to do any fancy configuration to enable all this. We set up a cloud connection, installed a Helm chart to enable Kubernetes monitoring, and we auto instrumented our application. We didn't have to set up an application tier or node names as we do with a commercial SaaS solution. 00:02:39:10 - 00:03:01:05 And everything you see in AppDynamics was automatically ingested into the platform and automatically correlated between all entities, including APM, Kubernetes and the cloud infrastructure. Moving forward, AppDynamics will automatically monitor and show any changes to the infrastructure, such as scaling up or down, issues in Kubernetes or changes to the application, as well as any performance issues. Let’s show this by scaling the application. 00:03:01:07 - 00:03:24:05 First, we see there is only one pod running for Pet Clinic service and two nodes are host to support the cluster. Now we'll scale up the Pet Clinic application service from one pod to 20 pods total. We can see all the parts started with one having an issue. So a total of 21 pods. We also see the Kubernetes cluster automatically scaled up the number of virtual hosts, EC2 instances in this case to handle the increased demand for 20 pods. 00:03:24:06 - 00:03:45:13 We now have 20 pods running, one pod failed, and five hosts for the infrastructure. Coming back to the AppDynamics UI and under our Kubernetes cluster, we see AppDynamics automatically monitored and correlated the five total hosts to this cluster and Pet Clinic service. Additionally, we're also now automatically monitoring and reporting on 21 pods to support the Pet Clinic service. 00:03:45:14 - 00:04:07:09 AppDynamics’ new Cloud Native solution will make it easier to onboard customer cloud environments and automatically monitor their ephemeral environments, and automatically correlate incoming MELT metrics, events, logs, and traces. Once the data is in the platform, we can apply data science, such as machine learning and AI, to help solve problems from the application, Kubernetes, infrastructure or other cloud native aspects that the customer is using. 00:00:09:05 - 00:00:37:18As applications move to the cloud with the need to simplify observability, we are meeting those needs with AppDynamics. Here, we will show an example of a simple application deployed to an AWS Kubernetes cluster. It contains one pod and two virtual machines to support the cluster. We'll show how easy it is to onboard on to AppDynamics, requiring minimal configuration as is needed in large-scale environments and the world of microservices, as well as show how we are able to monitor every aspect of the application as it scales to meet user demand. 00:00:37:18 - 00:01:01:10First, from the UI, we easily onboard a cloud connection to consume cloud components, including infrastructure metrics. Once that configuration is set, we can see how we pull in the infrastructure, including hosts, load balancers and storage, into the platform automatically. Reviewing the hosts, we see two hosts are being monitored through CloudWatch, including host metrics going back to investigate how many hosts are currently allocated to the Kubernetes cluster. 00:01:01:17 - 00:01:21:14We see those (same) hosts, which we see in the AppDynamics UI, are the same hosts allocated to this cluster. The cloud connection is a one-time setup. Any new hardware allocated in the cloud will be monitored automatically by AppDynamics, as we'll see later in the video. After we set up our cloud connection, we will use Helm charts to simplify the installation of monitoring components in the Kubernetes environment. 00:01:21:16 - 00:01:41:13This includes installing the app, mixed cluster operator and agent, the infrastructure and logs agents to monitor and collect logs. Additionally, we will enable the ability to auto-instrument applications using Open Telemetry, which provides a framework for capturing application telemetry data. To recap to this point, we have rapidly established a cloud connection to either a public or private cloud.Additionally, with just a few steps, we have started gathering telemetry and logs related to the Kubernetes environment. 00:01:41:16 - 00:02:04:07Next, we will auto-instrument the Pet Clinic application deployment using Open Telemetry. After playing some load to the application, the Pet Clinic service appears in AppDynamics, as shown in this flow map. We can also see the business transaction generated by this Pet Clinic service, which is coming from the Open Telemetry instrumentation. 00:02:04:10 - 00:02:21:17Here, we see three business transactions are being generated from this service. We also see the service instance of which there is only one. We see the Kubernetes cluster, the services running under, which namespace, which workloads, and how many pods of which we know there is only one deployed, and which hosts the pods are running under, of which there is only one pod. 00:02:21:23 - 00:02:39:10So, there is only one host out of the two that are running this pod. Remember, we didn't have to do any fancy configuration to enable all this.We set up a cloud connection, installed a Helm chart to enable Kubernetes monitoring, and we auto instrumented our application. We didn't have to set up an application tier or node names as we do with a commercial SaaS solution. 00:02:39:10 - 00:03:01:05And everything you see in AppDynamics was automatically ingested into the platform and automatically correlated between all entities, including APM, Kubernetes and the cloud infrastructure. Moving forward, AppDynamics will automatically monitor and show any changes to the infrastructure, such as scaling up or down, issues in Kubernetes or changes to the application, as well as any performance issues. Let’s show this by scaling the application. 00:03:01:07 - 00:03:24:05First, we see there is only one pod running for Pet Clinic service and two nodes are host to support the cluster. Now we'll scale up the Pet Clinic application service from one pod to 20 pods total. We can see all the parts started with one having an issue. So a total of 21 pods. We also see the Kubernetes cluster automatically scaled up the number of virtual hosts, EC2 instances in this case to handle the increased demand for 20 pods. 00:03:24:06 - 00:03:45:13We now have 20 pods running, one pod failed, and five hosts for the infrastructure. Coming back to the AppDynamics UI and under our Kubernetes cluster, we see AppDynamics automatically monitored and correlated the five total hosts to this cluster and Pet Clinic service. Additionally, we're also now automatically monitoring and reporting on 21 pods to support the Pet Clinic service. 00:03:45:14 - 00:04:07:09AppDynamics’ new Cloud Native solution will make it easier to onboard customer cloud environments and automatically monitor their ephemeral environments, and automatically correlate incoming MELT metrics, events, logs, and traces. Once the data is in the platform, we can apply data science, such as machine learning and AI, to help solve problems from the application, Kubernetes, infrastructure or other cloud native aspects that the customer is using. Additional Resources  Learn more about OpenTelemetry and Kubernetes in the documentation.   Deploying the Cisco AppDynamics distribution of OpenTelemetry Collector, Kubernetes   Cisco AppDynamics support for OpenTelemetry
In October, v23.10.x enhancements included Cisco Cloud Observability,  SaaS Controller and Agent enhancements—including SAP Agent updates, and On-premises Controller  upgrades. In November, v23.1... See more...
In October, v23.10.x enhancements included Cisco Cloud Observability,  SaaS Controller and Agent enhancements—including SAP Agent updates, and On-premises Controller  upgrades. In November, v23.11 enhancements included Agent Management features, including Smart Agent and the Smart Agent CLI. Product name change announcements  As of November 27, 2023, the Cisco Full-Stack Observability Platform is now the Cisco Observability Platform and Cloud Native Application Observability is now Cisco Cloud Observability powered by the Cisco Observability Platform. These name changes better align our products with the Cisco portfolio and with our business strategy.  WATCH THIS PAGE FOR UPDATES — Click the Options menu above right, then Subscribe Want to receive all monthly Product Updates? Click here, then subscribe to the series In this article…  What new product enhancements were released October-November 2023? Cisco Full-Stack Observability | Cisco Cloud Observability | Agents | SAP | SaaS Controller | On-premises Controller | Accounts Where can I find additional information about product enhancements?  Resolved Issues Advisories and Notices Essentials Download components  | Get started upgrading AppDynamics components for any release | Product Announcements, Alerts, and Hot Fixes | Open source extensions | License entitlements and restrictions What new product enhancements were released in October and November 2023? TIP | This article provides product enhancement highlights, organized by product. Each product section links to the corresponding Release Notes page. When available, links to the specific release version are also included.  Cisco Observability Platform enhancement highlights Formerly Cisco Full-Stack Observability Platform NOTE | There was no Cisco Observability Platform release during this period. Below, see module enhancement highlights. For a complete list of enhancements, see the  v23.10.0 Module Enhancements Release Notes and the  v23.11.0 Module Enhancements Release Notes. For Developer Support, see the 23.10.27 Cisco Observability Platform Release Notes. Extended Cisco Cloud Observability Modules  Application Resource Optimizer: Override blockers when configuring the optimization of your workloads for testing purposes. Use Cost Insights to set budgets and monitor costs for infrastructure resources grouped by teams. Create HTTP alerts on Cisco Secure Application Back to TOC | To Essentials   Cisco Cloud Observability enhancement highlights Formerly Cloud Native Application Observability prior to November 27, 2023 NOTE | See the Cisco Cloud Observability v23.10 Release Notes page for a complete list of enhancements in October 2023. There was no release in November 2023. Alerting GA 23.10.27 Health Rules have several new features, including:  Create health rule conditions for percentile values on a histogram metric—a feature that enhances alert generation accuracy by reducing noise. More in the Release Notes.  By establishing health rule conditions for events, you can also receive alerts for abnormal events. Violating Events Chart information includes the number of events during a set time, trend, and deviation from threshold value.  When applying filters for entity types and metrics, values of available filter attributes are now automatically suggested.  Purged Time to Live (TTL) for each entity documented Cisco AppDynamics has documented the purge time-to-live (TTL) for each entity. For more information, see Kubernetes Entities. For other domains, see the entity-centric page documentation for your specific entity.  Cloud Infrastructure and Troubleshooting   Kubernetes and App Service Monitoring  Application Performance Monitoring with OpenTelemetry  Cloud infrastructure troubleshooting   Cisco Cloud Observability now supports monitoring:  Amazon Apache Managed Flink Application  Amazon Athena  AWS CodeBuild  Amazon Cognito  Amazon Elastic Container Registry  AWS Glue  Amazon Simple Notification Service  GCP Cloud Run  GCP Cloud SQL  GCP Load Balancers Kubernetes and App Service Monitoring  The Orchestration Client was renamed to the Cisco AppDynamics Smart Agent. As part of this change, the fso-agent-mgmt-client section of the operator-values.yaml file was renamed to appdynamics-smartagent. For any upgrade from 23.6.0 to >=23.9.0, ensure that the Smart Agent values are updated in the operators-values.yaml file. See Upgrade or Uninstall Kubernetes and App Service Monitoring. Use new Kubernetes predefined health rule K8s CronJob Health Rule to identify failed cronjobs. You can now use Enable Additional Configurations section at Configure > Kubernetes and App Services to generate the configuration file with selected collectors and operating systems.     When you download the configuration files for operator and the required collectors, the configuration file includes the inline documentation of the additional settings. See Install Kubernetes and App Service Monitoring. Grafana plugin  The 23.9 version of the Grafana plugin includes the Include All option toggle. App Root Cause Analysis using Anomaly Detection You can now view Pod readiness and liveness probe information can on the Properties panel of Pods, Workloads, Clusters, and Namespaces. Logs Cisco Cloud Observability now supports log collection from additional sources:  Amazon Elastic Load Balancing (Amazon ELB) service logs (includes ALB, CLB, NLB)  Amazon Virtual Private Cloud (Amazon VPC) service logs  Applications running on Amazon Elastic Container Service (Amazon ECS)   Applications running on AWS Fargate   Applications running on non-Kubernetes® Linux hosts, such as Amazon Elastic Compute Cloud (EC2) and bare-metal Linux machines    You can now deploy the Log Collector on non-Kubernetes hosts, such as bare metal EC2s. Hosts must be running on Linux. In this deployment, the Log Collector sends logs from the host directly to the Cisco AppDynamics common ingestion service (CIS). The new Enable Additional Configurations option generates a collectors-values.yaml file for you, simplifying the Log Collector’s deployment onto your clusters. See Configure the Log Collector. A new interface, Configure > Log Processing, allows you to specify server-side log parsing rules to extract fields from incoming log messages at the time of ingestion. By saving these rules on the server, you can standardize field names, improve search performance, and apply the same rules to new log sources.  Data Masking with the Rule scope Menu. In Configure > Data Security, options to specify the scope of a data masking rule have expanded, allowing you to select a log attribute from the Rule scope pull-down menu, and specifying a value for that attribute.   Masking rules you created with the logFormat parameter still work, but are no longer editable. We recommend that you delete your existing data masking rules and recreate them using the Rule scope menu. See Mask Sensitive Data. The Relevant Fields panel on the Logs page now displays all available relevant fields with distinct values, count, and percentage—expanded from a hardcoded list of 5 fields. This panel provides the fastest and most convenient way to filter your view of log messages. See Troubleshoot with Logs.  Service time investigations  In the time range selector, you can now select a default time, a recently used time range, or a custom time where you can select from absolute or relative time. See Understand the Observe UI.  Business Transactions 23.10.27  Now, only users with appropriate permissions can “favorite” Business Transactions. For users with the Observer role, the favorites and shortcut options will be hidden. See Business Transactions, Favorites.  With Business Transactions, you can now configure and visualize the Revenue Loss metric  to correlate performance issues to business impacts and perform segment analysis. See Business Transactions.  You can now filter based on specific metrics. A new column for metrics appears in the list view depending on the filter. See Filters.  The UI theme has been updated to include new features such as updated colors, flowmap capabilities (see all entity pages), and light/dark mode options.  Troubleshooting documentation has been updated for users who cannot collect some traces due to their size being greater than the allowed limit. See Troubleshoot Application Performance Monitoring with OpenTelemetry. Spectro Cloud® Palette  The following Cisco Cloud Observability monitoring solutions can now be installed and/or configured using add-on packs in the Spectro Cloud® Palette user interface:  Kubernetes and App Service Monitoring  Application Performance Monitoring  Log Collection  Events Collection  This alternate installation process does not require manually accessing the Kubernetes cluster or using Helm chart commands.  Back to TOC | To Essentials   Agent enhancement highlights NOTE | See the AppDynamics SaaS v23.10 and AppDynamics SaaS v23.11 for the complete October and November 2023 agent enhancement details.  ABAP Agent GA 23.11.0  November 31, 2023  ABAP Agent now supports End User Monitoring (EUM) for SAP GUI sessions. See SAP GUI End User Monitoring. For additional release details, see Release Notes v23.11.0: SAP-319 (ASM-1325) Deferred Error Reporting SAP-323 (ASM-1345) Custom Naming Logic for Backends SAP-363 (ASM-1334): S/4 HANA 2022 FPS02: HTTP SKK Update and TLS 1.3/1.3 support SAP-363 (ASM-1334): S/4 HANA 2022 FPS02 Compatibility SAP-371 (ASM-1323): Event Limit Parametrization Various Monitoring improvements Analytics Agent  GA 23.10.0  October 31, 2023 Upgrades to third-party component Azul JRE to v8.72(8u382)  Log Analytics support for the following operating systems:  IBM AIX (Advanced Interactive eXecutive) 7.2.x  HP-UX (Unix) 11.31.x  See Collect Log Analytics Data.  GA 23.11.0  November 27, 2023 Third-party components dom4j, jetter-server, netty-all, and org.json were updated. C/C++ SDK GA 23.11.0  November 17, 2023 Support for: Normal Average Response Time TLS 1.2 and TLS 1.3 for communication with the Controller and Analytics Server. Cluster Agent GA 23.11.0  November 29, 2023 New option allows you to retain the instrumented configuration for all successful deployments during an upgrade or re-instrumentation. See Auto-Instrumentation Configuration. Database Agent GA 23.11.0  November 29, 2023 You can configure policies for Microsoft SQL Server database events: AG_LISTENER_IP_NOT_ONLINE AG_REPLICA_DISCONNECTED AG_REPLICA_NOT_SYNCHRONIZING See Microsoft SQL Server Database Events Reference and Database Events Reference. IBM Integration Bus Agent GA 23.11.0  November 7, 2023 Now, you can select IIB Agent when creating a match rule, which gives visibility and context for non-performant IIB business transactions. See Custom Match Rules. you can add HTTP parameters while configuring data collectors, providing HTTP header and payload information for IIB business transactions. See Data Collectors. iOS Agent Support for the iOS SDK installation using Swift Package Manager for iOS Agents v23.10.1 or higher. See Install the iOS SDK.  Java Agent GA 23.11.0  November 30, 2023   You can specify the Controller keystore filename and password in the JVM startup script. See Java Agent Configuration Properties and Enable SSL between the Java Agent and the Controller. There is now support for WebLogic EUM Automatic Injection (JSPs). See Automatic Injection of the JavaScript Agent. Machine Agent GA 23.11.0  November 30, 2023 Support for HP-UX. See Machine Agent Requirements and Supported Environments. Support for OpenShift tags to differentiate between master and worked nodes. See Server Tagging. PHP Agent GA 23.11.0  November 29, 2023 Support for Alpine Linux. See PHP Supported Environments. Upgrades to following third-party components util-linux and ZeroMQ .NET Agent GA 23.11.0  November 30, 2023 Code optimizations, performance improvements, and third-party library upgrades.    Back to TOC | To Essentials   SaaS Controller enhancement highlights NOTES |See the AppDynamics v23.10 SaaS Controller Release Notes page for the complete October 2023 enhancements. No SaaS Controller enhancements were released in November. Cisco Secure Application GA 23.10.0 October 31, 2023 This release includes support for OpenTelemetry. See Cisco Secure Application for OpenTelemetry. Anomaly Detection GA 23.11.0 November 30, 2023 On the Suspected Cause details page, the Top Deviating Metrics timeline now displays the evaluation period of an anomaly for precise identification of the time when the issue started. See Troubleshooting Anomalies. Agent Management Enhancement GA 23.11.0 November 30, 2023 Introducing Smart Agent, which allows you to use the Controller UI to perform bulk agent operations—install, upgrade, or rollback.  Agent Management also provides an auto-attach feature for detecting and starting supported AppDynamics agents without modifying the start configuration of the applications. Smart Agent CLI provides buildtime workflows toautomate the installation, upgrade and uninstall of supported AppDynamics agents (including Smart Agent). Back to TOC | To Essentials   On-prem enhancement highlights NOTE |See the On-premises Platform Release Notes page for the complete October enhancements. No enhancements were released in November. Enterprise Console GA 23.10.0  October 12 31, 2023  This release includes Controller 23.7.3.  Back to TOC | To Essentials Where can I find additional information about product enhancements?  In Documentation, each product category has a Release Notes page where enhancements are described in detail on an ongoing basis. Links to the most recent versions are:  Cisco Observability Platform  Cisco Cloud Observability  AppDynamics SaaS Documentation (latest)  AppDynamics On-premises Documentation  Accounts Administration (Administration Tasks) SAP Monitoring using AppDynamics  Back to TOC | To Essentials Resolved issues DID YOU KNOW? You can find ongoing lists of Resolved Issues on each Release Notes page by version. Sort the list on each page by headings, including key, product, severity, or affected version(s). Find Resolved Issues by Product here:  Cisco Observability Platform  Cisco Cloud Observability  AppDynamics SaaS Documentation (latest)  AppDynamics On-premises Documentation Accounts Administration (Administration Tasks) SAP Monitoring using AppDynamics  Back to TOC | To Essentials Advisories and Notifications Upcoming End of Support for Cluster Collectors <23.10 and required upgrade for continued Kubernetes monitoring   Cluster Collectors <23.10 are deprecated with support ending January 30, 2024. After this date, monitoring Kubernetes entities via the relationship pane will require an upgrade to Cluster Collector version >=23.10.  Essentials ADVISORY | Customers are advised to check backward compatibility in the Agent and Controller Compatibility documentation. Download Essential Components (Agents, Enterprise Console, Controller (on-prem), Events Service, EUM Components) Download Additional Components (SDKs, Plugins, etc.) How do I get started upgrading my AppDynamics components for any release? Product Announcements, Alerts, and Hot Fixes Open Source Extensions License Entitlements and Restrictions CAN'T FIND WHAT YOU'RE LOOKING FOR? NEED ASSISTANCE? Connect in the Forums
Common questions and answers about simplified Agent Management with Smart Agent  This FAQ articulates some of the most common questions and answers about simplified agent management with the Smart ... See more...
Common questions and answers about simplified Agent Management with Smart Agent  This FAQ articulates some of the most common questions and answers about simplified agent management with the Smart Agent and the enhanced user interface, along with the new CLI. In this article...  Simplified agent management basics  Licenses and packages  Supported Environments  Requirements  Strategy Tooling Pipeline Guidelines  UI Questions  Installation/Getting Started  Custom configuration files, monitors, and extensions  Additional resources Updated 1/24/24   Simplified agent management basics  FORUM LINK | Join the discussion on this topic What is simplified agent management?  Simplified agent management enables you to automate agent management operations such as installations, upgrades, and rollbacks at scale. This is achieved using the Smart Agent that facilitates and orchestrates agent operations by using the existing and enhanced Controller UI and/or command line interface (CLI). This applies to both SaaS and OnPrem customers alike.   The Smart Agent can manage the supported agents when the Smart Agent is installed on the same machine as a supported agent. You can use the enhanced Controller UI to view all the installed agents with the inventory details. The Smart Agent inventory is also displayed along with other agent inventories. (See below for more details.) You also have access to a CLI for advanced management controls.    Is the Smart Agent UI part of the current SaaS and On-prem UI, or will a separate installation be needed?   As of Controller v23.11, the existing Agent Management screen has been modified to include new information regarding Smart Agent, whether agents are being managed, their status, and more. To access this new Smart Agent UI, you will need to be on v23.11 at minimum.    What is the real value of this UI release? Will there be more than what we already have today?  This release offers significant standalone value. However, using Smart Agent enhances this value by providing the following features:  Simplified Upgrade Management  Enables you to choose the version to upgrade, download it from our repository, and make the necessary configuration changes all at the push of a button.  Upgrade Awareness  Effortlessly keep track of available upgrades.   These upgrades are visible on the right side of the screenshot, with distinct icons indicating their status—whether they're out of date, have updates ready for upgrade, are running the latest version, or have an unknown status.  Upgrade Rollback  Offers the ability to revert an upgrade if needed.  Progress Tracking  Provides a Tasks in Progress feature to keep you updated with ongoing processes.  Historical Logs  Grants access to a comprehensive history of logs for reference and troubleshooting.   Does the Management UI require the Smart Agent to be installed?  No, Smart Agent does not have to be installed. However, the advantage of having the Smart Agent installed on the machine alongside the language agents is to have deeper insights and management capabilities.   When Smart Agent is installed, you will be able to:  Inventory functionality, which in the initial release includes agent status (Out of Date, Update Available, Latest, Unknown), the agent’s version, running tasks, and historical events  Push-button management of upgrades and rollbacks on the machine    Does deploying the Smart Agent require uninstalling existing agents, or is this an incremental process that builds from the existing installed base?  This is an incremental process; you don't need to uninstall anything.   Step 1: Install Smart Agent on the host.   Step 2: Manage your existing and new language agents through the UI.  Will the Smart Agent for agent management have an impact on host compute consumption? If so, what is the expected additional compute load?  While there will be some processing that requires computing with regards to the Smart Agent being installed, it is thought to have no more impact than what an agent does today.    Can users turn off agent management if they choose to do so?  No. Because the Smart Agent is essential for maintaining agent lifecycle workflows, we haven't seen a significant need to develop this particular capability at this time. Can Agent Management also be used to migrate from AppDynamics On-prem to SaaS What if you need to upgrade an agent while also repointing it to communicate with a new SaaS Controller?  Yes, you can use Agent Management to migrate from On-prem to SaaS with Ansible scripts. However, supporting this with a UI is under discussion.    Does agent installation equate with app instrumentation?  No, you need to restart the app for it to be instrumented.   The agent is automatically attached to the application in the cases of Tomcat, WebLogic, Glassfish, and Sprint  In other cases, you need to attach the agent for new installations as they did before Smart Agent by modifying the startup parameters.     What will happen when an existing agent is running as a service?   Existing agents running as a service will be backed up during the new agent version deployment and the same configuration will be used upon update. Nothing changes as to how the service is installed or is run.  Back to TOC     Licenses and Packages  FORUM LINK | Join the discussion on this topic Do I need to buy new licenses for this solution in addition to my existing licenses? There is no additional cost to use Smart Agent.    Is the solution license-aware in that it includes logic to prevent me from over-deploying agents compared to my entitlements?    The current release of Smart Agent does not prevent the over-deployment of agents in relation to your entitlements. However, this functionality is under serious consideration for future updates.  Is Smart Agent officially supported by Cisco AppDynamics if I have problems?   Yes, Smart Agent is officially supported.  How can you manage multiple license keys and utilize the charge-back license model?  To manage multiple license keys for the charge-back license model, you will be able to specify a custom license key in the Additional Configuration section during deployment.  Back to TOC    Supported Environments  FORUM LINK | Join the discussion on this topic What agent flavors are supported?  As of November 2023, the following six agents are supported:  Java  Node.js  Python  PHP  Apache Webserver  Machine Agent   In upcoming releases, look for support for .NET Agent, DBMon and NetViz, among others. Check the documentation for the most current list of supported agents.   What features are supported in simplified agent management?  Supported simplified agent management  Agent installs  Upgrades and rollback via the agent management UI & CLI Management options Bulk management options  Tasks in Progress and History tabs  Logs for troubleshooting Agent Inventory Running inventory of running agents with respective versions  Grid export – with end-to-end accounting of agents running and communicating with the Controller Filtering  New filters include:  Out-dated agents  Available updates by application Auto-attach for Java frameworks *  Auto-attach is supported for Java frameworks (Tomcat, Sprint, WebLogic, Glassfish) and Node.js. With it, admins only need to restart the application because the Smart Agent will know what startup parameters are needed. Otherwise, the startup script must be modified manually.    Are all the Java APM documented deployment scenarios (for different frameworks) supported?  Yes    Is auto-attach supported for Java deployments?  Tomcat, WebLogic, Glassfish, and Spring are supported with this release, and many others are soon to come. Node.js is also supported.    Does Smart Agent support multiple instances of language agents on a single node?  Yes, each language will leverage an instance of a language agent, which will also be managed by the Smart Agent.  Will the Agent Management UI support the ABAP Agent?  As of the v23.11 release, the ABAP Agent is not included as part of the initial UI rollout. It is under consideration for the longer term.     What about the DB Agent?  Discussions to include the DB Agent are underway. We will apprise the Community of its support in a release.    Are PSA and Machine Agent extensions also in the scope of agent management?  PSA and Machine Agent extensions are part of the investigation phase, so there are no timelines to include them yet.    Does Smart Agent support Docker applications (Java, .NET, Node.js, PHP) that are not running on Kubernetes?   The Smart Agent CLI can be used in building Docker containers. It provides a uniform, automated way of installing App agents into containers during build times.    Will I be able to use Smart Agent to manage agents that run on ECS Fargate or Docker containers?   Yes, by integrating with Smart Agent CLI you can deploy agents during build time.    Can we deploy custom extensions to all existing Machine Agents as mass deployment?  Extensions are not supported as of this first release, but are part of future planning.    How will Smart Agent be supported? Regarding Support, we will follow the standard support process for agents, supporting agent releases one year after their release (n+1).  Back to TOC   Requirements  FORUM LINK | Join the discussion on this topic Is a Smart Agent needed on every host? What are the various ways to deploy the Smart Agent?  Yes, one Smart Agent is needed on every host that has applications participating in APM, as it will manage the application agents. Installation methods include: manual installation use the AppDynamics-provided Ansible playbook meant for Smart Agent use existing agent playbooks use Smart Agent CLI for bulk rollouts of the Smart Agent   Are older agents removed when agents are upgraded?  When agents are upgraded, one prior version of the agent is backed up for use in the event of a rollback.      What network configurations and host permissions are required between host and Controller, as well as access to the internet?  Network configurations and host permissions  Install time  Root permission: Most package managers have an implicit root permission requirement due to needing to write to /etc/environment. When a user has a package manager they use to install without root/sudo, then that will be supported.  Runtime  Depending on which agents are being managed, either root or an account with necessary permissions is required for runtime.  Neither Java nor Node.js require root during runtime.   Machine Agent, Python, PHP, and Webserver all require root, with or without the Smart Agent. Network point of view   CSaaS: The port to connect the Smart Agent to is the same as the port other agents connect on. No new port is exposed. 443/80 are the ports for agents as well as Smart Agent now. On-Prem: A different port, -8030, is used for On-prem    What is the minimum language agent version required for Smart Agent to work?   If you are running agents on a supported version of the technology, agent management through Smart Agent will just work.   In the case of technologies that are End of Life (such as Java 6), Agent Management is not supported. Agent compatibility is the same regardless of how they are installed or managed.   This is not a Controller release requirement because we are just managing agents.   Is unidirectional or bi-directional network communication used with Smart Agent?  Smart Agent uses unidirectional Agent-Controller network communications.  Back to TOC   Strategy...  FORUM LINK | Join the discussion on this topic How does Smart Agent address managing hundreds of new and/or existing agents?  Smart Agent is aimed at supporting existing customers with thousands of agents, without their having to uninstall or replace them.    How does Smart Agent work?   With the Smart Agent, you will automatically be shown all existing agents communicating with the existing Controller. So, there is nothing you need to do before gaining immediate value. Agents will appear on the UI and show whether or not the Smart Agent is also a part of that system. If you add a Smart Agent to these machines, this enhancement gives you the additional options to install, upgrade, and rollback.     Can you install and upgrade Smart Agent via Controller UI?  While initial Smart Agent installation is not available via UI—once Smart Agent is installed, you can upgrade it via the Controller UI. Additionally, you can install the Smart Agent through the CLI.    Is there a way to install Smart Agent at the centralized location and manage the agents remotely?   No; Smart Agent should reside on every host that needs to be managed. However, with the CLI, one can manage Smart Agent tasks remotely.    Would Simplified agent management deployments using Smart Agent still require application restarts for the newly deployed agent?  Yes, Simplified agent management simply orchestrates the agent deployments, updates, and rollback operations. Since agents themselves require a restart, the intent for Agent management is to also manage the automation for that aspect but Smart Agent will not restart the applications themselves.    Does Smart Agent have the option of deploying a custom customer agent build—for example on AIX-install that bundles customer JRE, etc.?  Not in this first release. We are working towards testing this in the next release.    What are the differences between the .NET Config Management tool, Smart Agent, and agent management?  Agent management is a set of solutions we offer to customers to simplify agent lifecycle management. Smart Agent is a part of agent management that manages agents on the host.   .NET Config management helps with config file management of .NET agents on machines.    What will happen if the user has FSO Operator and Collector installed on a Cluster and the user is trying to install the Cluster Agent on the same cluster?  The Cluster agent is outside the scope of this release but is being discussed for a later release. Should you need clustering support, the CLI can be used during build time.  Back to TOC   Tooling Pipeline Guidelines  FORUM LINK | Join the discussion on this topic Does this support existing CI/CD pipelines?  Yes, indeed...you can integrate into an existing CI/CD pipeline and are encouraged to do so. Scripting is supported by this effort, and, with the Controller UI release, we are focusing more on supporting larger existing deployments with the capability of adding a Smart Agent to help manage upgrade, rollback, and deployment needs. In a subsequent phase, users will be able to take full advantage of auto-discovery, where all they will do is install Smart Agent, and it will automatically detect which applications need instrumenting then apply the appropriate instrumentation based on those applications’ needs.    How does the Agent Management's UI link to our requirement of using Ansible, Chef, Puppet, etc.?  The scripts serve the CI/CD use case. Though the Agent Management console will use Ansible scripts under the hood, users will not need to engage with scripts.     What prerequisites do users need to adapt? For example, must they have Ansible Tower, a specific PoP, or have used Ansible scripts?  To get started, install a single Smart Agent on each respective host as a one-time activity. After this manual or scripted installation, subsequent maintenance of the Smart Agent can be accomplished from the UI through Upgrades.  There is no Ansible requirement.  Back to TOC   Agent Management User Interface  FORUM LINK | Join the discussion on this topic How do I know whether the Smart Agent is installed?  If the Smart Agent is installed, you can view it on the Controller Agent Management console/UI.    Can we to schedule upgrades?  Though upgrade scheduling is not part of this release, there are plans to provide this functionality in a later release.    What about RBAC?   Role-based access permissions that can be assigned to users will be available in the next release:  ITOPS Admin – can perform all the operations for all the applications.  AppOps Owner – has permission to perform actions to only their application.  DevOps – can view inventory for their applications but can’t perform any operations.    Can data in the Agent Management Controller page be exported?  Yes. You can export the data in the Agent Management Controller with the export grid function.    Will we be able to modify app, tier, and node names for the agents in the Controller?  Yes, you will be able to modify app, tier, and node names in the Controller.     Does the User Interface include information that will help me understand when agents were installed or updated—for instance, a date or timestamp?  Yes.    Is there an option for bulk installing and upgrading Java Agent, Machine Agent, EUM, and others together?  You cannot install different agents at the same time, nor can you perform bulk upgrades of different types at the same time. You can only install or upgrade one type of agent in bulk, like all Java agents.  Can we monitor the uptime of Smart Agent as we do for the app agents? If so, can we create health rules on Smart Agent uptime?  This release doesn’t have Smart Agent self-monitoring. However, we are planning to add this feature in the subsequent phases.    Can we group agents by policy, in such a way as to enable one config change for multiple agents at once?   For example, "AWS Linux 2.0" or "Application Servers"? We are considering whether to tag the hosts in a later release.   In cases where app owners also own the servers, how can clashes between Controller and server admins be avoided?  If the agent is currently being updated and someone tries to update the same agent while the upgrade is in progress, they will receive a warning notification. HTTP_PROXY can be set as an env variable in the Smart Agent, and it would be honored.    How will Smart Agent work for applications like WebSphere, where the JA is passed via User Interface only, or via wrapper only? You can provide values in the Additional Config section.    Do we have an Auditing Capability?  Not at this time. We intend to include auditing capability in an upcoming release.  Is there a rollback-to-the-last-version capability in case a mass rollout causes unintended monitoring issues? Yes, this is a part of the v23.11.0 release.  What tools are available to support troubleshooting failed agent installations and upgrades? Yes, readable deployment and upgrade logs are available in the Ansible if the Controller is using Ansible, or through the UI when using the UI with the Smart Agent.    For SaaS or On-prem cases, can I customize the location from which deployment images are sourced? What security will be placed around selected images and Image repositories? An upcoming release will enable customers to stage deployment from a customized location, which should also support security concerns.  Back to TOC   Can we use the same Smart Agent for Kubernetes deployments?  No, Smart Agent cannot yet be used in Kubernetes deployments.   However, Smart Agent CLI can be used in container deployments with Docker. It provides a uniform automated way of installing App agents into containers during build times.    Can we upgrade two PHP agents running on the same server for different PHP runtime versions with Smart Agent?  Yes.  Back to TOC   Getting Started: Installation FORUM LINK | Join the discussion on this topic Would the customer be able to install the agents manually even if the Smart Agent is installed on those hosts?  Yes. Since they are registered to the Controller upon installing them manually, the agents will then be able to be managed by the Smart Agent as well.     Does the CLI tool use SSH?  Yes, CLI uses SSH or WinRM in the case of remote host Smart Agent installations.     Do you need to deploy an SSH certificate to use Smart Agent?  No certificate exchange is involved with regard to Smart Agent.    Does the Smart Agent require root access or the creation of a user or group? If so, which agents are affected? Does this user have sudo privileges? Yes, it uses root. This is because some of the agents - Python, PHP, Apache, and Machine Agent are currently installed as root. So, for Smart Agent to manage these agents, we need root permissions. If the host only has Java or Node.js Agents, then we need not have root access to run them.   During agent installation or upgrade using Smart Agent, does it also restart the applications? Or will there be an option to restart applications?  No, application restarts are not included.  Back to TOC   Custom configuration files, monitors, and extensions  FORUM LINK | Join the discussion on this topic During brownfield deployment, how are extensions or monitors going to be managed—for example, Analytics Agent as an extension to Machine Agent.  Machine Agent extensions are carried forward to the next version during upgrades. This release does not offer management to extensions on their own. The Analytics Agent is not supported in the v23.11.0 release. For the latest information, see the Supported Agents section in the documentation.    During a brownfield deployment, does Smart Agent retain existing custom config changes on the agent—correlation XML, ISDK deployed?  Yes.  Back to TOC   Additional resources  In the Community Smart Agent lifecycle management reimagined Exploring an APM agent upgrade scenario with Smart Agent  Exploring an APM agent installation scenario with Smart Agent  Smart Agent: How easy is it? — a short, clickable demo NEW! Just one Smart Agent: unlimited agent lifecycle control — overview video (9 minutes) Smart Agent Forum — add your own comments and insights here In the Documentation: Agent Management documentation  Smart Agent documentation  Smart Agent Quick Start Guide  Smart Agent Command Line Utility (CLI) documentation  
Real-world scenario: With Smart Agent installed, what is the 4-step process to install supported agents?  This article shows a real-world example of how to use Smart Agent to install APM agents, ... See more...
Real-world scenario: With Smart Agent installed, what is the 4-step process to install supported agents?  This article shows a real-world example of how to use Smart Agent to install APM agents, using the installation of a new Java Agent as an example. It covers prerequisites and shows what you might expect in the process as well as the presented scenario.    NOTE | For information about installing Smart Agent itself, start with the Smart Agent page, then choose Quick Start or Get Started. In this article...  How do I use the Smart Agent to install APM agents through the Controller UI? Notes about this installation example  Supporting clustering scenarios  Additional resources     How do I use the Smart Agent to install APM agents through the Controller UI?  Let us say you want to install a new Java agent. As a prerequisite, the Smart Agent must already be installed on the host.   NOTE | If other agents are already installed on the host, the Smart Agent will be able to manage them as well. However, in the scenario we’re describing here, we want to push an agent install from the user interface. Using the Smart Agent will provide a much simpler process. From the main Agent Management menu, click Install Agent then click the agent type. In our scenario, Java.   Figure 1 - Installing the Java Agent through UI Then, select where to deploy the agent. Choose the host and then select the application, tier name, etc. Smart Agent makes scaling easy by supporting the ability to import host details from a CSV file.     Next, look over configuration options and modify them with the appropriate application, tier, and node name depending on your needs. You have control over which agent version you want to choose (default is the latest).  Finally, depending on the application, you will need to modify the application startup parameters so that when the application is restarted, the agents start to collect the data. As of the November 2023 release, the Smart Agent supports auto-attaching to Java and Node.JS applications.  PLEASE NOTE | To avoid unanticipated application disruptions, changes will not take place until you restart your application.  And that is it! It does not get any simpler - your agents will begin to install onto their respective hosts.  Back to TOC   Notes about our Java installation scenario  If your Java application is written in Tomcat, Weblogic, Glassfish, or Spring, for example, you only need to restart your application. The just-installed new version of the agent will be auto-attached to the application with all the relevant start-up parameters.   If your application is written in another application, you must ensure the application startup parameters take account of the agent by following the respective settings in the documentation on the Install App Server Settings page.  How cool is that! Back to TOC   Supporting clustering scenarios  For the build-time workflows, customers can use our new Smart Agent CLI to integrate with an existing CI/CD pipeline. You can integrate with Jenkins, Docker or with a Terraform script.   Back to TOC   Additional resources  Smart Agent lifecycle management reimagined Exploring an APM agent upgrade scenario with Smart Agent  FAQ: Simplified agent management and Smart Agent Smart Agent: How easy is it? — a short, clickable demo Smart Agent Forum — add your own comments and insights here   In the Documentation, see: Agent Management > Smart Agent  Agent Management User Interface  Smart Agent Command Line Utility (CLI)   Supported Agents 
Real-world scenario: With Smart Agent installed, what is the 3-step process to upgrade supported agents?  Once you install Smart Agent, how do you upgrade your existing agents? In this article, see... See more...
Real-world scenario: With Smart Agent installed, what is the 3-step process to upgrade supported agents?  Once you install Smart Agent, how do you upgrade your existing agents? In this article, see the three steps you will follow to upgrade and orchestrate agents using Smart Agent and the Controller user interface.   Though the real-world scenario described here is about software compliance standards, this process applies to any supported agent upgrade once Smart Agent is installed.  Need to roll back to the previous agent? That is also discussed here.    In this article...  Example Scenario: Adhering to Software Compliance Standards Step 1. Filter by agent status  Step 2. Select an agent upgrade option Default upgrade | Custom upgrade Step 3. Monitor progress and respond as needed  Automatic agent rollback  Additional resources  Knowledge Base articles | Documentation   Example Scenario: Adhering to Software Compliance Standards Say you need to adhere to software compliance standards in which software cannot be older than one year. In this scenario, an inventory must be reported and then remediated to meet compliance as needed.  NOTE | Once Smart Agent is installed, the following steps also apply to any supported agent upgrade Back to TOC Step 1. Filter by agent status  With simplified agent management using  Smart Agent and central UI controls, you just have to filter by agent status, select all the agents of the same type, and then click on upgrade.   One or many? The process is the same, and because you have installed the Smart Agent, orchestration happens on your behalf.  PLEASE NOTE | Bulk upgrades are only supported for the same type at a time; i.e., all Java or all PHP. You cannot perform a bulk upgrade against Java and PHP in the same thread.   You just need to choose which agents to act on and allow AppDynamics to orchestrate the rest!  Back to TOC Step 2. Select an agent upgrade option  Once the list of agents has been selected and the action for upgrades has been initiated, you will have two options for upgrading agents: default and custom.   The default upgrade option entails simply using the latest version, retaining all the previous configuration settings, and using the AppDynamics Downloads portal.   Figure 1 – Default upgrade options   The custom upgrade option allows you to choose which agent version is appropriate and make other configuration changes you want to send to the agents. You can also leverage a local directory to distribute the agents—a best practice if you are upgrading many agents.  PLEASE NOTE | Due to release cadences, custom upgrade options may differ, and not all options may be initially available. This feature is being rolled out in phases, so if an option does not appear, or is not enabled, please check back later or reach out to your SE and ask that they request a priority.    Step 3. Monitor progress and respond as needed  You can monitor the progress in a Tasks In Progress menu, which includes a log file should troubleshooting be necessary through the process. Once the task is executed, you can go to the History menu, where you can see the status of the upgrade and, again, get more information about the upgrades from a log file.  Back to TOC Agent Rollback  If the upgrades don’t go as expected, you can roll back agents to the previous version. Again, this is orchestrated through the user interface in conjunction with the Smart Agent.   Now that makes sense!  Back to TOC   Additional resources  Community:  Smart Agent reimagines agent lifecycle management  FAQ: Simplified agent management and Smart Agent Exploring an APM agent installation scenario with Smart Agent Smart Agent: How easy is it? — a short, clickable demo Smart Agent Forum — add your own comments and insights here In the Documentation, see: Agent Management > Smart Agent  Agent Management User Interface  Smart Agent Command Line Utility (CLI)   Supported Agents Back to TOC
Cisco AppDynamics unveils our robust new agent lifecycle management solution and its benefits  In November, we released a robust agent lifecycle management solution that leverages a Smart Agent whi... See more...
Cisco AppDynamics unveils our robust new agent lifecycle management solution and its benefits  In November, we released a robust agent lifecycle management solution that leverages a Smart Agent which orchestrates the entire agent lifecycle management tasks through an improved centralized user interface and advanced Smart Agent CLI.  One Smart Agent is installed on a host that can manage the Machine Agent and any number of APM agents that are running on the same host. Each host running applications for APM just needs one Smart Agent.   Instantly identify agent versions with Smart Agent. Do you need to meet compliance requirements? Smart Agent supports your immediate adherence. Execute necessary upgrades automatically and at scale. Benefit from readily available detailed historical records that enhance transparency and foster trust. Smart Agent's capabilities are specifically designed to cater to agile environments with speed and efficiency. This solution focuses on three main areas:   Accelerates Time-to-Value with faster deployments and easier upgrades, reducing time and effort   Simplifies software compliance with agent version auditing, bulk upgrades, and rollback  Increases agility to employ the latest functionality, future-proofing your investment    In this article...  What is included in agent lifecycle management? Agent Status | Inventory Management | Filtering | Reports | Automation | Logging CLI for advanced functionality  How does SmartAgent work? Supported environments | Preliminary requirements | Agent management user interface What's next in agent management? Additional resources Updated 1/24/24 Back to TOC   What is included in agent management functionality? For those looking to simplify their agent lifecycle management tasks, the November 2023 release of the Smart Agent, with the improved agent management user interface, brings the following insights and functionality regarding Agent status, inventory management, filtering, reports, and logging: Agent Status, Inventory Management, Filtering, Reports, Automation, Logging, CLI for advanced functionality. Back to TOC   Agent Status  Clearly understand the agent’s state, such as:  Agent Status with Smart Agent Latest  Know when the agents are healthy and in compliance  Update available  Be informed when updates that are applicable to your running environment(s)  are available, such as when an enhancement or patch was issued  Out of date  Know which Agents are no longer supported, have extended their support life (generally, >1+ year old), or are identified for urgent update  Unknown  Know whether an agent’s state is unknown, to address immediately  Back to TOC Inventory Management  Gain a holistic overview of the agent lifecycle and environment, including:  Smart Agent Inventory Management  Agent mapping  Know which application, tier, and node the agents support  Agent version  Per agent, easily know what versions are running  Smart Agent  Know whether the agent is being managed by Smart Agent  Monitoring status Know whether the agents are actively monitoring applications, or whether they are disabled (meaning no collection is taking place)  Back to TOC Filtering capabilities  Zero in on which agents or environments need to be investigated, for example, during compliance investigations.  Back to TOC Report generation  Export a data grid of the entire agent inventory environment into a CSV format for use in other reporting programs.  Back to TOC Automation capabilities  Efficiently install and upgrade at scale and execute other bulk actions such as rolling back failed upgrades or choosing the appropriate version. Back to TOC Logging  Address common upgrade challenges with historical logs that aid in troubleshooting, should upgrades not be successful.   Back to TOC Utilizing CLI for Advanced Functionality in RedHat and Debian Deployments  For more advanced functionality, a CLI can be used for RedHat and Debian deployments, which provides capabilities that can be incorporated into an existing workstream to perform functions such as:  Support deployments during build time, such as when you install the agent when building the application environment for a cluster.  Provide deployment options for both the Smart Agent itself and language/machine agents.  Leverage an attach-configure-file that will ensure the application is instrumented accordingly upon application restart.  Install, update, configure, rollback, and uninstall agents with advanced control options such as agent version, where to download, connection options (i.e., SSH), install directory, and more! Keep reading to understand how all this works, and where we are going!  Back to TOC   How it works  To get started, you will need to install a single Smart Agent on each host machine running applications that need to be or are already being monitored. This installation process uses existing deployment methods for our other language library agents, or more appropriately the Machine Agent. As such, you can download the agent from our portal and then distribute it through your existing CI/CD tooling pipelines, or any method you prefer. For example, a JFrog Artifactory or distributed through the Smart Agent CLI. Once the Smart Agent is present on the host machine and has been registered with the Controller, which is nothing more than a simple configuration file change, you can carry out all the agent lifecycle management operations from within the user interface or through the Smart Agent CLI.   NOTE | See the details in the Documentation under Smart Agent, user interface, and Smart Agent CLI It’s just that simple!  Back to TOC Supported environments  Languages and infrastructure agents  As of the November 30, 2023 release, the following agents are supported:  Java  Node.js,   AppDynamics Machine Agent  Python  PHP   Webserver Check the documentation for the most up-to-date information.   AppDynamics Products  Smart Agent is available for both AppDynamics cSaaS and On-Premises version 23.11 (November 2023).   This solution does require both the Smart Agent and the updated Controller.  Deployments  Agent Management through a controller UI supports both greenfield and brownfield use cases. In either scenario, you will just simply need to install the Smart Agent, just once, on any machine hosting applications needing to be, or are currently being, monitored by AppDynamics.   Once that simple task is complete, the user interface will use the Smart Agent to orchestrate all the agent management operations that are necessary, though a Smart Agent CLI does exist.  Back to TOC   Preliminary requirements  To use the orchestration features through the improved user interface, you need admin user privileges. This allows you to manage agents via the UI. Also, the Smart Agent should be installed on any machine you want to manage.  Back to TOC Agent management user interface From Home, click Agent Management. You can also access Agent Management from the user profile menu selection (top right corner).  Figure 1 - Entry points to Agent Management Back to TOC Existing agent inventory  Once on the Agent Management home page, you can view the inventory of all your existing agents. You will quickly see the status of all your agents, whether they are out-of-date or need to be updated, for example. You will also see, and can filter by, the agent type, its version, and which application, tier, or node it applies to, or whether they are being managed by the Smart Agent.   Figure 2 - Main Agent Management menu Back to TOC What’s next in agent management?  Very shortly, we will be providing auto-discovery capabilities that reduce the need for deep application or domain knowledge. By enabling operations teams with the information as to which applications are running on a host, and what language they are written in, any guesswork is practically eliminated. This reduces the enormous amount of effort typically involved with onboarding new applications for APM, which also alleviates the overhead from needing to engage multiple teams that have deeper domain knowledge. With the auto-discovery aspect of Smart Agent, your team will be sure and become more efficient and effective. Additionally, look for upcoming features like scheduling tasks. Back to TOC Additional resources Stay tuned for upcoming articles that explore agent lifecycle management. Meanwhile, do explore this initial series here in the Knowledge Base.  Exploring an APM agent upgrade scenario with Smart Agent  Exploring an APM agent installation scenario with Smart Agent  FAQ: Simplified agent management and Smart Agent  Smart Agent: How easy is it? — a short, clickable demo NEW! Just one Smart Agent: unlimited agent lifecycle control — overview video (9 minutes) Don't miss the Smart Agent forum to find more content, weigh in on discussions, and ask your own questions. See more information in the Documentation: Agent Management > Smart Agent  Agent Management User Interface  Smart Agent Command Line Utility (CLI)   Supported Agents