{"id":20304,"date":"2021-01-10T10:07:13","date_gmt":"2021-01-10T10:07:13","guid":{"rendered":"http:\/\/www.devopsschool.com\/blog\/?p=20304"},"modified":"2023-11-08T07:15:20","modified_gmt":"2023-11-08T07:15:20","slug":"how-to-setup-datadog-apm-for-java-application-running-with-tomcat","status":"publish","type":"post","link":"https:\/\/www.devopsschool.com\/blog\/how-to-setup-datadog-apm-for-java-application-running-with-tomcat\/","title":{"rendered":"How to setup Datadog APM for Java application running with Tomcat"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"368\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2023\/09\/image-303-1024x368.png\" alt=\"\" class=\"wp-image-39673\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2023\/09\/image-303-1024x368.png 1024w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2023\/09\/image-303-300x108.png 300w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2023\/09\/image-303-768x276.png 768w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2023\/09\/image-303-1536x551.png 1536w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2023\/09\/image-303.png 1624w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><strong>SOURCE FOR APM &#8211;<\/strong> <a href=\"https:\/\/docs.datadoghq.com\/tracing\/trace_collection\/?tab=containers\" target=\"_blank\" rel=\"noopener\">https:\/\/docs.datadoghq.com\/tracing\/trace_collection\/?tab=containers<\/a><\/p>\n\n\n\n<p>This note is applicable for only Host Based APM.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 1 &#8211; Install Datadog Agent in <a rel=\"noreferrer noopener\" href=\"https:\/\/www.devopsschool.com\/blog\/how-to-install-datadog-agent-in-centos\/\" data-type=\"URL\" data-id=\"https:\/\/www.devopsschool.com\/blog\/how-to-install-datadog-agent-in-centos\/\" target=\"_blank\">Centos<\/a> or <a rel=\"noreferrer noopener\" href=\"https:\/\/www.devopsschool.com\/blog\/how-to-install-datadog-agent-in-ubuntu\/\" data-type=\"URL\" data-id=\"https:\/\/www.devopsschool.com\/blog\/how-to-install-datadog-agent-in-ubuntu\/\" target=\"_blank\">Ubuntu<\/a> or <a rel=\"noreferrer noopener\" href=\"https:\/\/www.devopsschool.com\/blog\/datadog-agent-setup-in-windows-step-by-step-guide\/\" data-type=\"URL\" data-id=\"https:\/\/www.devopsschool.com\/blog\/datadog-agent-setup-in-windows-step-by-step-guide\/\" target=\"_blank\">Windows<\/a><\/h2>\n\n\n\n<h2 class=\"wp-block-heading\">Step 2 &#8211; Install Java Application<\/h2>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-comment\"># Centos<\/span>\n$ yum install java<span class=\"hljs-number\">-11<\/span>-openjdk-devel\n\nUbuntu\n$ sudo apt-get install openjdk<span class=\"hljs-number\">-11<\/span>-jdk -y<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h2 class=\"wp-block-heading\">Step 3 &#8211; Install and Run Apache Tomcat<\/h2>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-comment\"># UBUNTU<\/span>\n$ sudo apt install wget unzip -y\n\n<span class=\"hljs-comment\"># Centos<\/span>\n$ sudo yum install wget unzip -y\n\n$ cd \/opt\n$ wget https:<span class=\"hljs-comment\">\/\/dlcdn.apache.org\/tomcat\/tomcat-9\/v9.0.65\/bin\/apache-tomcat-9.0.65.zip<\/span>\n$ unzip apache-tomcat<span class=\"hljs-number\">-9.0<\/span><span class=\"hljs-number\">.65<\/span>.zip\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"970\" height=\"605\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2021\/04\/Datadog-APM-Java-application-Tomcat-1.jpg\" alt=\"\" class=\"wp-image-20968\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2021\/04\/Datadog-APM-Java-application-Tomcat-1.jpg 970w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2021\/04\/Datadog-APM-Java-application-Tomcat-1-300x187.jpg 300w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2021\/04\/Datadog-APM-Java-application-Tomcat-1-768x479.jpg 768w\" sizes=\"auto, (max-width: 970px) 100vw, 970px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Step 4 &#8211; Download dd-java-agent.jar into \/opt\/ and give permission.<\/h2>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-3\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">$ cd \/opt\n$ wget -O dd-java-agent.jar <span class=\"hljs-string\">'https:\/\/dtdg.co\/latest-java-tracer'<\/span>\n$ chmod <span class=\"hljs-number\">777<\/span> dd-java-agent.jar <\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-3\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h2 class=\"wp-block-heading\">Step 5 &#8211; Edit catalina.sh and following entry<\/h2>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-4\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">$ vi \/opt\/apache-tomcat<span class=\"hljs-number\">-9.0<\/span><span class=\"hljs-number\">.65<\/span>\/bin\/catalina.sh\n\n<span class=\"hljs-comment\"># Make sure dd.service and dd.env as per your choice.<\/span>\n\nCATALINA_OPTS=<span class=\"hljs-string\">\"$CATALINA_OPTS -javaagent:\/opt\/dd-java-agent.jar -Ddd.profiling.enabled=true -Ddd.logs.injection=true -Ddd.trace.sample.rate=1 -Ddd.service=devopsschool -Ddd.env=prod -Ddd.version=1.1\"<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-4\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h2 class=\"wp-block-heading\">Step 6 &#8211; Start Tomcat and Datadog Agent<\/h2>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">$ systemctl restart datadog-agent\n$ cd \/opt\/apache-tomcat-9.0.65\/bin\n$ chmod -R 775 .\n$ .\/startup.sh\n$ ps -eaf | grep tomcat | grep dd<\/code><\/span><\/pre>\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"249\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2021\/04\/Datadog-APM-Java-application-Tomcat-2-1024x249.jpg\" alt=\"\" class=\"wp-image-20969\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2021\/04\/Datadog-APM-Java-application-Tomcat-2-1024x249.jpg 1024w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2021\/04\/Datadog-APM-Java-application-Tomcat-2-300x73.jpg 300w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2021\/04\/Datadog-APM-Java-application-Tomcat-2-768x187.jpg 768w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2021\/04\/Datadog-APM-Java-application-Tomcat-2.jpg 1359w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"393\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2021\/04\/Datadog-APM-Java-application-Tomcat-3.jpg\" alt=\"\" class=\"wp-image-20970\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2021\/04\/Datadog-APM-Java-application-Tomcat-3.jpg 768w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2021\/04\/Datadog-APM-Java-application-Tomcat-3-300x154.jpg 300w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Step 7 &#8211; Generate Traffic using Jmeter on Multiple URL of Tomcat and Example Apps<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"507\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2021\/04\/Datadog-APM-Java-application-Tomcat-4-1024x507.jpg\" alt=\"\" class=\"wp-image-20971\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2021\/04\/Datadog-APM-Java-application-Tomcat-4-1024x507.jpg 1024w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2021\/04\/Datadog-APM-Java-application-Tomcat-4-300x149.jpg 300w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2021\/04\/Datadog-APM-Java-application-Tomcat-4-768x380.jpg 768w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2021\/04\/Datadog-APM-Java-application-Tomcat-4.jpg 1074w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Step &#8211; 8 &#8211; Review the APM Results<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"474\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2021\/04\/Datadog-APM-Java-application-Tomcat-5-1024x474.jpg\" alt=\"\" class=\"wp-image-20972\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2021\/04\/Datadog-APM-Java-application-Tomcat-5-1024x474.jpg 1024w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2021\/04\/Datadog-APM-Java-application-Tomcat-5-300x139.jpg 300w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2021\/04\/Datadog-APM-Java-application-Tomcat-5-768x356.jpg 768w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2021\/04\/Datadog-APM-Java-application-Tomcat-5.jpg 1172w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"485\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2021\/04\/Datadog-APM-Java-application-Tomcat-6-1024x485.jpg\" alt=\"\" class=\"wp-image-20973\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2021\/04\/Datadog-APM-Java-application-Tomcat-6-1024x485.jpg 1024w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2021\/04\/Datadog-APM-Java-application-Tomcat-6-300x142.jpg 300w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2021\/04\/Datadog-APM-Java-application-Tomcat-6-768x364.jpg 768w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2021\/04\/Datadog-APM-Java-application-Tomcat-6.jpg 1330w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n<div class=\"epyt-gallery\" data-currpage=\"1\" id=\"epyt_gallery_97994\"><iframe loading=\"lazy\"  id=\"_ytid_78485\"  width=\"760\" height=\"427\"  data-origwidth=\"760\" data-origheight=\"427\" src=\"https:\/\/www.youtube.com\/embed\/?enablejsapi=1&#038;autoplay=0&#038;cc_load_policy=0&#038;cc_lang_pref=&#038;iv_load_policy=1&#038;loop=0&#038;rel=1&#038;fs=1&#038;playsinline=0&#038;autohide=2&#038;theme=dark&#038;color=red&#038;controls=1&#038;disablekb=0&#038;\" class=\"__youtube_prefs__  no-lazyload\" title=\"YouTube player\"  data-epytgalleryid=\"epyt_gallery_97994\"  allow=\"fullscreen; accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen data-no-lazy=\"1\" data-skipgform_ajax_framebjll=\"\"><\/iframe><div class=\"epyt-gallery-list\"><div>Sorry, there was a YouTube error.<\/div><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>SOURCE FOR APM &#8211; https:\/\/docs.datadoghq.com\/tracing\/trace_collection\/?tab=containers This note is applicable for only Host Based APM. Step 1 &#8211; Install Datadog Agent in Centos or Ubuntu or Windows Step 2 &#8211; Install&#8230; <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_joinchat":[],"footnotes":""},"categories":[2],"tags":[],"class_list":["post-20304","post","type-post","status-publish","format-standard","hentry","category-uncategorised"],"_links":{"self":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/20304","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/comments?post=20304"}],"version-history":[{"count":16,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/20304\/revisions"}],"predecessor-version":[{"id":41274,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/20304\/revisions\/41274"}],"wp:attachment":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media?parent=20304"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/categories?post=20304"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/tags?post=20304"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}