Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Post/appdynamics blog #141

Closed
wants to merge 2 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
226 changes: 226 additions & 0 deletions content/posts/2024/06/19/cisco-appdynamics/post.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,226 @@
# Cisco Appdynamics

Check warning on line 1 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L1

[Google.Headings] 'Cisco Appdynamics' should use sentence-style capitalization.
Raw output
{"message": "[Google.Headings] 'Cisco Appdynamics' should use sentence-style capitalization.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 1, "column": 3}}}, "severity": "WARNING"}

Exploring the Future of Application Performance Management with Cisco AppDynamics.

![](assets/appdynamicslogo.png)

Authors: Akshay PK, Sriram Seshadri, Sri Balaji

Check warning on line 7 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L7

[Google.Colons] ': A' should be in lowercase.
Raw output
{"message": "[Google.Colons] ': A' should be in lowercase.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 7, "column": 8}}}, "severity": "WARNING"}
Date: 2024-06-19
Category: devops

tags: appdynamics,devops,system engineering,cloud

---

## **Introduction**

**Cisco Appdynamics** : “Maintain optimal application performance, resilience, and security with real-time full-stack observability. Understand how application performance impacts business outcomes, so you can focus on what matters and invest in what moves the needle”

Check warning on line 17 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L17

[Google.WordList] Use 'app' instead of 'application'.
Raw output
{"message": "[Google.WordList] Use 'app' instead of 'application'.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 17, "column": 43}}}, "severity": "WARNING"}

Check warning on line 17 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L17

[Google.WordList] Use 'app' instead of 'application'.
Raw output
{"message": "[Google.WordList] Use 'app' instead of 'application'.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 17, "column": 149}}}, "severity": "WARNING"}

Another description that one comes across : “Dramatically simplify application instrumentation through intelligent agent automation and lifecycle management”.

Check warning on line 19 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L19

[Google.WordList] Use 'app' instead of 'application'.
Raw output
{"message": "[Google.WordList] Use 'app' instead of 'application'.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 19, "column": 68}}}, "severity": "WARNING"}

What does Cisco AppDynamics do? Cisco AppDynamics is an application performance management (APM) and IT operations analytics (ITOA) platform that provides comprehensive visibility and insight into application performance, user experiences, and business outcomes. It helps organizations ensure their applications are always running smoothly and efficiently, providing a seamless experience for users. It gathers metrics on various levels and it’s features are :

Check warning on line 21 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L21

[Google.WordList] Use 'app' instead of 'application'.
Raw output
{"message": "[Google.WordList] Use 'app' instead of 'application'.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 21, "column": 57}}}, "severity": "WARNING"}

Check warning on line 21 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L21

[Google.WordList] Use 'app' instead of 'application'.
Raw output
{"message": "[Google.WordList] Use 'app' instead of 'application'.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 21, "column": 198}}}, "severity": "WARNING"}

Check warning on line 21 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L21

[write-good.Weasel] 'smoothly' is a weasel word!
Raw output
{"message": "[write-good.Weasel] 'smoothly' is a weasel word!", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 21, "column": 332}}}, "severity": "WARNING"}

- Business performance monitoring

- Application performance monitoring

- End user monitoring

- Infrastructure monitoring

- Network monitoring

- Security Insights

- Analytics & Reporting

- Alerts and Notifications

## **Scope**

The scope of this article is to cover the basic knowledge what Cisco Appdynamics is all about, to provide a overview of it’s platform and components and then to deep dive into the configuration aspects of enabling AppDynamics APM alongside a spring boot application. The article does not cover the installation of AppDynamics platform or it’s control plane components on a Kubernetes like environment.

Check warning on line 41 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L41

[Google.WordList] Use 'app' instead of 'application'.
Raw output
{"message": "[Google.WordList] Use 'app' instead of 'application'.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 41, "column": 255}}}, "severity": "WARNING"}

<br>

## **Problem Statement**

Check warning on line 45 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L45

[Google.Headings] 'Problem Statement' should use sentence-style capitalization.
Raw output
{"message": "[Google.Headings] 'Problem Statement' should use sentence-style capitalization.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 45, "column": 6}}}, "severity": "WARNING"}

In today's digital landscape, organizations rely heavily on complex, distributed applications to drive business operations and deliver services to customers. These applications often span multiple environments, including on-premises, cloud, and hybrid infrastructures. Ensuring optimal performance and availability of these applications is crucial for maintaining user satisfaction, operational efficiency, and achieving business goals.

Check warning on line 47 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L47

[write-good.TooWordy] 'multiple' is too wordy.
Raw output
{"message": "[write-good.TooWordy] 'multiple' is too wordy.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 47, "column": 189}}}, "severity": "WARNING"}

Organizations face several challenges in managing the performance and reliability of their applications such as to name a few :

Check warning on line 49 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L49

[write-good.TooWordy] 'as to' is too wordy.
Raw output
{"message": "[write-good.TooWordy] 'as to' is too wordy.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 49, "column": 110}}}, "severity": "WARNING"}

Check warning on line 49 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L49

[write-good.Weasel] 'few' is a weasel word!
Raw output
{"message": "[write-good.Weasel] 'few' is a weasel word!", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 49, "column": 123}}}, "severity": "WARNING"}

- **Visibility Issues:** Lack of comprehensive visibility into the entire application stack, making it difficult to monitor performance across different layers (For example: frontend, backend, database, infrastructure).

Check warning on line 51 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L51

[Google.Colons] ': L' should be in lowercase.
Raw output
{"message": "[Google.Colons] ': L' should be in lowercase.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 51, "column": 1}}}, "severity": "WARNING"}

Check warning on line 51 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L51

[Google.WordList] Use 'app' instead of 'application'.
Raw output
{"message": "[Google.WordList] Use 'app' instead of 'application'.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 51, "column": 75}}}, "severity": "WARNING"}

Check warning on line 51 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L51

[write-good.TooWordy] 'monitor' is too wordy.
Raw output
{"message": "[write-good.TooWordy] 'monitor' is too wordy.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 51, "column": 117}}}, "severity": "WARNING"}

- **Performance Degradation:** Unidentified bottlenecks and performance issues leading to slow response times, errors, and downtime, adversely affecting user experience and business operations.

Check warning on line 53 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L53

[Google.Colons] ': U' should be in lowercase.
Raw output
{"message": "[Google.Colons] ': U' should be in lowercase.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 53, "column": 1}}}, "severity": "WARNING"}

- **Impact on Business Outcomes:** Inability to correlate application performance with business outcomes, making it challenging to understand the impact of technical issues on user satisfaction, revenue, and other key business metrics.

Check warning on line 55 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L55

[Google.Colons] ': I' should be in lowercase.
Raw output
{"message": "[Google.Colons] ': I' should be in lowercase.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 55, "column": 1}}}, "severity": "WARNING"}

Check warning on line 55 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L55

[Google.WordList] Use 'app' instead of 'application'.
Raw output
{"message": "[Google.WordList] Use 'app' instead of 'application'.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 55, "column": 59}}}, "severity": "WARNING"}

- **Proactive Monitoring:** Lack of proactive monitoring capabilities to detect and resolve issues before they impact end users, leading to reactive firefighting rather than preventative measures.

Check warning on line 57 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L57

[Google.Colons] ': L' should be in lowercase.
Raw output
{"message": "[Google.Colons] ': L' should be in lowercase.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 57, "column": 1}}}, "severity": "WARNING"}

- **Scalability and Flexibility:** Challenges in scaling monitoring solutions as the application and infrastructure grow, and adapting to dynamic changes in the IT environment.

Check warning on line 59 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L59

[Google.Colons] ': C' should be in lowercase.
Raw output
{"message": "[Google.Colons] ': C' should be in lowercase.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 59, "column": 1}}}, "severity": "WARNING"}

Check warning on line 59 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L59

[Google.WordList] Use 'app' instead of 'application'.
Raw output
{"message": "[Google.WordList] Use 'app' instead of 'application'.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 59, "column": 86}}}, "severity": "WARNING"}

Cisco AppDynamics and similar products in the market address these above issues and various others to improve application performance, enhance user satisfaction, minimize downtime, and align IT operations with business goals. Going further in this article, we will take a closer look at AppDynamics APM offering.

Check warning on line 61 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L61

[Google.WordList] Use 'preceding' instead of 'above'.
Raw output
{"message": "[Google.WordList] Use 'preceding' instead of 'above'.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 61, "column": 68}}}, "severity": "WARNING"}

Check warning on line 61 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L61

[Google.WordList] Use 'app' instead of 'application'.
Raw output
{"message": "[Google.WordList] Use 'app' instead of 'application'.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 61, "column": 111}}}, "severity": "WARNING"}

Check warning on line 61 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L61

[write-good.TooWordy] 'minimize' is too wordy.
Raw output
{"message": "[write-good.TooWordy] 'minimize' is too wordy.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 61, "column": 163}}}, "severity": "WARNING"}

Check warning on line 61 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L61

[Google.We] Try to avoid using first-person plural like 'we'.
Raw output
{"message": "[Google.We] Try to avoid using first-person plural like 'we'.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 61, "column": 258}}}, "severity": "WARNING"}

Check warning on line 61 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L61

[Google.Will] Avoid using 'will'.
Raw output
{"message": "[Google.Will] Avoid using 'will'.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 61, "column": 261}}}, "severity": "WARNING"}


## **AppDynamics - Architecture**

Check warning on line 64 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L64

[Google.Headings] 'AppDynamics - Architecture' should use sentence-style capitalization.
Raw output
{"message": "[Google.Headings] 'AppDynamics - Architecture' should use sentence-style capitalization.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 64, "column": 6}}}, "severity": "WARNING"}

Let’s now take a closer look at the AppDynamics platform components and tools.

It is described in detail in this document : [AppDynamics Application Performance Monitoring Platform](https://docs.appdynamics.com/appd/4.5.x/en/appdynamics-application-performance-monitoring-platform?showChildren=false#AppDynamicsApplicationPerformanceMonitoringPlatform-AppDynamicsPlatformComponentsandTools) and further an on-premises deployment of AppDynamics is also described : [AppDynamics Application Performance Monitoring Platform](https://docs.appdynamics.com/appd/4.5.x/en/appdynamics-application-performance-monitoring-platform?showChildren=false#AppDynamicsApplicationPerformanceMonitoringPlatform-on-prem-deployment-architectureOn-PremisesDeploymentArchitecture)

Check warning on line 68 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L68

[write-good.TooWordy] 'It is' is too wordy.
Raw output
{"message": "[write-good.TooWordy] 'It is' is too wordy.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 68, "column": 1}}}, "severity": "WARNING"}

Check warning on line 68 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L68

[Google.Colons] ': A' should be in lowercase.
Raw output
{"message": "[Google.Colons] ': A' should be in lowercase.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 68, "column": 1}}}, "severity": "WARNING"}

Check warning on line 68 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L68

[write-good.Passive] 'is described' may be passive voice. Use active voice if you can.
Raw output
{"message": "[write-good.Passive] 'is described' may be passive voice. Use active voice if you can.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 68, "column": 4}}}, "severity": "WARNING"}

![](assets/appdynamics-arch.png)

The components depicted above in the diagram are all the components that facilitate or enable all AppDynamics functionality to fulfill application, database, infrastructure, end user monitoring, and more. Depending on the scale of your deployment, your requirements, and the products you are using, your own deployment is likely to consist of a subset of the components shown in the diagram.

Check warning on line 72 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L72

[Google.WordList] Use 'preceding' instead of 'above'.
Raw output
{"message": "[Google.WordList] Use 'preceding' instead of 'above'.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 72, "column": 25}}}, "severity": "WARNING"}

Check warning on line 72 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L72

[write-good.TooWordy] 'facilitate' is too wordy.
Raw output
{"message": "[write-good.TooWordy] 'facilitate' is too wordy.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 72, "column": 74}}}, "severity": "WARNING"}

Check warning on line 72 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L72

[Google.WordList] Use 'capability' or 'feature' instead of 'functionality'.
Raw output
{"message": "[Google.WordList] Use 'capability' or 'feature' instead of 'functionality'.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 72, "column": 111}}}, "severity": "WARNING"}

Check warning on line 72 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L72

[Google.WordList] Use 'app' instead of 'application'.
Raw output
{"message": "[Google.WordList] Use 'app' instead of 'application'.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 72, "column": 136}}}, "severity": "WARNING"}

Check warning on line 72 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L72

[write-good.Weasel] 'likely' is a weasel word!
Raw output
{"message": "[write-good.Weasel] 'likely' is a weasel word!", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 72, "column": 323}}}, "severity": "WARNING"}

## **AppDynamics Integration**

Check warning on line 74 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L74

[Google.Headings] 'AppDynamics Integration' should use sentence-style capitalization.
Raw output
{"message": "[Google.Headings] 'AppDynamics Integration' should use sentence-style capitalization.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 74, "column": 6}}}, "severity": "WARNING"}

In this section we will take a look at how the AppDynamics agent can be injected and run as a java process alongside the main application in a modern day Kubernetes like ecosystem.

Check warning on line 76 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L76

[Google.We] Try to avoid using first-person plural like 'we'.
Raw output
{"message": "[Google.We] Try to avoid using first-person plural like 'we'.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 76, "column": 17}}}, "severity": "WARNING"}

Check warning on line 76 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L76

[Google.Will] Avoid using 'will'.
Raw output
{"message": "[Google.Will] Avoid using 'will'.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 76, "column": 20}}}, "severity": "WARNING"}

Check warning on line 76 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L76

[write-good.Passive] 'be injected' may be passive voice. Use active voice if you can.
Raw output
{"message": "[write-good.Passive] 'be injected' may be passive voice. Use active voice if you can.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 76, "column": 70}}}, "severity": "WARNING"}

Check warning on line 76 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L76

[Google.WordList] Use 'app' instead of 'application'.
Raw output
{"message": "[Google.WordList] Use 'app' instead of 'application'.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 76, "column": 127}}}, "severity": "WARNING"}

Let’s consider the use case where the AppDynamics platform components are installed and we have all the necessary details with us which is described further below in this section to start integrating the spring boot application with the AppDynamics java agent.

Check warning on line 78 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L78

[write-good.Passive] 'are installed' may be passive voice. Use active voice if you can.
Raw output
{"message": "[write-good.Passive] 'are installed' may be passive voice. Use active voice if you can.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 78, "column": 71}}}, "severity": "WARNING"}

Check warning on line 78 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L78

[Google.We] Try to avoid using first-person plural like 'we'.
Raw output
{"message": "[Google.We] Try to avoid using first-person plural like 'we'.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 78, "column": 89}}}, "severity": "WARNING"}

Check warning on line 78 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L78

[Google.We] Try to avoid using first-person plural like 'us'.
Raw output
{"message": "[Google.We] Try to avoid using first-person plural like 'us'.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 78, "column": 128}}}, "severity": "WARNING"}

Check warning on line 78 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L78

[write-good.Passive] 'is described' may be passive voice. Use active voice if you can.
Raw output
{"message": "[write-good.Passive] 'is described' may be passive voice. Use active voice if you can.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 78, "column": 137}}}, "severity": "WARNING"}

Check warning on line 78 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L78

[Google.WordList] Use 'app' instead of 'application'.
Raw output
{"message": "[Google.WordList] Use 'app' instead of 'application'.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 78, "column": 217}}}, "severity": "WARNING"}

In a Kubernetes like environment, the init-container pattern is used specifically for this use case as it is used to run additional containers at startup that helps initialize an application. Once the init containers have completed their initialization tasks, they terminate but leave the application containers running. For the App Server Agent installation, init containers are used as a delivery mechanism to copy the agent files into the application container at deploy time.

Check warning on line 80 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L80

[write-good.Passive] 'is used' may be passive voice. Use active voice if you can.
Raw output
{"message": "[write-good.Passive] 'is used' may be passive voice. Use active voice if you can.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 80, "column": 62}}}, "severity": "WARNING"}

Check warning on line 80 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L80

[write-good.TooWordy] 'it is' is too wordy.
Raw output
{"message": "[write-good.TooWordy] 'it is' is too wordy.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 80, "column": 104}}}, "severity": "WARNING"}

Check warning on line 80 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L80

[write-good.Passive] 'is used' may be passive voice. Use active voice if you can.
Raw output
{"message": "[write-good.Passive] 'is used' may be passive voice. Use active voice if you can.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 80, "column": 107}}}, "severity": "WARNING"}

Check warning on line 80 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L80

[write-good.TooWordy] 'additional' is too wordy.
Raw output
{"message": "[write-good.TooWordy] 'additional' is too wordy.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 80, "column": 122}}}, "severity": "WARNING"}

Check warning on line 80 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L80

[Google.WordList] Use 'app' instead of 'application'.
Raw output
{"message": "[Google.WordList] Use 'app' instead of 'application'.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 80, "column": 180}}}, "severity": "WARNING"}

Check warning on line 80 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L80

[write-good.TooWordy] 'terminate' is too wordy.
Raw output
{"message": "[write-good.TooWordy] 'terminate' is too wordy.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 80, "column": 266}}}, "severity": "WARNING"}

Check warning on line 80 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L80

[Google.WordList] Use 'stop', 'exit', 'cancel', or 'end' instead of 'terminate'.
Raw output
{"message": "[Google.WordList] Use 'stop', 'exit', 'cancel', or 'end' instead of 'terminate'.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 80, "column": 266}}}, "severity": "WARNING"}

Check warning on line 80 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L80

[Google.WordList] Use 'app' instead of 'application'.
Raw output
{"message": "[Google.WordList] Use 'app' instead of 'application'.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 80, "column": 290}}}, "severity": "WARNING"}

Check warning on line 80 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L80

[write-good.Passive] 'are used' may be passive voice. Use active voice if you can.
Raw output
{"message": "[write-good.Passive] 'are used' may be passive voice. Use active voice if you can.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 80, "column": 377}}}, "severity": "WARNING"}

Check warning on line 80 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L80

[Google.WordList] Use 'app' instead of 'application'.
Raw output
{"message": "[Google.WordList] Use 'app' instead of 'application'.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 80, "column": 443}}}, "severity": "WARNING"}

### **Prerequisites**

- To have the AppDynamics controller XML file present as a ConfigMap available in the namespace where the application is to be instrumented. A sample config file looks like :

Check warning on line 84 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L84

[Google.WordList] Use 'app' instead of 'application'.
Raw output
{"message": "[Google.WordList] Use 'app' instead of 'application'.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 84, "column": 107}}}, "severity": "WARNING"}

Check warning on line 84 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L84

[write-good.Passive] 'be instrumented' may be passive voice. Use active voice if you can.
Raw output
{"message": "[write-good.Passive] 'be instrumented' may be passive voice. Use active voice if you can.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 84, "column": 125}}}, "severity": "WARNING"}

```xml
<?xml version="1.0" encoding="UTF-8"?>
<controller-info>

<controller-host>192.10.10.10</controller-host>
<controller-port>8090</controller-port>
<account-access-key>165e65645-95c1-40e3-9576-6a1424de9625<account-access-key>
<controller-ssl-enabled>false</controller-ssl-enabled>
<enable-orchestration>false</enable-orchestration>
<sim-enabled>false</sim-enabled>
<unique-host-id>your-host-id</unique-host-id>
<!-- The following account-related parameter is necessary only for SaaS installations-->
<!--account-name></account-name-->

</controller-info>
```

- If the AppDynamics controller is enabled with SSL connectivity then one must create an agent truststore that contains the root certificate for the authority that signed the controller's certificate to establish connectivity from machine agent to the AppDynamics controller. This is detailed here : [Enable SSL for Machine Agent](https://docs.appdynamics.com/appd/4.5.x/en/infrastructure-visibility/machine-agent/configure-the-machine-agent/enable-ssl-for-machine-agent)

Check warning on line 103 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L103

[Google.Colons] ': E' should be in lowercase.
Raw output
{"message": "[Google.Colons] ': E' should be in lowercase.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 103, "column": 1}}}, "severity": "WARNING"}

Check warning on line 103 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L103

[write-good.Passive] 'is enabled' may be passive voice. Use active voice if you can.
Raw output
{"message": "[write-good.Passive] 'is enabled' may be passive voice. Use active voice if you can.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 103, "column": 33}}}, "severity": "WARNING"}

Check warning on line 103 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L103

[write-good.Passive] 'is detailed' may be passive voice. Use active voice if you can.
Raw output
{"message": "[write-good.Passive] 'is detailed' may be passive voice. Use active voice if you can.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 103, "column": 282}}}, "severity": "WARNING"}

- The following information is required from the installation of the AppDynamics controller in order for the machine agent in our case the java agent to talk to the AppDynamics controller :

Check warning on line 105 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L105

[write-good.Passive] 'is required' may be passive voice. Use active voice if you can.
Raw output
{"message": "[write-good.Passive] 'is required' may be passive voice. Use active voice if you can.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 105, "column": 29}}}, "severity": "WARNING"}

Check warning on line 105 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L105

[Google.We] Try to avoid using first-person plural like 'our'.
Raw output
{"message": "[Google.We] Try to avoid using first-person plural like 'our'.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 105, "column": 127}}}, "severity": "WARNING"}


```yaml
"AAA_APP_NAME":
valueFrom:
fieldRef:
fieldPath: metadata.labels['app.kubernetes.io/name']
"APPDYNAMICS_AGENT_APPLICATION_NAME": <>
"APPDYNAMICS_JAVA_AGENT_REUSE_NODE_NAME": "true"
"APPDYNAMICS_CONTROLLER_SSL_ENABLED": "true"
"APPDYNAMICS_CONTROLLER_HOST_NAME": <> #For Example: appdynamicscontrolleruat.example.com
"APPDYNAMICS_CONTROLLER_PORT": "8181"
"APPDYNAMICS_POD_NAMESPACE": <> #For Example: backbase
"APPDYNAMICS_AGENT_ACCOUNT_NAME": <>
"APPDYNAMICS_AGENT_TIER_NAME": <>
"APPDYNAMICS_AGENT_ACCOUNT_ACCESS_KEY":
valueFrom:
secretKeyRef:
key: key
name: backbase-appdynamics-account-access-key # A secret to talk to the control plane
"APPDYNAMICS_CONTAINERINFO_FETCH_SERVICE": <> #For Eg : cluster-metadata-service.appdynamics:9090 since the cluster metadata service is running in the cluster in the appdynamics namespace

# The below properties are for the network agent
"APPDYNAMICS_NETVIZ_AGENT_PORT": "3892"
"APPDYNAMICS_NETVIZ_AGENT_HOST":
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: status.hostIP

# The below properties are for the application metadata distinguished by envs
# The below properties refer to the property "AAA_APP_NAME" and derives the below from it.
"APPDYNAMICS_JAVA_AGENT_REUSE_NODE_NAME_PREFIX": "dev-$(AAA_APP_NAME)"
"APPDYNAMICS_AGENT_NODE_NAME": "dev-$(AAA_APP_NAME)"
"APPDYNAMICS_CONTAINER_NAME": "backbase-$(AAA_APP_NAME)"
```
A full list of properties are detailed in this page for the AppDynamics java agent. It’s worth taking a look at : [Java Agent Configuration Properties](https://docs.appdynamics.com/appd/23.x/latest/en/application-monitoring/install-app-server-agents/java-agent/administer-the-java-agent/java-agent-configuration-properties#id-.JavaAgentConfigurationPropertiesv23.11-Agent-ControllerCommunicationProperties)

Check warning on line 142 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L142

[write-good.Passive] 'are detailed' may be passive voice. Use active voice if you can.
Raw output
{"message": "[write-good.Passive] 'are detailed' may be passive voice. Use active voice if you can.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 142, "column": 27}}}, "severity": "WARNING"}

### **Init-Container Pattern**

Check warning on line 144 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L144

[Google.Headings] 'Init-Container Pattern' should use sentence-style capitalization.
Raw output
{"message": "[Google.Headings] 'Init-Container Pattern' should use sentence-style capitalization.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 144, "column": 7}}}, "severity": "WARNING"}

Once all the prerequisites are sorted out, the installation of the java agent using the init-container pattern can be used. The following snippet shows a few volumes declared in a Kubernetes Deployment that describes the mounting of emptyDir for the agent itself and two other volumes for the controller XML configuration file and the CA certs in JKS format to establish trust between the agent and the controller. One can use a Kubernetes secret for storing the CA certs but in this example it’s referred to as a ConfigMap resource.

Check warning on line 146 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L146

[write-good.Passive] 'are sorted' may be passive voice. Use active voice if you can.
Raw output
{"message": "[write-good.Passive] 'are sorted' may be passive voice. Use active voice if you can.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 146, "column": 28}}}, "severity": "WARNING"}

Check warning on line 146 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L146

[write-good.Passive] 'be used' may be passive voice. Use active voice if you can.
Raw output
{"message": "[write-good.Passive] 'be used' may be passive voice. Use active voice if you can.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 146, "column": 116}}}, "severity": "WARNING"}

Check warning on line 146 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L146

[write-good.Weasel] 'few' is a weasel word!
Raw output
{"message": "[write-good.Weasel] 'few' is a weasel word!", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 146, "column": 155}}}, "severity": "WARNING"}

```yaml
volumes:
- name: appd-agent-repo-java
emptyDir: {}
- name: appd-controller-info-xml
configMap:
name: appdynamics-controller-info-xml
- name: appd-cacerts-jks
secret:
defaultMode: 420
secretName: appdynamics-cacerts-jks
volumeMounts:
- mountPath: /opt/appdynamics-java
name: appd-agent-repo-java
- mountPath: /opt/appdynamics-java/conf/controller-info.xml
name: appd-controller-info-xml
subPath: controller-info.xml
readOnly: true
- mountPath: /opt/appdynamics-java/conf/cacerts.jks
subPath: cacerts.jks
name: appd-cacerts-jks
readOnly: true
```

The next step is to include a init-container manifest declaration as part of the Kubernetes Deployment which downloads the Appdynamics java agent and places it in the volume declared for the same.

```yaml
initContainers:
- resources:
limits:
cpu: 200m
memory: 75M
requests:
cpu: 100m
memory: 50M
terminationMessagePath: /dev/termination-log
name: appdynamics-agent
command:
- /bin/sh
- '-c'
- >-
cp -r /opt/appdynamics/. /opt/appdynamics-java && chmod -R 777 /opt/appdynamics-java && chown -R
65532:65532 /opt/appdynamics-java ; ls -la /opt/appdynamics-java
securityContext:
privileged: false
runAsUser: 65532
runAsGroup: 65532
runAsNonRoot: true
readOnlyRootFilesystem: false
allowPrivilegeEscalation: false
imagePullPolicy: IfNotPresent
volumeMounts:
- name: appd-agent-repo-java
mountPath: /opt/appdynamics-java
terminationMessagePolicy: File
image: 'appdynamics/java-agent:24.4.1'

```

The final step is to enable the starting of the java agent when the spring boot application starts. This is done using an additional JAVA_TOOL_OPTIONS environment variable, this name can also be changed as per the use case to pick up additional java options. In the below example _JAVA_OPTIONS is used if JAVA_TOOL_OPTIONS is already used as part of the application deployment.

Check warning on line 207 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L207

[Google.WordList] Use 'app' instead of 'application'.
Raw output
{"message": "[Google.WordList] Use 'app' instead of 'application'.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 207, "column": 81}}}, "severity": "WARNING"}

Check warning on line 207 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L207

[write-good.Passive] 'is done' may be passive voice. Use active voice if you can.
Raw output
{"message": "[write-good.Passive] 'is done' may be passive voice. Use active voice if you can.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 207, "column": 106}}}, "severity": "WARNING"}

Check warning on line 207 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L207

[write-good.TooWordy] 'additional' is too wordy.
Raw output
{"message": "[write-good.TooWordy] 'additional' is too wordy.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 207, "column": 123}}}, "severity": "WARNING"}

Check warning on line 207 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L207

[write-good.Passive] 'be changed' may be passive voice. Use active voice if you can.
Raw output
{"message": "[write-good.Passive] 'be changed' may be passive voice. Use active voice if you can.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 207, "column": 193}}}, "severity": "WARNING"}

Check warning on line 207 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L207

[write-good.TooWordy] 'additional' is too wordy.
Raw output
{"message": "[write-good.TooWordy] 'additional' is too wordy.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 207, "column": 235}}}, "severity": "WARNING"}

Check warning on line 207 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L207

[write-good.Passive] 'is used' may be passive voice. Use active voice if you can.
Raw output
{"message": "[write-good.Passive] 'is used' may be passive voice. Use active voice if you can.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 207, "column": 295}}}, "severity": "WARNING"}

Check warning on line 207 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L207

[Google.WordList] Use 'app' instead of 'application'.
Raw output
{"message": "[Google.WordList] Use 'app' instead of 'application'.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 207, "column": 355}}}, "severity": "WARNING"}

```yaml
"_JAVA_OPTIONS": '-javaagent:/opt/appdynamics-java/javaagent.jar'
```

## **References**

[Cisco AppDynamics Documentation](https://docs.appdynamics.com/en)<br>
[Cisco AppDynamics On-Premises/On-Premises Virtual Appliance](https://docs.appdynamics.com/appd/onprem/24.x/latest/en)<br>
[Java Agent](https://docs.appdynamics.com/appd/22.x/latest/en/application-monitoring/install-app-server-agents/java-agent)<br>
[Install the Java Agent in Containers](https://docs.appdynamics.com/appd/22.x/latest/en/application-monitoring/install-app-server-agents/java-agent/install-the-java-agent/install-the-java-agent-in-containers)<br>
[Use Environment Variables for Java Agent Settings](https://docs.appdynamics.com/appd/22.x/latest/en/application-monitoring/install-app-server-agents/java-agent/install-the-java-agent/use-environment-variables-for-java-agent-settings)<br>
[Use System Properties for Java Agent Settings](https://docs.appdynamics.com/appd/22.x/latest/en/application-monitoring/install-app-server-agents/java-agent/install-the-java-agent/use-system-properties-for-java-agent-settings)<br>
[Init Containers](https://kubernetes.io/docs/concepts/workloads/pods/init-containers/)<br>


## **Conclusion**

Cisco AppDynamics addresses the critical challenges organizations face in managing complex, distributed applications by providing comprehensive visibility, real-time performance monitoring, and detailed diagnostics. By correlating application performance with business outcomes and implementing proactive monitoring and automation, AppDynamics enables organizations to enhance user satisfaction, reduce downtime, and align IT operations with business objectives. This robust APM and ITOA solution ensures that applications run smoothly and efficiently, supporting the organization’s overall digital strategy and operational success.

Check warning on line 226 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L226

[Google.WordList] Use 'app' instead of 'application'.
Raw output
{"message": "[Google.WordList] Use 'app' instead of 'application'.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 226, "column": 234}}}, "severity": "WARNING"}

Check warning on line 226 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L226

[write-good.Weasel] 'smoothly' is a weasel word!
Raw output
{"message": "[write-good.Weasel] 'smoothly' is a weasel word!", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 226, "column": 530}}}, "severity": "WARNING"}

Check warning on line 226 in content/posts/2024/06/19/cisco-appdynamics/post.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/posts/2024/06/19/cisco-appdynamics/post.md#L226

[write-good.TooWordy] 'overall' is too wordy.
Raw output
{"message": "[write-good.TooWordy] 'overall' is too wordy.", "location": {"path": "content/posts/2024/06/19/cisco-appdynamics/post.md", "range": {"start": {"line": 226, "column": 586}}}, "severity": "WARNING"}
Loading