1

在我的EC2 RHEL实例上,我的/ var/awslogs/etc目录中有以下awslogs.config。我将删除最上面的部分,并在这段代码片段中正确使用日志记录方面。在/ var/log/messages文件和/ var /日志/安全是它使得从/opt/apache-tomcat-8.0.26/logs/PND AWS的日志控制台的CloudWatch但日志awslogs.config转发某些日志,但不转发其他

[/opt/apache-tomcat-8.0.26/logs/PND.log] 
datetime_format = %Y-%m-%d %H:%M:%S 
file = /opt/apache-tomcat-8.0.26/logs/PND.log 
buffer_duration = 5000 
log_stream_name = {instance_id} 
initial_position = start_of_file 
log_group_name = /opt/apache-tomcat-8.0.26/logs/PND.log 
[/var/log/secure] 
datetime_format = %Y-%m-%d %H:%M:%S 
file = /var/log/secure 
buffer_duration = 5000 
log_stream_name = {instance_id} 
initial_position = start_of_file 
log_group_name = /var/log/secure 
[/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 

日志。日志不是。我的REST服务正在Tomcat上运行。

当我SSH服务器,我可以看到日志条目流入/opt/apache-tomcat-8.0.26/logs/PND.log但没有任何显示在AWS上,但是,从我可以看到相同的实例所有来自消息的日志条目和安全。

我检出了awslogs.log文件,并且没有找到“/opt/apache-tomcat-8.0.26/logs/PND.log”的“给定路径找不到文件”的错误,这让我觉得它可以找到它。如果我grep文件,我会得到以下条目。

2015-10-14 16:33:12,585 - cwlogs.push.stream - INFO - 938 - Thread-1 - Starting reader for [xxxxxxxxxxx, /opt/apache-tomcat-8.0.26/logs/PND.log] 

所以,如果文件可以被读取,为什么我没有看到日志条目?

我想知道如果可能,因为该组之前存在另一个实例,如果以某种方式阻止新实例的新条目,但这对我没有意义。实例应该能够共享组,这就是为什么我们可以通过实例ID查看流。

+0

您是否尝试重新启动cwlogs代理? PND.log是一个符号链接? – Mircea

+0

该组存在无关紧要。 – Mircea

+0

最后一个问题:日志中的实体是什么时区?它可能会被推送,但你看着错误的时间窗口 – Mircea

回答

0

今天,我可以得到这个工作后,一场大斗争。

在此之前的工作,你有你的EC2实例安装一些基本的东西AWS

1.蟒蛇
2. sudo pip install awscli
3. sudo pip install -U boto

  1. 配置awslogs我按照https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/QuickStartEC2Instance.html的说明

但是,日志文件未在Cloud Watch日志中发布。

我用Credentials做了2个设置。

1.从IAM-> users-> Security Credentials生成了我的'访问密钥ID'和'秘密访问密钥'。然后我将它与该地区一起设置在/etc/awslogs/awscli.conf中。

2.还设置为〜/ .aws /凭证
在提示符下输入命令'sudo aws configure'。然后设置“访问密钥ID”和“秘密访问密钥”以及该地区。

3.我验证了日志所在目录中的其他人是否具有读取权限。

4.最后一步,我指定的具有完整路径的日志文件名称中/var/awslogs/etc/awslogs.conf

服务一旦被启动和运行sudo service awslogs,验证是否得到记录错误通过燃烧sudo tail /var/log/awslogs.log

通过上述设置,我摆脱了所有错误。

然后转到'https://console.aws.amazon.com/cloudwatch/home?region=ap-south-1#logs:'并在那里查看日志。

不要忘记开火sudo chkconfig awslogs on,这将确保此服务随系统重新启动而启动。

谢谢