С приведенной ниже конфигурацией для AWS наблюдения за облаком:
awslogs.conf
[/var/log/messages]
datetime_format = %b %d %H:%M:%S
file = /var/log/messages
buffer_duration = 2500
log_group_name = /var/log/messages
log_stream_name = {cluster}{instance_id}
и ниже сценарий, используемый с опцией --userdata
для команды aws ec2
:
userdata. sh
# Above agentlogs.conf file is copied to /etc/awslogs/awslogs.conf in AWS EC2 instance
# Configure cloudwatch config file
cat > /etc/cloudwatch-logs.ini <<EOF
[/var/log/messages]
datetime_format = %b %d %H:%M:%S
file = /var/log/messages
buffer_duration = 2500
log_stream_name = {cluster}{instance_id}
initial_position = start_of_file
log_group_name = /var/log/messages
EOF
EC2 запускается из этого сценария (работает вне EC2):
spin_up_ec2. sh
# Using AWS CLI, we spin up EC2 instance using userdata.sh,
# Using metadata service How to read values of {cluster} & {instance_id} syntax, shown above:
aws logs describe-log-streams --log-group-name /var/log/messages --log-stream-name-prefix <grab_cluster_name_value><grab_instance_id_value> --region us-east-1
spin_up_ec2.sh
сидит вне EC2, в пределах того же VP C, в другом su bnet. Итак, я не уверен, как использовать службу метаданных EC2?
EC2 работает в частном порядке su bnet.
{cluster}
значение будет примерно таким: clust1
* Значение 1027 *
{instance_id}
будет примерно таким:
i-1a52627268bc
1)
Как клиент сценария оболочки (spin_up_ec2.sh
) может общаться со службой метаданных EC2 для получения значений из {cluster}
& {instance_id}
?
2)
Помогает ли запуск EC2 в publi c su bnet? Для общения со службой метаданных