Amazon EC2
aws ec2 run-instances
--image-id ami-12345678
--instance-type t3.micro
--user-data file://script.yamlSets up log rotation and centralized logging with rsyslog
#cloud-config
package_update: true
package_upgrade: true
packages:
- rsyslog
- logrotate
write_files:
- path: /etc/rsyslog.d/50-default.conf
content: |
# Default logging rules
auth,authpriv.* /var/log/auth.log
*.*;auth,authpriv.none -/var/log/syslog
daemon.* -/var/log/daemon.log
kern.* -/var/log/kern.log
lpr.* -/var/log/lpr.log
mail.* -/var/log/mail.log
user.* -/var/log/user.log
# Application logs
local0.* /var/log/application.log
- path: /etc/logrotate.d/application
content: |
/var/log/application.log {
daily
missingok
rotate 52
compress
delaycompress
notifempty
create 644 root root
postrotate
/bin/kill -HUP `cat /var/run/rsyslogd.pid 2> /dev/null` 2> /dev/null || true
endscript
}
runcmd:
- systemctl enable rsyslog
- systemctl restart rsyslog
- logrotate -d /etc/logrotate.confaws ec2 run-instances
--image-id ami-12345678
--instance-type t3.micro
--user-data file://script.yamldoctl compute droplet create
--image ubuntu-22-04-x64
--size s-1vcpu-1gb
--user-data-file script.yaml
my-dropletgcloud compute instances create
my-instance
--metadata-from-file
user-data=script.yaml