我在服务器上运行awslogs agent,当我在AWS控制台中查看CloudWatch日志时,日志大约落后60分钟。我们的服务器每小时产生大约650MB的数据,似乎代理无法跟上。
这是我们的缩写配置文件:
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(getApplicationContext(),"FAB button clicked",Toast.LENGTH_LONG).show();
}
});
是否有一种通用的方法来加速awslogs代理?
答案 0 :(得分:5)
数据量(> 0.2MB / s)对于代理来说不是问题。该代理的每个日志文件的容量约为3MB / s。但是,如果您对多个日志文件使用相同的日志流,则代理会写入相同的流,并最终相互阻塞。在日志文件之间共享流时,吞吐量会减半。
此外,还可以配置可能会对性能产生影响的a few properties:
[application.log]
datetime_format = %Y-%m-%d %H:%M:%S
time_zone = UTC
file = var/output/logs/application.json.log*
log_stream_name = {hostname}
initial_position = start_of_file
log_group_name = ApplicationLog
[service_log]
datetime_format = %Y-%m-%dT%H:%M:%S
time_zone = UTC
file = var/output/logs/service.json.log*
log_stream_name = {hostname}
initial_position = start_of_file
log_group_name = ServiceLog
为了解决我的问题,我做了两件事:
代理人没有跟上问题。这是我的最终配置文件:
buffer_duration = <integer>
batch_count = <integer>
batch_size = <integer>
答案 1 :(得分:0)
awslogs代理支持日志轮换 所以这个:
file = var/output/logs/application.json.log*
会收到太多文件吗?
尝试:
file = var/output/logs/application.json.log
加快这个过程。