0

SocketHandler を介してメトリクスをカーボンに直接記録するために最善を尽くしましたが、うまくいきませんでした。

logger.conf:

[loggers]
keys=root,carbon

[handlers]
keys=carbonHandler

[formatters]
keys=carbonFormatter

[logger_carbon]
level=DEBUG
handlers=carbonHandler
qualname=carbon
propagate=0

[logger_root]
level=DEBUG
handlers=carbonHandler

[handler_carbonHandler]
class=logging.handlers.SocketHandler
level=DEBUG
formatter=carbonFormatter
args=('$HOST', 2003)

[formatter_carbonFormatter]
format=%(message)s %(created)i

そして、それをログに結び付けます:

import logging
import logging.config

logging.config.fileConfig('logging.conf')

logger = logging.getLogger('carbon')
logger.info('test.python 42')

そして、これは悲しい失敗です...

を使用して炭素と話すことができますecho "test.metric 42 $(date +'%s')" | nc $HOST 2003

何か見えますか?

うまくいかないことをやろうとしますか?

助けてくれてありがとう!

4

1 に答える 1

0

構成ファイルがそのままであると仮定すると、構成ファイルの「$HOST」をホストの実際の名前に置き換えます。その後どうなりますか?それが機能し、名前を環境に依存させる必要がある場合は、使用してみてください

args=(os.environ['HOST'], 2003) 

設定ファイルで。

于 2011-10-05T19:08:59.500 に答える