Skip navigation
All Places > CA APM > Blog
1 2 3 Previous Next


284 posts

Colorful Pencils











CA APM collects and visualizes a wide range of data from your application environment. You can now tap into that data and create your own customized dashboards with the Grafana integration for CA APM. Grafana is an open-source tool that lets you send RegEx queries to the APMSQL database over a JDBC connection. Grafana then collects the query results in a stream of JSON files, which are compiled into dashboards.


Let's Give it a Try: Track Response Times of Frontend Components

Suppose you want to track the response times of your frontend components and compare them side-by-side in one comprehensive chart. To do this, execute the following query in Grafana for your enabled frontend component, in this case, the /purchase component. You can also expand the query to include any other desired frontend components:

apmsql '.*thieves.*' '^Frontends.*thieves.*/purchase(?!.*?Called Backends).*Time.*' agg_value


What to Do and What to Read

Go to Using Grafana with CA APMSQL for further information about the Grafana setup process. The Grafana Getting Started Guide contains a tutorial on building your first dashboard.


I mentioned last week about Release Comparison accessible at PCM for CA Software - Agile Operations Product Compatibility Search . It can be accessed off the main menu, 



New Functionality

Starting today, the PCM Release Comparison  feature shows components and you can filter by components. Data will be added soon for other products  accessible via PCM. Let us know what you think about this feature. 



   This is part of a new series on the Product Compatibility Matrix -- an  database to access at any time product compatibility information for a APM,SSO, IM and other products.


Also see PCM Features: The Overview Tab is the starting point to access this 


Release Comparison 

Starting today, you can access the Release Comparison feature  If you log in from the Internet, it will look like 


Click on release comparison and a ilst like below appears. Use the pull-down menu to change to another Product




or select CSV Export to save the results. Other features will be added to Release Comparison in time. 



 The Product Compatibility Matrix (PCM) is a system that contains a wealth of compatibility content about  APM, ADA, ASM,AXA, DOI, SAAS, and SSO. It has various features that few users know about. 


To access, simply go to 


Note that those users on the CA network will see additional features.


One of my favorite places to go is the Overview Tab. It shows all the components supported for a particular release.


Using the Overview Tab


Once you have clicked on the above URL, you should see something like this 



Click on the Overview UI and select your solution


The supported components for that release appears. You may scroll down or click on CSV Export to save a copy of the contents. And that's it. Please give it a try and let us know how you like it! 


Read All About It: WalkMe

Posted by Olina Employee Sep 4, 2018

Have you noticed the Guide me option in your Digital Experience Insights user interface? Guide me is part of our recent implementation of WalkMe, which guides you through common tasks in the product. WalkMe gives you step-by-step assistance and information as you navigate the user interface.

What To Do and What To Read

Let's get started.

  1. In the Digital Experience Insights product user interface, click Guide me.
    Guide me drop-down list
  2. Select and click a Walk-through.
    Walk-through menu
  3. Read the Walk-through information and follow the steps.
    WalkMe step

Please let us know if you have any feedback or suggestions for WalkMe!


        There has never been a better time to revisit this topic. The original posts may be found at:

Four Keys to Successful APM Searches: Part One 

Four Keys to Successful APM Searches: Part Two 


One of the issues that some Engineers, Partners, and Customers experience is not knowing how to do effective searches. They enter one term after another without success. These articles discuss techniques to yield better results.


What is the goal of a helpful technical knowledge search? 

The desired result is to find a source that is

- trusted

- relevant 

- current 

- appropriate for my situation. (Such as the same operating system, product release etc.)

- contains clear and helpful next steps


Question 1: What is my search strategy? (First Pass.)

 Knowing the results you want to achieve and working backwards can help. For example:


- What are my search constraints (certain time periods, vendors, releases, etc?)

- Is this a general or specific question?

- What are the search repositories best suited for my search? (CA-specific, third-party vendors, general search databases?)

- How many returned articles am I willing to go through?


Question 2: What type of search technical query do I have?


 Just like in a Community, many types of questions are asked, so it is with searches.


 You could require:

- An answer to a general or specific question . (Information Requests). The range of topics could be vast 

    * Error Messages, Starting/Stopping a Component, Log locations, Metric Values and what they mean, and many more

 - Details on one or more tasks. (Such as preparing for or performing an upgrade, system optimization/maintenance.) 

- A broader answer such as backup software and strategies, administration responsibilities, best practices,  and customization approaches.


Knowing the type of query will determine:


-Which sources to search

-How long to search

-Results likely to be returned


Question 3: What is my search strategy? (Deeper Dive.)


So what approaches are best for searches? Here are some to consider:


General>Specific or Specific>General


Each approach has its uses. If completely new to a topic, a general search is a good place to start to get ideas of possible keywords to search for. In some cases, that may be all that is needed. A specific search is good when you already know something on your topic -- Why won't the server component start after an upgrade from release 200.x? Sometimes "backing up" and doing an analogous search may help. (Does this happen with earlier releases and different components? Does it happen during operating or stopping? Is it load related? What is the impact of third-party components on this issue?)




Playing around with the constraints listed above may give you greater insight on what is the optimal search. This can include:

- Data sources used

- Timeframes

- Images, Texts, or Videos returned

- Vendor for operating system , database, etc.

- Release

- Log names

- Error Messages



Search terms, search terms, search terms.
A major reason for not finding information is simply the search terms being used. Some guidelines for successful searches:

- For Java, searching on the error and the troublesome class/method may help 

- Operation being performed  and the components and screens impacted

- Include the component name/version, third-party software version, and APM version. Again try this with one of these factors and then expand to all of them.

- List what is and is not happening. (Such as no reports)


Next time, I will continue on this topic. Until then, happy searching! And please add below your own suggestions! 

Assessing Enterprise Manager (EM) health can be done with the help of Supportability Metrics. However, understanding which metrics to use can be difficult. To facilitate this process, the CA APM documentation team has compiled a list of the top five Supportability Metrics that impact EM performance the most.

What to Do and What to Read

Go to the Top 5 Supportability Metrics page and view the metrics summary. Quickly identify the metric path and view the metric descriptions. See which APM product, component, and version is affected and determine the performance impact. Identify the health range and troubleshooting steps. For configuration recommendations, find links to the relevant documentation.

The CA APM documentation team continues to improve your APM doc by providing a Release Comparison of all major releases. The Release Comparison gives you a comprehensive guide to the major new features in any given release. Now, you can quickly and easily review the advantages of upgrading to a new version.

What To Do and What To Read

Go to the Release Notes of any version to view the Release Comparison in an easy-to-read table. Quickly identify new features and obtain the links to the relevant documentation. 

See the latest version of the Release Comparison to compare all versions, and watch a video of the newest features: Release Comparison.

Release Comparison


Read All About It: Using

Posted by Olina Employee Jul 19, 2018

The CA APM documentation team continues to improve your APM doc. We recently restructured the Getting Started section. Now we have revamped the Using section in the same way. Whether you are reading the on-premise or Digital Experience Insights documentation, the Using top-level page has a fresh new look.

What To Do and What To Read

Go to the Using top-level page to find the information you want in an easy-to-read table format. Quickly identify what to do and read to get your APM tasks done. 

Using page

For example, you want to check the health of agents. The table lists a task: Monitor the health and performance of agents. Corresponding information gives you brief instructions and also a link to the in-depth documentation.


Please let us know if you have any feedback or suggestions for Using!


A Unified Data Model as the Foundation for Advanced Analytics and Machine Learning

The highly complex nature of today’s modern cloud-based distributed applications challenge monitoring approaches. To address this, your teams might be exploring algorithmic IT and artificial intelligence as the means to detect and predict problems faster while prescribing automated self-healing and recovery processes.

By adopting a unified data model dynamically built using a time-journaled directed graph of attributed objects, your teams can have the analytical foundation upon which to collect, group, correlate and visualize more complex performance conditions spanning applications, infrastructure and networks.


In this white paper, you’ll discover why CA’s unified data model enables teams to gain complete visibility across modern application environments. Open, extensible, ontology-agnostic and using time as a primary dimension, this dynamic model allows your teams to purposefully apply artificial intelligence (AI) and machine learning (ML) to drive substantive improvements in application performance without sacrificing speed.


Get your copy here: AIOps Essentials of Root Cause Analytics - CA Technologies 

Getting Started

The CA APM documentation team is constantly working to improve your APM doc. In case you missed it, we've recently restructured the Getting Started section. Whether you are reading the on-premise or Digital Experience Insights documentation, we customized the Getting Started top-level page and content accordingly. Have a look!

What To Do and Read to Get Started

The Getting Started top-level page helps you find the information you want in an easy-to-read table format. Easily identify what to do and read to get started with CA APM:

Look and Learn

For on-premise, browse a library of CA Technologies and CA Educate videos to locate topics of interest. The library includes information such as video duration, target audience, and a description. CA Digital Experience Insights provides video resources for analysts.

Reference Architecture

Reference Architecture documentation provides a high-level overview and more technical information about the APM architecture. For on-premise information, view and download an APM Reference Architecture PDF. For CA Digital Experience Insights, read about the Trials environment and its architecture components such as services and containers.

Please let us know if you have any feedback or suggestions for Getting Started!

Docker images get big real fast. If you follow a few simple guidelines you can avoid bloated images and have image sizes in the megabytes not gigabytes.


I will use GitHub - CA-APM/docker-introscope as example - a project for running CA APM in Docker container forked from a customer and updated with every new release of CA APM. I need to update for version 10.7 SP 1 or - after reading this post - you should be able to do it yourself.


1. Use Minimal Base Images

You can start by using a full blown e.g. CentOS image or you can start with an Alpine linux image. The difference may nearly be a factor 10 in image size:

docker images
ca-standard-images/alpine-jre8    3.6        91ff24d2cd8a 5 months ago  82.5MB
ca-standard-images/centos72-java8 latest     f9de4f60691a 13 months ago 592MB
postgres                          9.6-alpine 6583932564f8 11 days ago   39.3MB
centos/postgresql-96-centos7      latest     33511160be06 3 weeks ago   337MB

So when you choose your (runtime) image, check the image size and look for "alpine" in the tag.

2. Use Multi-Stage Builds

I wrote "runtime image" above because the image that you build in need not be the image you run in:

Multi-stage builds are a new feature requiring Docker 17.05 or higher on the daemon and client. Multistage builds are useful to anyone who has struggled to optimize Dockerfiles while keeping them easy to read and maintain.

(Source: Use multi-stage builds | Docker Documentation)

You may need tools or packages (e.g. *-devel) in your build environment that you don't need in your runtime environment. For CA APM the installer binary (introscope${INTROSCOPE_VERSION}linuxAMD64.bin) alone has 1.6GB because it includes multiple components: the Enterprise Manager, WebView, the database installer, the ACC config server and AOP integration. As we want to build micro services we want to install just one of the components per image. And we don't need the installer once the installation is finished.

So we COPY the installer file to our build container, run the installer and then COPY just the INTROSCOPE_HOME directory to the runtime container.

So for the Enterprise Manager installation the Dockerfile looks like this (abbreviated, see GitHub - CA-APM/docker-introscope for full file):

FROM jeanblanchard/alpine-glibc as install
# install image

WORKDIR /opt/introscope-install
COPY ${INTROSCOPE_BIN} /opt/introscope-install/
COPY eula-introscope/ca-eula.txt SampleResponseFile.Introscope.txt /opt/introscope-install/

# run the installer and hotfix
RUN chmod +x ${INTROSCOPE_BIN} && \
./${INTROSCOPE_BIN} -f SampleResponseFile.Introscope.txt && \
jre/bin/java -jar /opt/introscope-install/APM${INTROSCOPE_HOTFIX}.jar

FROM jeanblanchard/alpine-glibc
# target image
LABEL version="10.7.0-HF3"
COPY --from=install ${INTROSCOPE_HOME}/ ./
COPY /opt/introscope-install/

RUN chmod +x /opt/introscope-install/
EXPOSE 5001 8081 8444
CMD /opt/introscope-install/
  1. We start with out "install" image (line 1): jeanblanchard/alpine-glibc - this need not be the same as the target image below!
  2. Install any packages/tools you need for the build. - We don't need anything else.
  3. Next we copy the installer and other needed files into our container (lines 5-6).
  4. Then we run the installer (lines 9-12).
  5. Now we build our "target" image, again from jeanblanchard/alpine-glibc (line 15). This should be the smallest possible image that has all you need to run your application.
  6. Then we copy the installed application from our "install" image (line 19).
  7. Add everything else that we need: files, ports, volumes, CMD to run (lines 20-24).

The resulting "target" image has just 1.44 GB instead of 3.16 GB if we build in one stage. The difference is (mostly) the installer but could be even more if you need more tools to run your build (JDK, maven, ...).

3. Use Common Dockerfiles

In my example I build images for Enterprise Manager, WebView and ACC Config Server. The first 35 lines of the Dockerfiles of Enterprise Manager and WebView are exactly the same - only some of the copied files are different, e.g. the response file that contains the options for the silent installer.

If you put everything that is common between your images at the top of your Dockerfile and differences as far down as possible, not only the base images but also the resulting layers after the first few steps will be cached and re-used by Docker. 


Following these three guidelines has helped me reduce the size of the CA APM docker images significantly: more than half for the EM and for the Postgres DB to 40 MB vs 1.4 GB.

I'd be interested to hear how you put those rules to work or if you have other hints for building small Docker images.


Docker 1: Pitfalls to avoid

Posted by JMertin Employee Jun 19, 2018

The most common reason a set of dependent docker containers do not start up correctly, is because one of the containers did not come up correctly.

Analyzing many docker-containers, I have noticed very often "developers" to add a startup script that looks like the below (I admit, this is one of the worst versions I have seen):


java -jar ${javajunk} &
sleep 6;
java -jar ${javajunk2} &
sleep 10;
java -jar ${javajunk3}


That is the portion of a script that controls 3 java processes to be started.

We have in that example several issues, things that should definitely not be done!

  1. Docker containers are supposed to handle micro-services. Here, we start 3 java programs each using at least 2GB of Ram etc. Micro-Service is the wrong name here, it should be called Macro-Service.
    The only understandable reason to make a docker-container out of this is to have it all packaged and pre-configured to run.
  2. Programs started into the background. The Docker-Server will not be able to know if the application started or not.
  3. Depending on the host-load, 6 seconds may not be enough. The best part is 10 seconds for the 3rd app to start. Depending on the induced load by app 1 and 2, it may be too short. So if application 3 really depends on application 1 and 2 being started, this can fail. Especially if installed in a customer environment where the host already hosts some other applications causing high CPU load.
  4. Dependencies cannot really be handled here. Means, java app 2 needs to be started after java app 1 is up.



So - what is the solution here?


  1. Start one container per application. If that is not possible, an internal job-handler needs to be written (shell-script is well possible).
  2. Never start a program in the background. When starting the program through a shell-script, prepend "exec" to the call to replace the current shell with that program. In that case, if the application crashes, the docker-server will know.
    Note that this will only tell the docker-server that the application has been started. It will not know if it is ready.
  3. using a. and b., start one container per application and use docker-compose to start the containers in order.
    If that is not possible. Implement inside the applications a "ready" status indicator that can be passed on to other scripts or polled - so they know it is ready and the current app can be started. In the regular linux world, using mysql one can issue a regular mysql call to the mysql-command and check the status of the mysql-server.
    mysqladmin --user=monitor status
    Uptime: 884637  Threads: 1  Questions: 5534424  Slow queries: 144  Opens: .....
     If the status returns a valid entry (known), the next container can be started.
    This will make the order and in time startup of the applications doable. All other implementations, especially java applications which tend to take ages to start, is just a wild guess.
  4. all of the above together.


The main issue will be, if as stated before, one app depends on another one and there is no way to tell when that app is ready. Without an internal "ready" status, this will not really be possible and lead to ugly hacks as "sleep 10" ...

In March of 2018, Gartner published the Gartner Magic Quadrant for Application Performance Monitoring (APM) suites.

In a crowded field combining long established vendors and new entrants, CA Technologies has been recognized as a leader. We believe this is recognition of our solution that addresses the three core tenets of APM – Digital Experience Monitoring, discovery, tracing and diagnostics, and advanced analytic.  CA’s application performance monitoring solutions helps DevOps and IT Operations teams meet the complex application performance challenges confronting businesses today.


Join our webcast on Thursday, June 28 at 11AM EST to hear how CA has engineered its leading APM solution to support the evolving needs of IT and a modern digital business.


Click here to register

Thank you for attending yesterday's community webcast [COMMUNITY WEBCAST] Monitoring Massively Connected Grids:  Energy Sector – May 14, 2018 @ 2 p.m. ET 



Our Presenters: 

  • Mike Beehler, Vice President, Burns & McDonnell
  • Travis Blalack, Sr Manager Grid & Telcom Network Operations, Southern California Edison
  • Adam Frary, CA Services Marketing  fraad01
  • Leroy Chang, Managing Consultant, CA Services chale03

Filter Blog

By date: By tag: