Python Cloudwatch代理错误:无选项';文件';第'节;伐木工人';

Python Cloudwatch代理错误:无选项';文件';第'节;伐木工人';,python,amazon-cloudwatch,amazon-cloudwatchlogs,Python,Amazon Cloudwatch,Amazon Cloudwatchlogs,我试图在Cloudwatch Logs代理中调整各种记录器的日志级别,根据,它声明我应该能够将以下内容添加到/var/awslogs/etc/awslogs.conf中,以实现这一点: [loggers] keys=root,cwlogs,reader,publisher [handlers] keys=consoleHandler [formatters] keys=simpleFormatter [logger_root] level=INFO handlers=consoleHand

我试图在Cloudwatch Logs代理中调整各种记录器的日志级别,根据,它声明我应该能够将以下内容添加到/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
中看到一个相关条目:

在“记录器”部分中没有选项“文件”

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


你知道我做错了什么吗?

不要将这些选项添加到
awslogs.conf
。将它们添加到一个单独的文件中,然后通过
logging\u config\u 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
...
[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
/etc/awslogs/logging.conf

[general]
state_file = /var/lib/awslogs/agent-state
logging_config_file = /etc/awslogs/logging.conf
use_gzip_http_content_encoding = false
...
[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

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

您在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
$ 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
logging.conf看起来像

$ 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
$ 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

是的,谢谢-我终于解决了。。忘了更新