Мы можем отправлять журналы в cloudwatch с помощью агента awslogs, и нам нужно настроить агент cloudwatch с настройкой журналов в AWS EC2. Вам необходимо будет установить агент cloudwatch на экземпляры EC2.
Мы должны установить пакет awslogs на экземпляр EC2, а также создать группу журналов в облачном хранилище aws, куда мы можем отправлять журналы в соответствии с проектом. Вы можете увидеть журналы на панели инструментов cloudwatch. После настройки вы также можете отправлять журналы в корзину s3 для хранения в течение некоторого периода времени, а затем переместить в другое хранилище.
Вы должны создать роль IAM и прикрепить ее к экземплярам EC2. Откройте службу панели IAM.
Теперь выберите roles -> create role -> затем выберите EC2
Нажмите на следующие разрешения. После этого выберите политику
И эти две политики также.
Затем нажмите add tag.
Просмотрите финал и нажмите «create a role».
Теперь нажмите на role policy, которую вы создали, затем выберите attached policy.
Нажмите «Create policy», она откроется на новой вкладке и выберите «JSON», а затем вставьте этот код.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogStreams" ], "Resource": [ "*" ] } ] }
Нажмите на review policy
Если вы думаете, что все в порядке, нажмите на create policy.
Теперь вернитесь к своим ролям, которые вы создали, и нажмите «add policies» и attach the policy.
Теперь присоедините роли IAM к экземплярам EC2:
Выберите instances -> Action -> Instances settings -> Attach IAM roles
Как только вы нажмете на него. Выберите роли и примените их.
Мы закончили роль IAM здесь, и теперь пришло время установить облачные агенты на экземпляры EC2.
[root@cloudwatch ~]# yum install awslogs -y
Запустите и включите сервис, используя следующие команды
[root@cloudwatch ~]# service awslogs start Starting awslogs: [ OK ] [root@cloudwatch ~]# chkconfig awslogs on
Вы также можете использовать эту команду systemctl status awslogsd на rhel 7 или 8.
Примечание. В нашем случае область будет указана на us-east-1, где и запущен сервер. Если вам нужен другой регион, вы можете отредактировать файл awscli.conf.
[root@cloudwatch awslogs]# cat awscli.conf [plugins] cwlogs = cwlogs [default] region = us-east-1
Перейти к местоположению cd /etc/awslogs/ и откройте файл awslogs.conf. Мы настроили журналы для сообщений и журналов доступа в Apache. Точно так же вы настраиваете любые журналы.
[/var/log/messages] datetime_format = %b %d %H:%M:%S file = /var/log/messages buffer_duration = 5000 log_stream_name = {instance_id} initial_position = start_of_file log_group_name = /var/log/messages [/var/log/httpd/access_log] datetime_format = %b %d %H:%M:%S file = /var/log/messages buffer_duration = 5000 log_stream_name = {instance_id} initial_position = start_of_file log_group_name = /var/log/httpd/access_log
Перезапустите службу awslogs с помощью приведенных ниже команд.
[root@cloudwatch awslogs]# service awslogs restart stopping awslogs Stopping awslogs: [ OK ] Starting awslogs: [ OK ]
Проверьте логи Cloudwatch:
Вы увидите раздел журналов при нажатии на сервис Cloudwatch.
Нажмите на Logs -> Затем выберите logs Group. Здесь вы можете увидеть файлы журналов, которые вы настроили на сервере.
Теперь, если вы захотите проверить журналы, нажмите на любой файл журналов.
Как только вы выбрали файл журнала, вы увидите журналы.
Вы, мы закончили настройку awslogs и установку агента cloudwatch.