All TKB Articles in Learn Splunk

Learn Splunk

All TKB Articles in Learn Splunk

ABAP Agent upgrade can result in job loss when performed out of recommended order Before upgrading to AppDynamics ABAP Agent v4.4.1812 or newer, it is critical to follow the official upgrade proc... See more...
ABAP Agent upgrade can result in job loss when performed out of recommended order Before upgrading to AppDynamics ABAP Agent v4.4.1812 or newer, it is critical to follow the official upgrade procedure outlined in SAP Monitoring using AppDynamics, under Upgrade or Uninstall the solution. If the order of instructions in the guide is not followed, installing or upgrading the ABAP Agent may lead to issues including loss of saved background jobs. If you’re on an affected version and also use report ‘BTCTRNS1’, the bug will be triggered when you deactivate the ABAP Agent ( /DVD/APPD_CUST -> Deactivate integration ) in the wrong order. WATCH THIS SPACE FOR UPDATES To subscribe to this topic, click the 3-dot menu on the right  (Check Settings to manage your subscriptions) In this article... How can I avoid background job deletion when upgrading the ABAP Agent? What can I do after a loss of saved background jobs? Additional Resources How can I avoid background job deletion when upgrading the ABAP Agent? When upgrading from ABAP Agent v4.4.1812 or newer, it is critical to follow the official upgrade procedure outlined in the SAP Monitoring using AppDynamics documentation, under Upgrade or Uninstall the solution. If you have already upgraded and are unsure whether that installation deviated from the published instructions, here are steps you can take to confirm the safety of your saved background jobs: Check to see whether there are any suspended jobs in TBTCO, using SE16 to validate that there are no jobs with a status of 'Z' If there are no suspended jobs reported, the AppDynamics agent integration can be disabled If there are suspended jobs, execute BTCTRNS2 to restart the suspended jobs briefly and then disable the AppDynamics agent integration Execute BTCTRNS1 to set all released background jobs (status = 'S') back to suspended (status = 'Z')   Run the upgrades/activities as usual Execute BTCTRNS2 to re-enable suspended background jobs Re-enable the AppD integration What can I do after a loss of saved background jobs? If the Upgrade or Uninstall the solution instructions were not followed and background jobs were lost, here are some suggestions on the best ways to best address the issue: The most direct solution is to temporarily restore a backup of this system and get the list of all scheduled jobs either from t-code SM37 or directly from tables such as TBTCO, TBTCS, TBTCP. Once the list of jobs is obtained, restore in the live system. If that is not possible, check SAP note 850885. If job deletion logging was active, the logs may contain the list of jobs that were deleted. If that is not possible, make sure to create a backup of tables TBTCO, TBTCS and TBTCP ASAP before SAP standard housekeeping purges too much data from these tables. Then check t-code SM37 for previously finished background jobs and use the information to recreate scheduled jobs.  NOTE | This process will not cover infrequent scheduled jobs (monthly, annual) that have not run recently, since SAP standard housekeeping only holds a list of finished background jobs up to a few weeks old If you have encountered this error, there is not much our L2/L3 support channel can help with at this time—but you can raise a Support ticket for the ABAP Agent, for incident tracking purposes.  Additional Resources Introducing AppDynamics for SAP SAP Monitoring FAQs — ABAP Agent
A complete checklist for upgrading platform components NOTE: The information in this article is not release-specific. You can reference it for any release. To make sure you complete all th... See more...
A complete checklist for upgrading platform components NOTE: The information in this article is not release-specific. You can reference it for any release. To make sure you complete all the tasks necessary for upgrading platform components after a release, we recommend following the upgrade checklist instructions below.  Table of Contents Prepare to upgrade your platform components Plan your platform component upgrade  Step 1: Upgrade the Enterprise Console Step 2: Upgrade the Events Service Single-node install or manual upgrade? Step 3: Upgrade the EUM Server Step 4: Back up the Controller Step 5: Upgrade the Controller with the Enterprise Console Troubleshooting Additional Resources Prepare to upgrade your platform components Review the Product Announcements and Alerts page for details on any intermediate versions between the current version of your instance and the version you are targeting. Review either of the following to confirm the compatibility of the various components of your AppDynamics environment: Knowledge Base article: How do I get started with upgrading my AppDynamics components for any release?, especially the component compatibility matrix Technical documentation: Agent and Controller Compatibility Plan your platform component upgrade Before upgrading to a newer version of the platform, complete the tasks outlined in the Update Product Components documentation. To ensure all data is transferred properly, perform your upgrades in the specific recommended order for the components you’re using: Step 1. Upgrade the Enterprise Console Start with a review of the Upgrade the Enterprise Console documentation. To determine the requirements, review the Controller system requirements and increase your hardware resources if necessary.   Step 2. Upgrade the Events Service   Do I need a single node install or a manual upgrade? The Enterprise Console supports the installation of the Events Service on a Windows environment for a single node install. If you have several remote nodes, you will need to do a manual upgrade of the Events Service cluster and set the keys manually. For instructions on connecting to the Events Service, see the End-User Monitoring Connection Settings documentation. Note: Even though the Enterprise Console will set and sync the keys between the Controller and Events Service, we still recommend confirming that the keys were synced correctly: appdynamics.on.premise.event.service.key == ad.accountmanager.key.controller Note: If you're upgrading the Events Service using the Enterprise Console, you don't need to stop the Events Service. Complete the Events Service upgrade Follow the Upgrade the Events Service documentation to complete the Events Service upgrade. Step 3. Upgrade the EUM Server See Upgrade the EUM Server for instructions on upgrading an EUM Server. Step 4. Back up the Controller Complete a full backup of the Controller. Refer to Back up the Existing Controller for instructions. Step 5. Upgrade the Controller with the Enterprise Console   Final Upgrade Considerations Before completing the upgrade process, review the following and implement as appropriate:   Upgrading an HA Pair If you're upgrading an HA pair, we recommend upgrading via CLI using the phased upgrade method (new in v4.5.6). This allows you to retain the Controllers' HA roles so that the primary and secondary roles do not switch after the upgrade.   You can also check the status of your primary Controller before upgrading the secondary. If you encounter any issues during or post-upgrade, you can roll back by promoting and failing over to the preserved, secondary Controller.    Though we recommend the phased upgrade method, it is also possible to use GUI or the old CLI method to upgrade your HA pair.   Upgrading from a small to an extra-large deployment You can directly upgrade from small/demo deployments to large/extra large deployments. See the Tuning for Large Profile Controller documentation for instructions on preparing a large deployment.   Be sure to check the Controller’s database.log Check the Controller&rs database.log for any errors during this process. You can find the log at <controller_home>/db/logs/database.log> . There should not be any InnoDB: Error lines in the log from the last startup. If any errors are found, contact AppDynamics Support before attempting the upgrade. Upgrading the Controller with a corrupt database may put the Controller in a bad state with a high recovery time.   Upgrade the Controller with the Enterprise Console Once you’ve resolved the preceding considerations and completed the outlined steps, refer to the Upgrade the Controller using the Enterprise Console documentation to perform and complete the upgrade. Troubleshooting In the event of an error condition, follow the troubleshooting steps in the Troubleshoot the Upgrade documentation. If you experience an error condition when upgrading a platform component, please go to www.appdynamics.com/support, scroll to the AppDynamics Support section, and click Support Portal. Additional Resources How do I get started with upgrading my AppDynamics components?
A complete checklist and compatibility matrices for Controller, Agents, and platform components NOTE: The information in this article is not release-specific. You can reference it for any relea... See more...
A complete checklist and compatibility matrices for Controller, Agents, and platform components NOTE: The information in this article is not release-specific. You can reference it for any release. Before you upgrade your Controller, you’ll want to be familiar with how the new Controller version you’re targeting interacts with the Agents in your environment.  How does the version compatibility for Controllers and component agents map to your environment? Are there interim versions you need to consider? Do you know where to find reference information and instructions so you can upgrade those components successfully? To ensure you know the steps to follow for a successful release upgrade, we recommend starting with this article and then following the instructions in our upgrade checklists (links available below). In this article... Things to do before you begin: Review Product Announcements and Alerts  Review Agent-to-Controller version compatibility grids  Database Agent-to-Controller Version Compatibility  Other Compatibility Considerations:   On-premises Compatibility Agent Backward Compatibility  How do you determine your Controller version? Next Steps: Checklists for upgrading each component  Before you begin, be sure to conduct a compatibility review Before upgrading any component, we recommend you review available information about version compatibility between the target Controller and all the Agents relevant to your environment: ✓ Product Announcements and Alerts ✓ Version Compatibility Matrices ✓ Compendium of Upgrade Checklist Articles Review Product Announcements and Alerts Review the Product Announcements and Alerts page to discover and understand the details of upgrading any intermediate versions between your current Controller version and the one you’re targeting. Review Agent-to-Controller version compatibility grids Review the Agent-to-Controller and Database Agent-to-Controller compatibility grids below for various components of the AppDynamics environment.  NOTE: For complete details about component compatibility, see our Community and technical documentation. AGENTS SUPPORTED CONTROLLER VERSIONS v4.3.x v4.4.x v4.5.x v20.3 - future releases Analytics The Analytics Agent’s version should be: less than or equal to the Controller’s version and also less than or equal to the Event Service version Apache Web Server  The Apache Web Server Agent’s version should be less than or equal to the Controller’s version Java 4.x - 4.3 4.4.1 - 20.x (1) 4.5 - 20.x  (1)  4.4 - 20.x  (1)(2) JavaScript (ADRUM) The JavaScript Agent’s (ADRUM) version should be less than or equal to the EUM Server version Machine 4.x - 4.3 4.4.1 - 20.x (1) 4.5 - 20.x  (1)  4.4 - 20.x  (1)(2) .NET 4.x - 4.3 4.4.1 - 20.x (1) 4.5 - 20.x  (1)  4.4 - 20.x  (1)(2) (1) Controller version supports through the most recent released Agent version (2) Controller version does not support Agent version 4.1 Database Agent-to-Controller Version Compatibility NOTE: The AppDynamics DB Agent isn’t backward compatible. Its version should be less than or equal to the Controller version. DB Agent-to- Controller Compatibility SUPPORTED CONTROLLER VERSIONS v4.3 v4.4 v4.5 v20.3 -future releases DB Agent 4.1-4.3 (1) 4.1-4.4  (1) 4.1-4.5  (1) 4.1 - 20.x (1)(2) (1) Controller version supports through the most recently released Database Agent version (2)  DB Agent is only compatible up to its corresponding Controller version Other compatibility considerations On-premises compatibility Things to keep in mind when you have an on-premises deployment: The Controller version should be less than or equal to the EUM Server version, and should also be less than or equal to Events Service version The EUM Server version should be less than or equal to the Events Service version The Java Script Agent version should be less than or equal to the EUM Server's version Agent backward compatibility Starting with release v.4.5x, backward compatibility is supported on the following agents: Java .NET Node.js PHP Python Go SDK C/C++ Machine How do you determine your Controller version? On your Controller’s Home page, click the Settings gear on the upper right. Then click About AppDynamics above the logout option. Home > Overview > Settings > then click About AppDynamics   A dialog box with the Controller’s current version and build will appear. "About AppDynamics” dialog box, headed by the Controller version and build   Next Steps: Checklists for upgrading each component After following the recommendations in this article, refer to the relevant upgrade checklists for each type of AppDynamics component:  NOTE: These guides are not release-specific and can be referenced for any release. How do I get started with upgrading platform components? How do I get started with upgrading Machine Agents? How do I get started with upgrading Java Agents? How do I get started with upgrading .NET Agents? How do I get started with upgrading dynamic language agents? How do I get started with upgrading Analytics Agents? How do I get started with upgrading Database Agents How do I get started with upgrading EUM servers, agents, and SDKs Last Updated: 7/20/20
How do I use the getter method and a data collector to return objects from a list? To get an object from a list, you will add the getter method that returns the evaluated value, then add the data ... See more...
How do I use the getter method and a data collector to return objects from a list? To get an object from a list, you will add the getter method that returns the evaluated value, then add the data collector to that method.  Table of Contents Steps for getting an object from the list  Additional Resources Steps for getting the object from the list Please review the following steps as well as the reference (For example, it is assumed that getActionType and getResultMessage are implemented.) On your SaaS Controller web page, navigate to Configuration > Instrumentation. Click the Data Collector tab. Below the Method Invocation Data Collectors panel, click the Add button. Input the following fields: <Example> Name: MyDataCollector Class: with a class name that equals MyApplication.mynamespace.myclass Method Name: Mymethod Match Conditions: Collect Data From: Method Parameter @index:0 Operation on Method Parameter: Use Getter Chain: getActionType() Equals: Settle and click the Save button.   Below the Specify the Data to Collect from this Method invocation panel, click the Add button. Input the following fields: <Example> Display Name: MyDataCollector Collect Data From : Method Parameter @index:0 Operation on Method Parameter: Use Getter Chain: getResultMessage() and click the Save button. For the changes to take effect, wait for a full minute, then restart. Additional Resources Data Collectors  Using Getter Chains
Table of Contents On-Premises/SaaS Security/Passwords Selecting Elements Snapshots Supported Features Troubleshooting See also Synthetic Scripts FAQ (Part I). On-Premises/SaaS ... See more...
Table of Contents On-Premises/SaaS Security/Passwords Selecting Elements Snapshots Supported Features Troubleshooting See also Synthetic Scripts FAQ (Part I). On-Premises/SaaS What are the supported on-premises/SaaS/hybrid configurations? Controller Web Mobile/RUM Synthetic SaaS SaaS SaaS On-premises (v4.5.4+) On-premises (v4.5.4+) On-premises (v4.5.4+) Back to the top Security/Passwords Do you have an encrypted store for passwords? Yes. The Synthetic Credential Vault securely stores credentials used for synthetic jobs. When you create a synthetic job with a synthetic script, you can retrieve a stored key/value credential pair, like a username and password, and inject the credential into the synthetic script. Then, when the synthetic job runs, the synthetic script executes and retrieves the credentials stored in the Synthetic Credential Vault. See our documentation to learn more about the Synthetic Credential Vault. Are scripts and test results transferred securely? The short answer is that scripts and their results always go over encrypted channels. The scripts and results are stored in clear text in various databases, so a database breach could compromise the information, but, of course, we try very hard to prevent database breaches. For the long answer, see the summary of the data path of a script and its results below. (Foo) denotes data at rest. Script -> UI -> Controller -> EUM SaaS services -> (EUM SaaS database) -> Test driver service. Test driver service connects to PoP machine with an encrypted channel and sends WebDriver commands to the PoP, driving the browser. The browser connects to a website and imitates a user. Instrumentation hook gathers data from the browser and sends it to an EUM SaaS service. Now we have a test result. Test result -> EUM SaaS service -> (metric store, event store, and EUM SaaS database) -> controller -> UI. Each of the -> links uses HTTPS, with two possible exceptions which are determined by the user: If you use an on-premises controller, security between the browser and controller is your responsibility. In other words, don't allow non-HTTPS connections to your controller. Security between the test browser and your website is your responsibility. Consequently, your script should connect to your site over HTTPS. How can I retrieve passwords from a secure server, not hard-code them in the script? If you can write Python code to do something using the standard libraries, you can do that in your script. For example, you can use Python's requests library to make REST calls to fetch a password. Back to the top Selecting Elements How do I click on an element in an iFrame (for instance to handle a pop-up)? You can wait for the iFrame element to be clickable as shown in the snippet below. from selenium.common.exceptions import TimeoutException # Cancel an advert pop-up in an iframe # Find the right iframe frame = wait.until(EC.element_to_be_clickable((By.XPATH,'//xpath-to-your-iframe]'))) # Move into the iframe driver.switch_to_frame(frame) # Close the pop-up wait.until(EC.element_to_be_clickable((By.XPATH,'/xpath-to-element/i'))).click() # Move to the default content driver.switch_to_default_content() Back to the top Snapshots What is the retention period of snapshots? Snapshots are retained for two weeks. Can the retention period of a snapshot be extended beyond the default? No, the snapshot retention period cannot currently be extended on SaaS. Back to the top Supported Features Can Synthetics be used for API testing/monitoring? Though synthetic web monitoring can be used to monitor APIs, it is not officially supported. Synthetic API monitoring is part of our roadmap: watch this space for updates.  If the customer's use case involves monitoring the API from inside their network, then Service Availability is the preferred solution.  Monitoring from outside their network is not an option at this time. Is virtual page naming (for single-page apps) supported in Synthetics? Virtual pages are not yet supported in Synthetic (possible future feature), so virtual page naming is not supported. Are JavaScript popups such as those created with window.alert or window.prompt supported? Yes, JavaScript popups created with window.alert or window.prompt are fully supported. Are multiple windows, as in multiple HTML documents loading either in different tabs or windows, supported? Multiple windows or tabs with loaded HTML documents are only partially supported. You can create scripts to handle multiple windows, but the session results will combine the waterfall metrics and the resources from all of the windows into one page. Thus, you will not be able to view the individual results for each browser window. Back to the top Troubleshooting How do I debug my script? We recommend doing your initial debugging locally: that’s always the easiest place to debug. We capture the stdout and stderr streams from your script, so you can debug that way. And we show partial sessions for scripts that failed part-way through, so you can see what the browser did up until the script failed. How do you prevent timeouts in scripts? Timeouts in scripts can be prevented by explicitly waiting for specific element states (e.g., clickable). See also the paragraph Expected Conditions discussed in Explicit Waits. If something breaks, how can I tell if it’s my site, my job, or your infrastructure? If your script has an assertion failure, the session status is “Failed”, which indicates a problem with your site. If your script crashes, the session status is “Broken”, which indicates a problem with your script. If we can’t run your script, the session status is “Internal Error”. We hope you’ll never see that. For single-URL measurements, a 5xx is “Failed,” and a 4xx is “Broken”. Why are visual metrics (Visually Complete, Speed Index) not always present? There are currently two known issues regarding visual metrics: In some cases, Chrome sessions may not display visual metrics because of a bug. This typically happens on pages with JS redirects but may happen elsewhere as well. This is a Chrome-specific problem, and we are working on a solution. A Windows issue will sometimes prevent these metrics from being computed for all browsers. When this happens, the agent needs to be rebooted. This is infrequent because we get alerts and react as fast as possible. Back to the top
What do I need to know about downloading artifacts right from my Accounts page? Our artifact download experience allows you to seamlessly access and download binary right from your Accounts profil... See more...
What do I need to know about downloading artifacts right from my Accounts page? Our artifact download experience allows you to seamlessly access and download binary right from your Accounts profile without needing to navigate to the Downloads page. The Downloads link is right in Accounts'  left navigation bar. With our move to Accounts, both on-premises and SaaS customers will see only the artifacts relevant to their licenses. As of January 2021, the download.appdynamics.com URL will redirect to your Accounts page at accounts.appdynamics.com/downloads. In this article... Is the new Download experience available?  Why did the Download site move to Accounts? Will I need a specific role to access Downloads?  Will our CI/CD deployment change?  Why don’t I see Enterprise Console or EUM Server as options?  How do I know what agents are compatible with the version of the controller we have?  Who do I reach out to if I have further questions or problems?  Example of new Download experience within Accounts view, showing the Platform tab because user’s on-premises license(s) were detected Is the new Download experience available? Yes! The new Download experience, presented as part of Accounts, has been available since June 2020. Back to Contents Why did the Download site move to Accounts? Having a standalone experience for Downloads added effort to the user experience. Users had to remember yet another URL to visit and spend time trying to figure out which artifacts are compatible with the products they purchased and deployed.  By moving Downloads to Accounts, we addressed these issues with a personalized, centralized experience. This redesign also allowed us to address some usability issues that existed in the old experience. Back to Contents Will I need a specific role to access Downloads? You don't need a specific role. Every user with access to Accounts (regardless of role) will have access to the Downloads experience.  Back to Contents   Why don’t I see Enterprise Console or EUM Server as options to Download? By moving to Accounts, we can detect your licenses and show you only relevant artifacts.  If you’re a SaaS-only customer, Enterprise Console or EUM Server are not relevant to you. On-premises customers will see both Agents and Platform tabs (as in the screen image above). The  Enterprise console, Events Service, EUM Server, and Synthetic Server artifacts are shown in the Platform tab. Back to Contents Will our CI/CD deployment change? We only updated the Downloads UI, so there is no impact to your CI/CD deployment or any automation you may have already implemented. Back to Contents How do I know what agents are compatible with the version of the Controller we have? Use the provided Compatible with Controller version filter. To use it, select both the Controller version and the Agent(s) you want to download. The filter results will give you the latest Agent(s) version(s) compatible with your Controller version. Back to Contents Who do I reach out to if I have further questions or problems? If you have any further questions or problems, please contact our Customer Support team or visit the Accounts Overview page to see your Support agreement. Back to Contents
After Java Agent installation, there is an “unable to identify hostname” error and the Controller can’t connect to Windows When installing Java Agent for Windows, there is an "unable to identify... See more...
After Java Agent installation, there is an “unable to identify hostname” error and the Controller can’t connect to Windows When installing Java Agent for Windows, there is an "unable to identify hostname" Error when telnet is checked to Controller connection. Diagnostics To troubleshoot the issue, start by reviewing the following: Can your DNS resolve the SaaS Controller host name? To confirm this, review the result of command: " nslookup <YOUR HOST NAME HERE> ". ---<example>----- C:\Users\myaccount>nslookup mysaasaccount2020021717171312.saas.appdynamics.com Server: UnKnown Address: xxx.xx.xxx.xx Name: xxxxx.saas.appdynamics.com Addresses: xx.xx.xx.x Xx.xx.xx.x Aliases: mysaasaccount.saas.appdynamics.com.localdomain If the hostname successfully resolves, continue to step 2 of the diagnostics. Is your <controller-host> set in <agent_home>/verx.x.x.x.x/conf/controller-info.xml ? Be sure you have also set the property such as <application-name> , <tier-name> and <node-name> , to "Required:Yes" as described in the Java Agent Configuration Properties, Agent-Controller Communication Properties documentation. Do you use a proxy? If so, be sure to set the information in your system property as described in the Java Agent Configuration section of the Java Agent Configuration Properties documentation. Still experiencing a problem? Open a Support ticket where you’ll share the Agent log files—particularly the lines that show errors.
What are the recommended considerations and steps for patching nodes in Events Service? This article provides recommendations on how to safely patch an Events Service node. It includes an examp... See more...
What are the recommended considerations and steps for patching nodes in Events Service? This article provides recommendations on how to safely patch an Events Service node. It includes an example in which you must effectively stop a node for an extended period of time, and then return it to the cluster using either old index information or a fresh, clean node.  This article references the official Elasticsearch guidelines for Rolling Upgrades. As mentioned in Step 2 of these guidelines, due to time constraints, the administrator is asked to stop non-essential indexing as the node is being stopped. However, this step would not be recommended in a heavily active production cluster.  Additionally from the Events Service index management API perspective, using cluster.routing.allocation.enable “none” may lead to unintended consequences. For example, if time-consuming index creation and management tasks happen to occur between “none” and “all” settings, this may prevent indices from being created.  Table of Contents What should I consider before patching nodes in Events Service? What is the recommended process for rotating nodes? Considerations Steps for patching, upgrading, or removing nodes Additional Recommendations Troubleshooting What should I consider before patching nodes in the Events Service? When patching nodes in Events Service, consider the following practical limitations: Are there sufficient policy and practical application upgrade time windows? If the cluster is actively ingesting production monitoring data, you may not be able to stop indexing If a node was brought back with stale metadata and stale data, there is a potential for Elasticsearch synchronization error conditions (split-brain) There may be a performance impact from shard rebalancing that is required on active nodes which are performing ingestion and search functionality at the same time The possibility of a specific node not returning due to potential patch process failures Test results on recovery speed and safety of operation (which use combinations of disable and enable) may cause a split-brain scenario when changed: "cluster.routing.allocation.enable": "primaries" | “none” | “all” "cluster.routing.rebalance.enable": "primaries" | “none” | “all” "indices.recovery.max_bytes_per_sec": "1000mb" "cluster.routing.allocation.node_initial_primaries_recoveries": 1-10, "cluster.routing.allocation.cluster_concurrent_rebalance": 2-8, "cluster.routing.allocation.node_concurrent_recoveries": 2-8, "indices.recovery.concurrent_streams": 1-6 "cluster.routing.allocation.exclude._ip" What is the recommended process for rotating nodes? The AppDynamics Analytics team has adopted and recommends the following practice when rotating nodes in or out. Considerations After identifying the nodes to replace or upgrade in-place, consider the following, one node at a time: If you remove more than one node out of the cluster, you must temporarily remove shard allocation restrictions on all indices. The Events Service default is 3. Note: Do not leave the Events Service without shard allocation restrictions for an extended period of time. Please re-apply any shard restrictions immediately upon completing the patch or upgrade. curl -XPUT 'localhost:9200/*/_settings’ -d’ { "index": { "index.routing.allocation.total_shards_per_node" : -1 } }’ (Optional) You can increase the rebalancing and recovery speed: curl -XPUT localhost:9200/_cluster/settings -d' { "transient": { "indices.recovery.max_bytes_per_sec": "1000mb", "cluster.routing.allocation.node_initial_primaries_recoveries": 1, "cluster.routing.allocation.cluster_concurrent_rebalance": 2, "cluster.routing.allocation.node_concurrent_recoveries": 2, "indices.recovery.concurrent_streams": 6 } }’​ Steps for patching, upgrading, or removing nodes For each node in the cluster to patch, upgrade, or remove:  Retrieve the IP address node: curl -s 'http://localhost:9200/_cat/nodes?v' Exclude the single node from the cluster. Given the volume data stored on a single node, this may take a significant amount of time to complete. curl -XPUT localhost:9200/_cluster/settings -H 'Content-Type: application/json' -d '{ "transient" :{ "cluster.routing.allocation.exclude._ip" : "W.X.Y.Z" } }'​​ Wait for the process to complete and then verify that the excluded node has 0 shards. curl -s 'http://localhost:9200/_cat/allocation?v'​ From the Platform Admin or on the node itself, stop the node: <$PLATFORM_PATH>/product/events-service/processor/bin/events-service.sh stop​ Patch or replace the node. Remove the temporary node exclusion: curl -XPUT 'localhost:9200/_cluster/settings' -H 'Content-Type: application/json' -d '{ "transient" :{ "cluster.routing.allocation.exclude._ip" : "" } }'​ From the Enterprise Console UI or on the node itself, restart the node: nohup $PLATFORM_DIRECTORY/product/events-service/processor/bin/events-service.sh start -p $PLATFORM_DIRECTORY/product/events-service/processor/conf/events-service-api-store.properties &​​ Wait for the shard migration to complete and for the cluster indicator to turn green. Repeat this process (steps 1-8) for the next node to patch, as needed. After you have completed patching, downsizing, or migrating all of the nodes, if total_shards_per_node was set to -1, then re-apply the total_shards_per_node default limit: curl -XPUT 'localhost:9200/*/_settings’ -d’ { "index": { "index.routing.allocation.total_shards_per_node" : 3 } }’ Additional Recommendations When performing a rolling restart of the Elasticsearch data nodes during a minor update, our test results determined that a 30-60 minute window is required (excluding the upgrade or patch time).  Note: AppDynamics Analytics does not recommend stopping Events Service (Elasticsearch) nodes for an extended period of time. As a result, we perform this type of operation in 3-6 month intervals with 60 minutes allocated for each node of the Elasticsearch cluster.  Troubleshooting After analyzing why your rebalancing or allocating is not correct, you can enter the following troubleshooting commands:  curl -s 'http://localhost:9200/_cat/shards?h=index,shard,prirep,state,unassigned.reason' | grep UNASSIGNED You can retrieve unassigned.reason descriptions from https://www.elastic.co/guide/en/elasticsearch/reference/2.4/cat-shards.html If a per cluster allocation restriction exists, you can check the existing cluster settings under cluster.routing: curl -XGET 'localhost:9200/_cluster/settings?pretty=true' Verify that you do not have cluster based allocation restrictions: curl -XPUT 'localhost:9200/_cluster/settings' -d' { "transient":  { "cluster.routing.allocation.enable" : "all" } } ' Verify that you do not have cluster based relocation restrictions: curl -XPUT 'localhost:9200/_cluster/settings' -d' { "transient":  { "cluster.routing.rebalance.enable" : "all" } } ' Verify that you do not have cluster based rebalance restrictions: curl -XPUT 'localhost:9200/_cluster/settings' -d' { "transient":  { "cluster.routing.allocation.allow_rebalance" : "always" } } ' To enable faster rebalancing before and after removing the node, or adding the node: curl -XPUT 'localhost:9200/_cluster/settings' -d' { "transient":  { "cluster.routing.allocation.cluster_concurrent_rebalance" : 10 } } ' Verify by retrieving the problematic index settings under index.routing.allocation: curl -XGET 'localhost:9200/<index_name_goes_here>/_settings?pretty=true'
What are the steps to enabling debug logging for an on-premises EUM Server? What are the steps for an EUM Processor? In your computer terminal, navigate to  <EUM_HOME>/eum-processor/bin ... See more...
What are the steps to enabling debug logging for an on-premises EUM Server? What are the steps for an EUM Processor? In your computer terminal, navigate to  <EUM_HOME>/eum-processor/bin and locate the logback .xml file. Open the file and change the logging level from INFO to DEBUG for the logger that you are interested in troubleshooting. Example:  Save and restart the EUM Server. Example of typical debug logging
What are the steps to installing and validating a Machine Agent? In this article... How do I install the AppDynamics Machine Agent? How do I validate that my deployed Machine Agent is repo... See more...
What are the steps to installing and validating a Machine Agent? In this article... How do I install the AppDynamics Machine Agent? How do I validate that my deployed Machine Agent is reporting? How do I install the AppDynamics Machine Agent? Download the latest Machine Agent from download.appdynamics.com Unzip the folder on the server to be monitored Navigate to Machine Agent home folder > conf > controller-info.xml Input the following information Host name or IP address a Same host used to access AppDynamics browser-based UI <controller-host>xxx.saas.appdynamics.com/On-prem controller</controller-host> Can be overridden with the environment variable CONTROLLER_HOST_NAME or the system property ‘-Dappdynamics.controller.HostName ’ HTTPS port b Same port used to access AppDynamics browser-based UI <controller-port>443(for SaaS)/On prem controller port</controller-port> If <Controller-ssl-enabled> below (“c”), is set to “true” specify the HTTPS port of the Controller (default is 8181). If it is not, instead specify the HTTP port (default is 8090) Can be overridden with the environment variable  CONTROLLER_CONTROLLER_PORT or the system property ‘-Dappdynamics.controller.port’ Specify whether to use SSL (HTTPS) to connect c <controller-ssl-enabled>true(SaaS)/false</controller-ssl-enabled> If <Controller-ssl-enabled> , is set to “true” here, specify the HTTPS port of the Controller above (“b”) (default is 8181); if it is not set to true, instead specify the HTTP port (default is 8090). Can be overridden with the environment variable CONTROLLER_CONTROLLER_SSL_ENABLED or the system property '-Dappdynamics.controller.ssl.enabled' Account access key d The account access key is generated at installation. You can find it with the License information in the Controller Settings.  <account-access-key> xxxxxx</account-access-key> Can be overridden with the environment variable APPDYNAMICS_AGENT_ACCOUNT_ACCESS_KEY or the system property  ‘-Dappdynamics.agent.accountAccessKey' Account name e If the AppDynamics Controller is running in multi-tenant mode, or if you’re using the AppDynamics SaaS Controller, you must specify the account name for this agent to authenticate with the controller: <account-name>xxxxx</account-name> If you’re running in single-tenant mode (the default), you don’t need to configure this value. Can be overridden with the environment variable APPDYNAMICS_AGENT_ACCOUNT_NAME or the system property ‘-Dappdynamics.agent.accountName' Server monitoring enabled/disabled f If this agent is licensed for server monitoring, set this flag to true to enable Server Monitoring expanded metrics. <sim-enabled>true(for server visibility)</sim-enabled> Can be overridden with the environment variable APPDYNAMICS_AGENT_SIM_ENABLED or the system property ‘-Dappdynamics.sim.enabled' .NET compatibility mode enabled/disabled g Optional  If there is a .NET Agent on the same server, enable .NET compatibility <dotnet-compatibility-mode>true</dotnet-compatibility-mode> Navigate to <MachineAgent-Home>  and run script InstallService.vbs . This will configure the Machine Agent as a service as well as start it. How do I validate that your deployed Machine Agent is reporting? To validate that the Machine Agent is reporting on the Controller, navigate to Settings, then AppDynamics Agents. Click the Machine Agent tab.
What are the steps to installing and validating a .NET Agent? Table of Contents Install the AppDynamics .NET Agent Validate that your deployed .NET Agent is reporting How do I install... See more...
What are the steps to installing and validating a .NET Agent? Table of Contents Install the AppDynamics .NET Agent Validate that your deployed .NET Agent is reporting How do I install the AppDynamics .NET Agent? Download the latest .NET agent from download.appdynamics.com Launch the .NET Agent MSI Agree to the End User Agreement and follow the Wizard prompts to set up the .NET Agent. The agent will be installed as a Windows Service Launch the AppDynamics Configuration Utility Fill in your Controller credentials. Then, test the Controller connection Server (Name/IP) example.saas.appdynamics.com (or the IP address of an on-premises Controller) Port Number SaaS: 443 On premises: generally 8090, depending on your configuration Account Name See your account name on Controller Settings > Licenses > Account Access Key See your license on Controller Settings > Licenses > Account Enable SSL For a SaaS environment, check to enable TSL 1/2 For a SaaS environment, check to enable .NET Agent Configuration: Controller configuration credentials Follow through the Wizard’s remaining steps to configure the IIS applications you want to monitor, and complete the tier assignment Finish the Wizard by applying the configuration. Then restart the IIS. How do I validate that the new .NET Agent is reporting? Sign in to the Controller UI to validate that the Agent is reporting: Click Applications in the top navigation bar Select Tiers & Nodes in the left navigation bar On the Tiers & Nodes panel, the tier name you’re validating should appear according to your configuration settings Check the Tiers & Nodes panel for the name of the tier you are validating   Note: The .NET Agent initially reports under the Machine Agent tier. Once the instrumented application receives load, the agent starts reporting under the specified Tier Name.
Thread dump download process and sample policy This article outlines the steps for downloading a thread dump, and offers an example of how one might configure a Health Rule Policy that would trigg... See more...
Thread dump download process and sample policy This article outlines the steps for downloading a thread dump, and offers an example of how one might configure a Health Rule Policy that would trigger a thread dump. Table of Contents How do I download a thread dump? What is an example of how to create a policy to generate a thread dump? Additional Resources How do I download a thread dump? To see how to take a thread dump, refer to the Thread Dump Actions section of the Diagnostic Actions documentation. To download a thread dump, follow these steps:   On the Applications Dashboard, click the Events tab and check to see whether any Health Rule violation events triggered, generating a thread dump.  If there are any thread dumps, click on an individual Code Deadlock event. That event’s Code Deadlock window will open. Click the onscreen Action Executed link that corresponds to the Code Deadlock. The Actions Executed tab will open.  Click the Thread Dump Ended link. The Thread Dump Ended window will open. Click the Download Thread Dump button.   What is an example of how to create a policy to generate a thread dump? You can create an AppDynamics health policy that will trigger thread dump generation. The following example shows how configure a policy that generates a thread dump when an application encounters a deadlock issue.   From the menu on the left, click Alert & Respond –> Policies –> Create Policy. Name the policy (In the example below, “Name: Code Deadlock - Health Rule Violation”). Expand Health Rule Violation Events, then expand Code Problems and select the Code Deadlock option. Click the Save button. Back under the Actions tab, click Create Action. The Create Action  box will open. Under the Diagnostics subheading, select  the Take a thread dump radio button, then click OK. You will see your new policy listed. Click to open. Review and click Save.   Additional Resources To see how to take a thread dump, refer to the Thread Dump Actions section of the Diagnostic Actions documentation.  See also the Configure Policies documentation.
As of October 30, 2020, AppDynamics is offering an India SaaS option with data residency located in Mumbai, India. This service is equivalent to the current SaaS offering based in the USA, UK, and Sy... See more...
As of October 30, 2020, AppDynamics is offering an India SaaS option with data residency located in Mumbai, India. This service is equivalent to the current SaaS offering based in the USA, UK, and Sydney. We will be using regional-based cloud services, leveraging AWS as it allows for better flexibility and scalability. In this article... Why did you launch an Indian SaaS offering? Where does Indian SaaS data reside? What if a customer needs to maintain data residency in India only? What are the eligibility criteria for the Indian SaaS offering? Will all customers in India be provisioned in the Indian SaaS Environment I’m a prospective customer. Can I run my POV on the Indian SaaS platform? What AppDynamics products are available for Indian SaaS? As an existing customer, how do I learn about transitioning from my on-premises instance to Indian SaaS? I am interested in AppDynamics and would like to evaluate Indian SaaS. How can I find out more?   Why did you launch an Indian SaaS offering? We wanted to give Asia-based SaaS customers with data residency requirements the benefits of scalability. Back to Contents Where does Indian SaaS data reside? Primary data resides in the AWS Mumbai region. EUM, Synthetic Agent, and Analytics hosting locations are documented in the SaaS Domains and IP Ranges documentation. Back to Contents What if an Indian customer needs to maintain data residency in India only? By default, the India SaaS includes Multi-Availability Zone redundancy in addition to cross-region data residency in India. <h2?What are the eligibility requirements for the India SaaS offering? All new Asia-based customers are eligible for our India SaaS. Back to Contents Will all customers in India be provisioned in the India SaaS environment?  Yes, all new India-based SaaS customers will be provisioned in Indian SaaS on AWS in Mumbai, India. Back to Contents I’m a prospective customer. Can I run my POV on the India SaaS platform? Yes, you can request a POV on the India SaaS platform. Please reach out to your account team to learn more.  Back to Contents What AppDynamics products are available on India SaaS?  All products version 20.6.0 or lower are available in Indian SaaS. As newer versions are GA, they will become available on India SaaS as well. Back to Contents Does the solution offer at-rest encryption? Yes, our SaaS Platform includes data-at-rest encryption since it is required for security and data privacy.  Back to Contents As an existing customer, how do I learn about transitioning from my on-premises instance to Indian SaaS? Contact your Account Manager for details on starting the process. Back to Contents I am interested in AppDynamics and would like to evaluate Indian SaaS. How can I find out more? Contact us at either info@appdynamics.com or https://www.appdynamics.com/company/contact-us. Back to Contents
What kind of alerts and data behavior can I expect during SaaS maintenance? AppDynamics makes new releases available every 6 weeks. Our goal is for all customers to be on the latest release so the... See more...
What kind of alerts and data behavior can I expect during SaaS maintenance? AppDynamics makes new releases available every 6 weeks. Our goal is for all customers to be on the latest release so they have access to the latest features and fixes. Note: You must have a current contract for access to SaaS maintenance. Table of Contents What do I need to know about build configuration? When are the maintenance windows in my region? What downtime should I expect during maintenance? Where can I view the SaaS service status? How does AppDynamics alert customers of maintenance? What is AppDynamics’ Maintenance Alert Policy? What if an upgrade or maintenance can’t be completed? What if I have questions or need help? Related Links What do I need to know about build configuration? AppDynamics will strive to upgrade your pre-production Controller before your production Controller. For older Controller environments with mixed pre-production and production Controllers in the same environment, we are not always able to upgrade pre-production first. When are the maintenance windows in my region? The following table shows all maintenance windows, by region. Zone Pacific Standard Time Local Time Days US 9pm - 12am 12 - 3am EST Sunday through Thursday Europe 4 - 6pm 12 - 2am GMT Monday through Friday Asia 10am - 1pm 2 - 5am JST Monday through Friday India 11:30am - 2:30pm 11pm-2am IST Monday through Friday The typical maintenance window is 2 hours.  What downtime should I expect during maintenance? There is typically no downtime of the Controller during upgrade maintenance. Logged-in user sessions will expire and force users to sign in again.   There is not typically a gap in metric data — however, customers may occasionally see up to a 2-minute gap when the old and new Controller instances are swapped out. Where can I view the SaaS service status? The SaaS Service Status displays data related to your upgrade schedule. You can find it at appdynamics.com/support, by clicking the  Service Status button in the top right corner of the page. See Where can I view the SaaS Service Status? for step-by-step instructions.  Note: To see SaaS service status details, you need to be: Associated with a license  Logged in to www.appdynamics.com    How does AppDynamics alert customers of maintenance? Customers can be notified in two ways: Email SaaS Status page Customers register to opt-in or opt-out for email notifications at the individual level. Here are the instructions for how to opt-in. What is AppDynamics’ Maintenance Alert Policy? For planned maintenance, AppDynamics uses the following maintenance and upgrades policy to alert customers: Notify customers a minimum of 48 hours in advance of regular maintenance. The only exception is for emergency maintenance. Notify customers before and again after the maintenance.  In the event of an issue during the maintenance window, the AppDynamics operations team will notify you within that timeframe, rather than waiting until the window closes.   What if an upgrade can’t be completed?  AppDynamics operations team will notify you if an upgrade needs to be re-scheduled, or if an upgrade is attempted and could not be completed. What if I have questions or need help? If you have questions or concerns, please create a ticket on the Support Portal, at https://www.appdynamics.com/support/. Related Links Blog: The Top 5 Advantages of SaaS-based Application Performance Management SaaS Controller Secure Connections Where can I view the SaaS Service Status? How do I subscribe or unsubscribe from Product email notifications?
What do I need to know about using the sample script to build my own Puppet module? Every deployment is different, so this task doesn't lend itself to one all-inclusive Puppet script maintained by... See more...
What do I need to know about using the sample script to build my own Puppet module? Every deployment is different, so this task doesn't lend itself to one all-inclusive Puppet script maintained by AppDynamics. However, the attached sample script can help you get started on your own Puppet module. Table of Contents Puppet sample environment and components Puppet configuration essentials Guidelines for creating a custom Puppet module from the Sample What do I need to know about the Puppet sample’s environment and components This sample script is intended for a Linux/Tomcat deployment. The script is relatively straightforward, and is intended to serve as a rough framework for building a script appropriate for your specific environment. Definitely edit it as appropriate for your environment and test out your config!  Puppet configuration essentials If you haven't used Puppet before, we recommend running through the first two sections of the Puppet Quick Start Guide.  What guidelines are there for creating my own Puppet module from the sample? The java_agent.zip file needs to be unzipped into the prospect's Puppet modules directory ( /etc/puppet/environments/production/modules/ by default). It contains 4 subdirectories: manifests, templates, files, and tests: /manifests contains the main Puppet script, init.pp /templates contains the catalina.sh template file (see lines 236-238) for how the init.pp variables are inserted. Common system variables you would use can be found here: https://puppet.com/docs/puppet/6.19/lang_variables.html /files contains the AppServerAgent.zip —  Replace this with the version of AppServerAgent.zip that you'd like to deploy /tests is not used for this module   Within init.pp you see the list of variables used for the deployment. You need to set these as appropriate for the target system. For SaaS or other configurations, be sure to add the appropriate Java configuration properties to the command line. If you already deploy a customized catalina.sh , you may want to inherit that template file or you may need to get more creative. A simple line replace should suffice.
I want to change my product and maintenance email update notification settings. How? For SaaS accounts, product updates, as well as license and maintenance notifications, are set at the individual ... See more...
I want to change my product and maintenance email update notification settings. How? For SaaS accounts, product updates, as well as license and maintenance notifications, are set at the individual user level, depending on role-based permissions. If chosen in the user's profile, product notifications are sent when a new version of AppDynamics is released.  License Admins can receive notifications to get advance warning of planned environment maintenance that may affect service. Notifications may also include other environment events that administrators need to respond to. These notifications can be set one license at a time. Table of Contents How do I find the notifications page? How do I manage product release notifications? How do I manage License and Maintenance notifications? Additional Resources  How do I find the notifications page? Go to https://accounts.appdynamics.com/overview Click your name on the top-right corner of the page, then click the My Profile link on the drop-down menu.   On the Personal Summary page, click Notifications on the left panel. The Notifications page will open, where you can manage both your product release and your license maintenance notification settings. Each time you select or cancel a notification option, you’ll see a confirmation message. How do I manage product release notifications? At the Notify me when a new version of AppDynamics is released prompt, click the checkbox to activate or deactivate automatic email notifications when there’s a new product release. How do I manage license and maintenance notifications? You can choose license and maintenance notifications on a license-by-license basis by clicking the checkbox that corresponds with it.  These notifications give administrators an awareness of events that may affect their environment, such as maintenance windows. Additional Resources Where can I view my SaaS service status?  Knowledge Base article Account Management Portal, Overview documentation
To make sure you complete all the tasks necessary for upgrading your Dynamic Language Agents after a release, we recommend following the instructions below. NOTE: The information in this artic... See more...
To make sure you complete all the tasks necessary for upgrading your Dynamic Language Agents after a release, we recommend following the instructions below. NOTE: The information in this article is not release-specific. You can reference it for any release Table of Contents Prepare to upgrade your EUM servers, agents and SDKs Planning your EUM Server, Agent, and SDK upgrades  Plan your on-premises EUM server upgrade Plan your EUM agents and SDK upgrades How to upgrade your EUM Server, Agent, and SDK How do I upgrade my on-premises EUM Server?   How do I upgrade EUM Agents and SDKs?  Additional Resources Prepare to upgrade your EUM servers, agents and SDKs Review the Product Announcements and Alerts page for details on any intermediate versions between the current version of your instance and the version you are targeting. Review the compatibility matrix in our Community and documentation for various components of the AppDynamics environment. Review our EUM component compatibility article for details specific to EUM. Review the Mobile Agent Version and Deployment Support Matrix to determine the minimum versions of the Controller and EUM Server required for supporting the latest features of the Mobile Agents. For platforms where the Controller, EUM Server, and Events Service are being upgraded at the same time, the Controller version should be less than or equal to (<=) the Events Service version and you should perform the upgrades in a specific order. See the Upgrade Platform Components documentation for details on the upgrade order. For example, the Events Service should be upgraded before the EUM server. This documentation also instructions for upgrading the Events Service. Planning your upgrades Considerations for upgrading an on-premises EUM Server and EUM Agent and SDK are different. See each below. Plan your on-premises EUM Server upgrade The EUM Server version should be less than or equal to (<=) the Events Service version Ensure the key matches between the Events Service, EUM Server, and Controller: analytics.accountAccessKey == ad.accountmanager.key.eum ==appdynamics.es.eum.key For instructions on configuring EUM connection settings, see: Connect to the Events Service See Upgrade the Production EUM Server for step-by-step instructions. In addition to upgrading your server, you will need to follow the instructions on migrating your EUM data. For the v4.5 production EUM Server, the EUM MySQL database has been moved from the Controller host machine to the EUM Server host machine. After upgrading your EUM Server, you can upgrade your Controller following the steps outlined in Upgrade the Controller using the Enterprise Console. Plan your EUM agent and SDK upgrades Before upgrading EUM Servers, Agents and SDKs, review the following: Product Announcements and Alerts page for details on any intermediate versions between the current version of your instance and the version you are targeting. for various components of the AppDynamics environment, review the compatibility matrix in the Knowledge Base article How does EUM component compatibility work?, as well as the About Agent and Controller Compatibility section in the  Agent and Controller documentation. Review our EUM component compatibility article for details specific to EUM. Review the Mobile Agent Version and Deployment Support Matrix to determine the minimum versions of the Controller and EUM Server required for supporting the latest features of the Mobile Agents for various components of the AppDynamics environment.   For platforms where the Controller, EUM Server, and Events Service are being upgraded at the same time, the Controller version should be lesser than or equal to (<=) the Events Service version. You must perform the upgrades in a specific order. For example, be sure to upgrade the Events Service before the EUM Server.  See Upgrade Platform Components for details on the upgrade order.  How to upgrade your EUM Server, Agent, and SDK See below for the considerations for upgrading your on-premises EUM Server, EUM Agent and SDK. How do I upgrade my on-premises EUM Server? The EUM Server version should be less than or equal to (<=) the Events Service version Ensure the key matches between the Events Service, EUM Server, and Controller: analytics.accountAccessKey == ad.accountmanager.key.eum ==appdynamics.es.eum.key For instructions on configuring EUM connection settings, see: Connect to the Events Service See Upgrade the Production EUM Server for step-by-step instructions. In addition to upgrading your server, you will need to follow the instructions on migrating your EUM data. For the 4.5 production EUM Server, the EUM MySQL database has been moved from the Controller host machine to the EUM Server host machine. After upgrading your EUM Server, you can upgrade your Controller following the steps outlined in Upgrade the Controller using the Enterprise Console. How do I upgrade EUM Agents and SDKs? Upgrade the JavaScript Agent Note: If you are a 4.4 SaaS customer and have an EUM license, we recommend upgrading to the latest JavaScript Agent. See Upgrade the JavaScript Agent. Upgrade the Mobile Agents See Upgrade iOS SDK for step-by-step instructions on upgrading manually or using CocoaPods. See Upgrade the Android Mobile Agent for step-by-step instructions on upgrading the Android SDK in your app. See Upgrade the Xamarin Agent for step-by-step instructions on upgrading the Xamarin Agent package in your app. Upgrade the IoT SDKs See Upgrade the IoT C++ SDK for step-by-step instructions. See Upgrade the IoT Java SDK for step-by-step instructions. Additional Resources Instructions for upgrading other AppDynamics components are available in our general article, How do I get started with upgrading my AppDynamics components?
AppDynamics Node.js Agent native dependencies and their environments The AppDynamics Node.js Agent has multiple native dependencies which are keyed to particular environments. As such, the Agent w... See more...
AppDynamics Node.js Agent native dependencies and their environments The AppDynamics Node.js Agent has multiple native dependencies which are keyed to particular environments. As such, the Agent works somewhat differently than other NPM packages.  For example, when downloading our package from NPM, it will request a dependency appdynamics-native  which itself will in turn download an artifact to install that will work only for a particular environment. As we want to support multiple environments, we need some way to distribute multiple artifacts for each dependency; one for each unique environment. The way we currently accomplish this is through a post install script for each dependency. The agent modules containing cross-platform Javascript are uploaded to NPM, but the platform-dependent portions are hosted on AppDynamics infrastructure and downloaded separately. This allows our agent to work well with lock files of package managers, while still retaining the ability to deploy platform-specific artifacts, which otherwise would change the checksum within these lock files. Generally, dependency artifacts are matrixed on Node.js major version, platform, and architecture. This means that the same dependency has many different potential artifacts, depending on the automatically detected values of the Node.js version, platform, and architecture. The most important operational implication of this is that users must install the agent within an environment which exactly matches the target deployment environment, otherwise they will be deploying an agent bundle that will not load properly. We see this scenario in many CI/CD pipelines, where the build server is in important ways set up differently than the deployment servers/containers, and needs to be adjusted.
Release Upgrade Checklist for Database Agents NOTE: The information in this article is not release-specific. You can reference it for any release To make sure you complete all the tasks n... See more...
Release Upgrade Checklist for Database Agents NOTE: The information in this article is not release-specific. You can reference it for any release To make sure you complete all the tasks necessary for upgrading Database Agents after a release, we recommend following the upgrade checklist instructions below.  Table of Contents Prepare to upgrade your Database Agents Plan your Database Agent upgrade Next Steps Troubleshooting Additional Resources Prepare to upgrade your Database Agents Review the Product Announcements and Alerts page for details on any intermediate versions between the current version of your instance and the version you are targeting. Review either of the following to confirm the compatibility of the various components of the AppDynamics environment: Knowledge Base article: How do I get started with upgrading my AppDynamics components for any release?, especially the component compatibility matrix Technical documentation: Agent and Controller Compatibility   Plan your Database Agent upgrade Review the Agent/Controller compatibility matrix for compatibility mappings between agents and Controller versions. Supported Controller versions v.4.3 v4.4 v4.5 v20.3 - future releases DB Agent versions 4.1 - 4.3 (1) 4.1 - 4.4 (1) 4.1 - 4.5 (1) 4.1 - 20.x (1)(2)                (1) Controller version supports through the most recent release of the Database Agent                   (2) DB Agent is only compatible up to its corresponding Controller version      Before upgrading, we recommend completing two backups: Backup your previous installation of the Controller. Backup the <db_agent_home> directory so you can revert to the previous installation if required. To maintain the same configuration information, you will also need the <db_agent_home>\conf\controller-info.xml file. If you are upgrading both the Controller and agents, upgrade the Controller before upgrading the agents. See Upgrade the Database Agent for important upgrade notes and step-by-step instructions.  Next Steps For each database, you will need to configure the Database Collectors according to the database in your environment. See Add Database Collectors in the documentation. Troubleshooting If your database isn’t reporting, check Database Visibility System Requirements in the documentation If you are having problems with your Collector, see Add Database Collectors.  If your agents don’t seem to be reporting, see the Troubleshooting Collector Problems section under Add Database Collectors. Additional Resources Instructions for upgrading other AppDynamics components are available in our general How do I get started with upgrading AppDynamics components for any release?
Consider the following scenarios: You have an on-premises multi-tenant controller and a EUM server (on-prem or SaaS). You have one EUM license with 10 units. You want to split an assigned num... See more...
Consider the following scenarios: You have an on-premises multi-tenant controller and a EUM server (on-prem or SaaS). You have one EUM license with 10 units. You want to split an assigned number of units to a new tenant.  To split EUM units and provision the EUM licenses, ask the Sales team for a EUM license with <x> number of units. They will usually give you two licenses. First license: The previous license with the old EUM account name and access key, but with updated units = 10 - x Second License:   Contains the new EUM account name and access key, but with units = x Be sure to leave the EUM account name or access key of the previous license unchanged. Such changes may cause a change in the EUM app-key in the application associated with the previous EUM account. Once you get both licenses, provision them on your EUM server, as follows. How do I provision licenses on a EUM server? Licenses need to be provisions on SaaS. On-premises customers, skip to the  How do I provision EUM licenses on a multi-tenant Controller UI section below. Got o the EUM server (remotely hosted).  Provision both licenses one by one on the EUM server using the following command: $> cd EUM/eum-processor $> ./bin/provision-license.sh <PATH TO LICENSE> See the instructions for provisioning EUM licenses here. Then, once the license is provisioned on the EUM server, proceed with the following steps: How do I provision EUM licenses for accounts on a multi-tenant Controller UI? Navigate to the Administration page of your on-premise Controller:  http(s)://<hostname>:<port>/controller/admin.jsp Click Accounts. Select the account name that you want to provision EUM for and click Edit. Scroll down to the End User Monitoring (EUM) panel. From the Browser Real User Monitoring section: Copy the EUM license key from your license file into the EUM License Key field. From the License Type drop-down, select a license type (EUM Lite or EUM Pro). Enter your allotted Browser RUM units into the Browser RUM Units Licensed field. Set overages from the Allow Overages drop-down. Complete the steps above for the Mobile Real User Monitoring section. Click Save. Complete the 7 steps above for both (or all) tenant accounts.