--- - name: Install supporting packages for for app insights package: name: - collectd - wget - cron - name: Download OMS Agent get_url: url: "https://raw.githubusercontent.com/Microsoft/OMS-Agent-for-Linux/master/installer/scripts/onboard_agent.sh" dest: "{{ atl_product_installation_versioned }}" mode: 0755 - name: Check that the OMS Agent is already installed stat: path: /opt/microsoft/omsagent/bin/omsagent.sh register: existing_oms_agent - name: Install OMS Agent command: "{{ atl_product_installation_versioned }}/onboard_agent.sh -w {{ oms_workspace_id }} -s {{ oms_primary_key }} -d opinsights.azure.com" when: existing_oms_agent.stat.isreg is not defined changed_when: false # For Molecule idempotence check - name: Download Collectd App Insights jar get_url: url: "https://github.com/Microsoft/ApplicationInsights-Java/releases/download/{{ app_insights_version }}/{{ item }}" dest: "/usr/share/collectd/java/applicationinsights-collectd-{{ app_insights_version }}.jar" with_items: - "applicationinsights-collectd-{{ app_insights_version }}.jar" - name: Configure Collectd template: src=collectd.conf.j2 dest=/etc/collectd/collectd.conf notify: - Restart Collectd - name: Change collectd.conf permissions file: path: /etc/collectd/collectd.conf mode: '+r' - name: Install JAXB get_url: url: "https://repo1.maven.org/maven2/javax/xml/bind/jaxb-api/{{ app_insights_jaxb_version }}/jaxb-api-{{ app_insights_jaxb_version }}.jar" dest: "/usr/share/collectd/java/" - name: Download App Insights jars get_url: url: "https://github.com/Microsoft/ApplicationInsights-Java/releases/download/{{ app_insights_version }}/{{ item }}" dest: "{{ atl_product_installation_versioned }}/crowd-webapp/WEB-INF/lib/" with_items: - "applicationinsights-core-{{ app_insights_version }}.jar" - "applicationinsights-web-{{ app_insights_version }}.jar" - "applicationinsights-agent-{{ app_insights_version }}.jar" - name: Add java agent to JAVA_OPTS lineinfile: path: "{{ atl_product_installation_versioned }}/apache-tomcat/bin/setenv.sh" regexp: '^export JAVA_OPTS' line: "export JAVA_OPTS=\"$JAVA_OPTS -javaagent:{{ atl_product_installation_versioned }}\ /crowd-webapp/WEB-INF/lib/applicationinsights-agent-{{ app_insights_version }}.jar\"" - name: Add ApplicationInsights.xml configuration template: src=ApplicationInsights.xml.j2 dest={{ atl_product_installation_versioned }}/crowd-webapp/WEB-INF/classes/ApplicationInsights.xml - name: Check for existing App Insights Filter xml: path: "/opt/atlassian/crowd/current/crowd-webapp/WEB-INF/web.xml" xpath: //*[.="ApplicationInsightsWebFilter"] count: yes register: appInsightsFilter - name: Add App Insights Filter xml: path: "/opt/atlassian/crowd/current/crowd-webapp/WEB-INF/web.xml" xpath: /*[name()='web-app'] input_type: xml pretty_print: yes add_children: - "\ ApplicationInsightsWebFilter\ com.microsoft.applicationinsights.web.internal.WebRequestTrackingFilter\ " - "\ ApplicationInsightsWebFilter\ /*\ " when: appInsightsFilter.count < 1