mirror of
https://bitbucket.org/atlassian/dc-deployments-automation.git
synced 2025-12-16 18:03:06 -06:00
90 lines
3.3 KiB
YAML
90 lines
3.3 KiB
YAML
---
|
|
|
|
- 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:
|
|
- "<filter>\
|
|
<filter-name>ApplicationInsightsWebFilter</filter-name>\
|
|
<filter-class>com.microsoft.applicationinsights.web.internal.WebRequestTrackingFilter</filter-class>\
|
|
</filter>"
|
|
- "<filter-mapping>\
|
|
<filter-name>ApplicationInsightsWebFilter</filter-name>\
|
|
<url-pattern>/*</url-pattern>\
|
|
</filter-mapping>"
|
|
when: appInsightsFilter.count < 1
|