nsq输出器

功能描述

NSQ输出器能够将特定的日志信息输出到指定nsqd的topic中.

OpenAPI配置日志

配置参数说明

参数名值类型是否必填值可能性默认值说明
namestring实例名
driverstringnsqd驱动名
descriptionstring描述
scopes[]string作用域,此处填写access_log
topicstring所指定的topic
addressarray_stringnsqd地址列表
auth_secretstringnsqd的鉴权密钥
nsq_confobjectnsq生产者配置
typestring["line","json"]lineformatter的类型
formatterobjectformatter的输出内容

注意

  • nsq_conf配置在dashboard上不可见,仅能通过openAPI来配置。
  • address参数可配置多个nsqd地址,用于负载均衡,所使用算法为轮询调度算法。同一个消息时仅会发送至其中一个nsqd。若某个nsqd连接不上,将会使用其他的nsqd进行发送。
  • 若配置了auth_secret,同时nsq_conf内也配置了auth_secret, 则以nsq_conf的为准。
  • nsq_conf用于生产者的配置信息,连接至address内的nsqd的所有生产者共用同一个配置。可配置的信息如鉴权auth_secret字段。更多配置字段见这里open in new window
  • formatter的配置教程点此进行跳转。

返回参数说明

参数名类型是否必含说明
idstring实例id
namestring实例名
driverstring驱动名
descriptionstring描述
professionstring模块名
createstring创建时间
updatestring更新时间
topicstring所指定的topic
addressarray_stringnsqd地址列表
auth_secretstringnsqd的鉴权密钥
nsq_confobjectnsq生产者配置
typestringformatter的类型
formatterobjectformatter的输出内容

创建NSQ输出器示例

curl -X POST  \
  'http://127.0.0.1:9400/api/output' \
  -H 'Content-Type:application/json' \
  -d '{
	"name": "demo_nsqlog",
	"driver": "nsqd",
	"scopes": ["access_log"],
	"topic": "test",
	"address": ["192.168.1.3:4150", "192.168.1.4:4150", "192.168.1.5:4150"],
	"auth_secret": "auth_token",
	"nsq_conf": {
		"read_timeout": 30
	},
	"type": "line",
	"formatter": {
		"fields": ["$request_id", "$request", "$status", "@time", "@proxy", "$response_time"],
		"time": ["$msec", "$time_iso8601", "$time_local"],
		"proxy": ["$proxy_uri", "$proxy_scheme", "$proxy_addr"]
	}
}'

返回结果示例

{
	"address": ["192.168.1.3:4150", "192.168.1.4:4150", "192.168.1.5:4150"],
	"auth_secret": "auth_token",
	"create": "2022-06-14 17:11:00",
	"description": "",
    "scopes": ["access_log"],
	"driver": "nsqd",
	"formatter": {
		"fields": ["$request_id", "$request", "$status", "@time", "@proxy", "$response_time"],
		"proxy": ["$proxy_uri", "$proxy_scheme", "$proxy_addr"],
		"time": ["$msec", "$time_iso8601", "$time_local"]
	},
	"id": "demo_nsqlog@output",
	"name": "demo_nsqlog",
	"profession": "output",
	"topic": "test",
	"type": "line",
	"update": "2022-06-14 17:11:00"
}

NSQ输出器使用

NSQ输出器可用于access-log插件的日志输出,点此跳转至access-log插件。