Hướng Dẫn Cấu Hình CloudWatch Logs Agent Trên Amazon Linux: Giám Sát Log Dễ Dàng Chuyên mục Devops 2024-10-07 0 Lượt xem 0 Lượt thích 0 Bình luận
Khi triển khai các dịch vụ trên AWS, việc theo dõi log hệ thống là một phần quan trọng trong việc quản lý và giám sát ứng dụng. AWS cung cấp dịch vụ CloudWatch Logs để thu thập, theo dõi, và phân tích log từ các EC2 instance. Trong bài viết này, mình sẽ hướng dẫn bạn cách cài đặt và cấu hình CloudWatch Logs Agent trên Amazon Linux để tự động gửi log từ instance lên CloudWatch Logs.
1. Cài Đặt CloudWatch Logs Agent
AWS cung cấp CloudWatch Agent để thu thập và gửi log từ Amazon Linux lên CloudWatch. Trước tiên, hãy cập nhật kho lưu trữ và cài đặt agent:
sudo yum update -y
sudo yum install amazon-cloudwatch-agent -y
2. Tạo File Cấu Hình Logs
Tiếp theo, bạn cần tạo một file cấu hình định nghĩa các log bạn muốn gửi lên CloudWatch. File này sẽ được tạo ở định dạng JSON.
Ví dụ, bạn có thể tạo một file tại đường dẫn /opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json để giám sát hai file log là /var/log/messages và /var/log/httpd/access_log:
{
"agent": {
"metrics_collection_interval": 60,
"run_as_user": "root"
},
"logs": {
"logs_collected": {
"files": {
"collect_list": [
{
"file_path": "/var/log/nginx/access.log",
"log_group_name": "prod-tokimekikareshi-nginx-access",
"log_stream_name": "{instance_id}/var/log/nginx/access",
"retention_in_days": 90
},
{
"file_path": "/var/log/nginx/error.log",
"log_group_name": "prod-tokimekikareshi-nginx-error",
"log_stream_name": "{instance_id}/var/log/nginx/error",
"retention_in_days": 90
},
{
"file_path": "/home/tokimekikareshi/fuel/app/logs/***.php",
"log_group_name": "prod-tokimekikareshi-php",
"log_stream_name": "{instance_id}-fuel/app/logs",
"retention_in_days": 90
},
{
"file_path": "/home/tokimekikareshi/node/log/***.txt",
"log_group_name": "prod-tokimekikareshi-socket",
"log_stream_name": "{instance_id}-node/logs",
"retention_in_days": 90,
"timezone": "UTC"
}
]
}
}
}
}
- file_path: Đường dẫn tới file log cần gửi.
- log_group_name: Tên của nhóm log trên CloudWatch Logs.
- log_stream_name: Tên luồng log, bạn có thể sử dụng {instance_id} để tự động lấy ID instance.
- timezone: Múi giờ của log.
3. Cấp Quyền IAM Cho EC2
Để EC2 có thể gửi log lên CloudWatch, bạn cần đảm bảo rằng role của instance có quyền truy cập dịch vụ này. Bạn có thể gán policy CloudWatchAgentServerPolicy cho IAM role của EC2 như sau:
- Truy cập AWS Management Console.
- Vào mục IAM > Roles.
- Tìm role gán cho EC2 của bạn.
- Gắn policy có tên
- CloudWatchAgentServerPolicy.
- CloudWatchAgentAdminPolicy
- CloudWatchLogsFullAccess
4. Khởi Động CloudWatch Logs Agent
Khi đã cấu hình file và đảm bảo quyền truy cập, bạn có thể khởi động agent để bắt đầu gửi log lên CloudWatch bằng lệnh:
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl \
-a fetch-config \
-m ec2 \
-c file:/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json \
-s
Lệnh trên sẽ:
- Lấy cấu hình từ file đã tạo.
- Bắt đầu gửi log lên CloudWatch Logs.
5. Kiểm Tra Log Trên CloudWatch
Sau khi khởi động agent, bạn có thể kiểm tra các log trên AWS Management Console:
- Vào mục CloudWatch.
- Chọn Logs.
- Tại đây, bạn sẽ thấy các nhóm log và luồng log đã được định nghĩa trong file cấu hình.
6. Cấu Hình Tự Khởi Động CloudWatch Logs Agent (Tuỳ chọn)
Để đảm bảo agent tự khởi động mỗi khi hệ thống khởi động lại, bạn có thể cấu hình bằng lệnh:
sudo systemctl enable amazon-cloudwatch-agent
sudo systemctl start amazon-cloudwatch-agent
7. Kiểm Tra Log Của CloudWatch Agent (Tuỳ chọn)
Trong trường hợp gặp sự cố, bạn có thể kiểm tra log của agent để biết thêm thông tin:
sudo tail -f /var/log/amazon/amazon-cloudwatch-agent/amazon-cloudwatch-agent.log
Log này sẽ giúp bạn xác định và khắc phục sự cố nếu agent không hoạt động đúng cách.
Tóm Tắt
Trong bài viết này, mình đã hướng dẫn bạn cách cài đặt và cấu hình CloudWatch Logs Agent trên Amazon Linux. Các bước bao gồm:
- Cài đặt CloudWatch Logs Agent.
- Tạo file cấu hình log.
- Cấp quyền IAM cho EC2.
- Khởi động agent.
- Kiểm tra log trên CloudWatch.
- Cấu hình tự khởi động agent.
- Giám sát log của agent.
Việc gửi log lên CloudWatch giúp bạn dễ dàng theo dõi và quản lý hệ thống, đồng thời phát hiện và khắc phục sự cố nhanh chóng.
Bình luận (0)