CloudWatchLogs에 Rails 애플리케이션의 로그 표시
5937 단어 AWSCloudWatchRailsCentOSRuby
CloudWatch에서 Rails 응용 프로그램을 사용하는 EC2의 로그를 표시하는 절차를 요약했습니다.
공식 문서를 바탕으로 상세한 부분도 설명한다.
CloudWatchLogs의 이점
전제 조건
우선 정책 생성
1. 선택
IAM > ロール > ポリシーを作成
1. JSON 태그를 선택하고 다음 텍스트를 붙여넣습니다. 다음: 태그로{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents",
"logs:DescribeLogStreams"
],
"Resource": [
"*"
]
}
]
}
3. 입력하지 않음, 다음: 확인4. 이름 및 설명 입력
CloudWatchLogsPolicy
, 정책 작성다음 역할 만들기
1. 선택
IAM > ロール > ロールを作成
1. ユースケースの選択
에서 EC2
를 선택하고 다음 단계: 액세스 권한1. 정책 검색에서 방금 작성한
CloudWatchLogsPolicy
을 선택하고 다음 단계: 탭으로 이동1. 아무것도 입력하지 않음, 다음: 확인
1. 캐릭터 이름과 캐릭터 설명서
EC2Role
를 입력하고 캐릭터 만들기EC2에 볼륨 첨부
선택
EC2 > インスタンス > (対象のインスタンス詳細画面) > アクション(画面右上) > セキュリティ > IAMロールを変更
EC2Role
를 선택하여 보관EC2 및 AWS를 위한 액세스 키 등록
# EC2にssh接続後、設定ファイルを開く
vi ~/.aws/credentials
#アクセスキーとシークレットアクセスキーを記述する
[default]
aws_access_key_id = **********************
aws_secret_access_key = **********************
EC2에 CloudWatch 에이전트 설치OS마다 다르게 설치됩니다.
이 문서에서 CentOS 7 은다음은 6.11810에 설치하는 방법에 대해 설명합니다.
다른 OS에 설치하려면 공식을 참조하십시오.
https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/logs/QuickStartEC2Instance.html
# EC2インスタンスにssh接続した後、以下コマンドを実行
# setup用のシェルをダウンロード
curl https://s3.amazonaws.com/aws-cloudwatch/downloads/latest/awslogs-agent-setup.py -O
# setupシェルを実行
# 選択肢を問われたら適当に回答。後で設定ファイルを編集するので適当に答えて大丈夫です。
sudo python ./awslogs-agent-setup.py --region ap-northeast-1
# 上記コマンドでエラー出たらこちらを実行
sudo python3 ./awslogs-agent-setup.py --region ap-northeast-1
프록시 구성 파일 수정EC2에서 CloudWatchLogs로 로그를 보낼 때 설정 파일 수정
필자는 CloudWatchLogs에서 EC2에 활용된 Rails 응용의 로그를 보고 싶어서 다음과 같이 썼다.
# 設定ファイルであるawslog.confを開く
vi /var/awslogs/etc/awslog.conf
# ファイルの末尾に[/var/log/messages]から始まる部分があるのでそこを以下に書き換える
[/aws/ec2/hoge_production]
# 日付のフォーマット。お好きな形式で。
datetime_format = %b %d %H:%M:%S
# EC2インスタンスからCloudWatchLogsに送るログファイルを指定する。今回はhogeアプリのproduction.logを指定。
file = /var/www/applications/workspace/hoge/log/production.log
buffer_duration = 5000
log_stream_name = {instance_id}
initial_position = start_of_file
log_group_name =/aws/ec2/hoge_production
프록시 설정 파일에 대한 자세한 정보를 알고 싶으신 분들은 이쪽을 보세요.https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/logs/AgentReference.html
CloudWatch 에이전트 시작
프록시 구성 파일 수정 후 프록시 시작
# サービス起動
sudo service awslogs start
# システム起動時に毎回自動でサービス起動したい場合はこちらも実行
sudo chkconfig awslogs on
CloudWatchLogs 확인CloudWatch > Log groups > /aws/ec2/hoge_production(エージェント設定ファイルのlog_group_name) > Log stream
에서 로그 확인Rails 프로그램에서 토출된 EC2의 로그는 클라우드 워치 로그에 표시될 것입니다!
로그가 작성되지 않은 경우 EC2의
/var/log/awslogs.log
를 보고 디버깅하십시오.참고 문헌
Reference
이 문제에 관하여(CloudWatchLogs에 Rails 애플리케이션의 로그 표시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/YK0214/items/f260a05083aff39a471b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)