3

我正在尝试调整 Cloudwatch 日志代理中各种记录器的日志级别,并且根据官方 AWS 参考文档,它指出我应该能够将以下内容添加到 /var/awslogs/etc/awslogs.conf,为了实现这一目标:

[loggers]
keys=root,cwlogs,reader,publisher

[handlers]
keys=consoleHandler

[formatters]
keys=simpleFormatter

[logger_root]
level=INFO
handlers=consoleHandler

[logger_cwlogs]
level=INFO
handlers=consoleHandler
qualname=cwlogs.push
propagate=0

[logger_reader]
level=WARNING
handlers=consoleHandler
qualname=cwlogs.push.reader
propagate=0

[logger_publisher]
level=WARNING
handlers=consoleHandler
qualname=cwlogs.push.publisher
propagate=0

[handler_consoleHandler]
class=logging.StreamHandler
level=INFO
formatter=simpleFormatter
args=(sys.stderr,)

[formatter_simpleFormatter]
format=%(asctime)s - %(name)s - %(levelname)s - %(process)d - %(threadName)s - %(message)s

当我添加它时,日志转发停止,我看到一个相关条目/var/log/awslogs.log

No option 'file' in section: 'loggers'

删除整个部分会恢复日志记录,但是 - 显然 - 没有调整日志级别。

有什么想法我可能做错了吗?

4

2 回答 2

4

不要将这些选项添加到awslogs.conf. 将它们添加到一个单独的文件中,然后通过以下logging_config_file键指定awslogs.conf

/etc/awslogs/awslogs.conf

[general]
state_file = /var/lib/awslogs/agent-state
logging_config_file = /etc/awslogs/logging.conf
use_gzip_http_content_encoding = false
...

/etc/awslogs/logging.conf

[loggers]
keys=root,cwlogs,reader,publisher
file=/tmp/test

[handlers]
keys=consoleHandler

[formatters]
keys=simpleFormatter

[logger_root]
level=INFO
handlers=consoleHandler

[logger_cwlogs]
level=INFO
handlers=consoleHandler
qualname=cwlogs.push
propagate=0

[logger_reader]
level=WARNING
handlers=consoleHandler
qualname=cwlogs.push.reader
propagate=0

[logger_publisher]
level=WARNING
handlers=consoleHandler
qualname=cwlogs.push.publisher
propagate=0

[handler_consoleHandler]
class=logging.StreamHandler
level=INFO
formatter=simpleFormatter
args=(sys.stderr,)

[formatter_simpleFormatter]
format=%(asctime)s - %(name)s - %(levelname)s - %(process)d - %(threadName)s - %(message)s
于 2017-01-04T19:54:18.197 回答
1

我们有同样的问题。在我们的案例中,问题的根源是我们将 logging.conf 文件放入/etc/awslogs/config,但您必须将其放入/etc/awslogs.

您在记录器部分使用文件的解决方案对我们不起作用,我们遇到了新错误

"No option 'log_group_name' in section: 'loggers'"

我们的主要 awslogs 文件看起来像

$ cat /etc/awslogs/awslogs.conf 
[general]
state_file = /var/lib/awslogs/agent-state
logging_config_file = /etc/awslogs/logging.conf
use_gzip_http_content_encoding = true

logging.conf 看起来像

$ cat /etc/awslogs/logging.conf 
[loggers]
keys=root,cwlogs,reader,publisher

[handlers]
keys=consoleHandler

[formatters]
keys=simpleFormatter

[logger_root]
level=INFO
handlers=consoleHandler

[logger_cwlogs]
level=INFO
handlers=consoleHandler
qualname=cwlogs.push
propagate=0

[logger_reader]
level=ERROR
handlers=consoleHandler
qualname=cwlogs.push.reader
propagate=0

[logger_publisher]
level=ERROR
handlers=consoleHandler
qualname=cwlogs.push.publisher
propagate=0

[handler_consoleHandler]
class=logging.StreamHandler
level=INFO
formatter=simpleFormatter
args=(sys.stderr,)

[formatter_simpleFormatter]
format=%(asctime)s - %(name)s - %(levelname)s - %(process)d - %(threadName)s - %(message)s

目前我们使用

$ rpm -qa | grep awslogs
awslogs-1.1.2-1.10.amzn1.noarch
于 2017-12-13T16:41:23.147 回答