问题描述
我正在尝试将Fluentd用作我的Docker容器设置的中央日志记录服务。
我使用Fluent golang客户端从应用程序写入日志 https://github.com/fluent/fluent-logger-golang
我从应用程序中发布这样的日志行
logger,_ := fluent.New(fluent.Config{FluentPort: 24224,FluentHost: "fluentd"})
defer logger.Close()
tag := "web"
var data = map[string]string{
"foo": "bar","hoge": "hoge",}
error := logger.Post(tag,data)
有效的conf文件
<source>
@type forward
@id app_logs
@label @mainstream
port 24224
</source>
<label @mainstream>
<match **>
@type file
@id app_logs
path /fluentd/log/app.log
append true
</match>
</label>
2020-09-23T00:05:06+00:00 web {"foo":"bar","hoge":"hoge"}
解决方法
您看到的是var nodemailer = require('nodemailer');
var transporter = nodemailer.createTransport({
service: 'gmail',auth: {
user: '[email protected]',pass: 'my_password'
}
});
const sendMail = (email,subject,text) => {
const mailOptions = {
from: email,to: '[email protected]',subject: subject,text: text
};
transporter.sendMail(mailOptions,function(error,info) {
if(error) {
console.log(error);
} else {
console.log('Email sent: ' + info.response);
}
});
}
module.exports = sendMail();
。 Fluentd将时间戳记和标记打印到stdout以进行调试。如果将其替换为任何其他输出-@type stdout
或@type file
并格式化json,它将把数据序列化为没有此前缀的有效json。示例:https://docs.fluentd.org/output/file#less-than-format-greater-than-directive