โดยทำได้ 3 ทางคือ
โดยตัวอย่างนี้จะทำการ ส่ง Logs จาก EC2 มาที่ CloudWatch โดยใช้ AWS CloudWatch Logs Agent
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "Logs:PutLogEvents", "Logs:DescribeLogStreams" ], "Resource": [ "arn:aws:logs:*:*:*" ] } ] } |
ทำตามรูปด้านล่างครับ
ใน ec2 ของเราต้องมี Apache webserver อยู่แล้ว และเราจะดึง log ที่อยู่ใน
1 2 3 |
var/log/httpd/access_log var/log/httpd/error_log /var/log/syslog |
มาแสดงและจัดการใน CloudWatch ก่อนอื่นเราต้อง Install the awslogs package
1 2 |
sudo yum update -y sudo yum install -y awslogs |
/etc/awslogs/awslogs.conf
file to configure the logs to track. For more information about editing this file, see CloudWatch Logs Agent Reference./etc/awslogs/awscli.conf
points to the us-east-1 region. To push your logs to a different region, edit the awscli.conf
file and specify that region.awslogs
service.
1 |
sudo service awslogs start |
awslogs
service with the following command.
1 |
sudo systemctl start awslogsd |
On Ubuntu, run apt-get update
before running the commands below.
1 |
curl https://s3.amazonaws.com/aws-cloudwatch/downloads/latest/awslogs-agent-setup.py -O |
1 |
sudo python ./awslogs-agent-setup.py --region us-east-1 |
1 |
sudo python3 ./awslogs-agent-setup.py --region us-east-1 |
1 |
sudo nano /etc/awslogs/awslogs.conf |
1 |
sudo nano /var/awslogs/etc/awslogs.conf |
เลื่อนลงมาท้ายๆไฟล์ จะเจอค่า Config สามารถกำหนดค่าต่างๆ หรือเพิ่มไฟล์ log ที่ต้องการได้ ตัวอย่างตามโค๊ดด้านล่าง
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
[/var/log/syslog] datetime_format = %Y-%m-%d %H:%M:%S file = /var/log/syslog buffer_duration = 5000 log_stream_name = {instance_id} initial_position = start_of_file log_group_name = /var/log/syslog [/home/user1/log/access_log] datetime_format = %Y-%m-%d %H:%M:%S file = /home/user1/log/access.log buffer_duration = 5000 log_stream_name = {instance_id} initial_position = start_of_file log_group_name = /home/user1/log/access_log [/home/user1/log/error_log] datetime_format = %Y-%m-%d %H:%M:%S file = /home/user1/log/error.log buffer_duration = 5000 log_stream_name = {instance_id} initial_position = start_of_file log_group_name = /home/user1/log/error_log |
1 |
sudo nano /etc/awslogs/awscli.conf |
1 |
sudo nano /var/awslogs/etc/aws.conf |
ให้เปลี่ยนตรง region = region ของเรา
1 2 3 4 |
[plugins] cwlogs = cwlogs [default] region = ap-southeast-1 |
1 |
sudo service awslogs start |
ดูเพิ่มเติม
https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/QuickStartEC2Instance.html
ป้ายกำกับ:aws, CloudWatch, CloudWatch Log, ec2