diff --git a/roles/debian/aws_cloudwatch_agent/defaults/main.yml b/roles/debian/aws_cloudwatch_agent/defaults/main.yml index 36d3d3751..48824bcf3 100644 --- a/roles/debian/aws_cloudwatch_agent/defaults/main.yml +++ b/roles/debian/aws_cloudwatch_agent/defaults/main.yml @@ -7,6 +7,9 @@ aws_cloudwatch_agent: # Group prefix. Useful for grouping by environments. # Eg. instead of "syslog", you can have "dev syslog", "prod syslog", etc. log_group_prefix: "" + # Enable collectd integration + collectd: + enabled: false # You'd normally use IAM policies, but that allows # non-AWS servers to log in cloudwatch too. use_credentials: false diff --git a/roles/debian/aws_cloudwatch_agent/tasks/main.yml b/roles/debian/aws_cloudwatch_agent/tasks/main.yml index 515a5750f..75bd69d74 100644 --- a/roles/debian/aws_cloudwatch_agent/tasks/main.yml +++ b/roles/debian/aws_cloudwatch_agent/tasks/main.yml @@ -46,6 +46,7 @@ - name: Install main config. ansible.builtin.template: src: config.json.j2 + force: true dest: /opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.d/config.json owner: cwagent group: cwagent diff --git a/roles/debian/aws_cloudwatch_agent/templates/config.json.j2 b/roles/debian/aws_cloudwatch_agent/templates/config.json.j2 index 6dce2d3fe..7b6d0c294 100755 --- a/roles/debian/aws_cloudwatch_agent/templates/config.json.j2 +++ b/roles/debian/aws_cloudwatch_agent/templates/config.json.j2 @@ -107,7 +107,11 @@ "swap_used_percent" ], "metrics_collection_interval": 60 + }{%- if aws_cloudwatch_agent.collectd is defined and aws_cloudwatch_agent.collectd.enabled %}, + "collectd": { + "metrics_aggregation_interval": 60 } + {%- endif %} } } } diff --git a/roles/debian/collectd/handlers/main.yml b/roles/debian/collectd/handlers/main.yml new file mode 100644 index 000000000..d80ca70d1 --- /dev/null +++ b/roles/debian/collectd/handlers/main.yml @@ -0,0 +1,5 @@ +--- +- name: Restart collectd + ansible.builtin.service: + name: collectd + state: restarted diff --git a/roles/debian/collectd/tasks/main.yml b/roles/debian/collectd/tasks/main.yml index 7f2505e38..6cf5aa76a 100644 --- a/roles/debian/collectd/tasks/main.yml +++ b/roles/debian/collectd/tasks/main.yml @@ -34,3 +34,10 @@ force: true when: - collectd_configdir.stat.exists + notify: Restart collectd + +- name: Ensure collectd service is enabled and started. + ansible.builtin.service: + name: collectd + state: started + enabled: true diff --git a/roles/debian/wazuh/templates/generate_weekly_report.sh.j2 b/roles/debian/wazuh/templates/generate_weekly_report.sh.j2 index 2acdcc151..33ba4ba63 100644 --- a/roles/debian/wazuh/templates/generate_weekly_report.sh.j2 +++ b/roles/debian/wazuh/templates/generate_weekly_report.sh.j2 @@ -41,4 +41,4 @@ fi # Optional: Clean up old report files (keep last 2 weeks) find /tmp -name "weekly-report-*.pdf" -mtime +14 -delete 2>/dev/null -log_message "Weekly report process completed" +log_message "Weekly report process completed" \ No newline at end of file