Chinaunix首页 | 论坛 | 博客
  • 博客访问: 167838
  • 博文数量: 51
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 471
  • 用 户 组: 普通用户
  • 注册时间: 2015-05-11 10:24
文章分类

全部博文(51)

文章存档

2018年(3)

2017年(22)

2016年(9)

2015年(17)

我的朋友

分类: 大数据

2017-11-09 12:02:09

一,PlumberAgent使用方法
注意事项
为了避免数据丢失或重传,务必参考注意事项
启动/停止通过配置文件、agent名字、所用端口来唯一确定一个plumber agnet进程;
启动/停止命令过程中会自动进行注销/注册,如果注销/注册失败会导致启动/停止失败,紧急情况下必须启动时可以用--force忽略注册/注销失败。

配置
plumber.properties
默认的配置文件为${PLUMBER_HOME}/conf/plumber.properties,可以参考配置样例进行配置
*注意:这个文件默认是没有的,需要手动生成
*注意:plumber.properties第一行可以用注释 #parser.class=com.sohu.datacenter.plumber.sdk.register.DefaultConfigParse 指明注册、注销程序所用的配置文件解析类。如果具体请参考自定义组件中的说明。这里一般可以不用修改,也可以不写这个注释。

plumber-env.sh
启动参数在${PLUMBER_HOME}/conf/plumber-env.sh中进行调整;
JAVA_HOME 所用的java的部署路径,不指定的话,将使用默认的java启动;
MONITOR_PORT 监控程序所用端口,这个端口用来区分不同的plumber进程,plumber启动注册的时候会将这个端口上报,一般确定之后不再修改;
JAVA_OPTS java启动参数,设置内存、gc配置等;
MONITOR_CLASS monitor主类,一般不做修改;
REGISTER_CLASS 注册程序主类,一般不做修改;
DEFAULT_CONF_FILE 默认配置文件路径,一般不做修改;
DEFUALT_CONF_DIR 默认conf文件夹路径,主要是包含了log4j的配置等,会添加进java classpath中,一般不做修改;
DEFAULT_AGENT_TYPE 默认agent类型,一般不做修改.

启动
启动脚本为${PLUMBER_HOME}/bin/plumber 不带任何参数执行会显示帮助 启动脚本提供的功能:
启动/停止plumber agent;
注册/注销plumber agent;
列出正在运行的plumber agent 进程pid.
[localhost /opt/sohu-plumber-0.0.6-bin]# bin/plumber
Usage: bin/plumber  [options]...
commands     options                 description
start                               start plumber agent
            -c,--conf         use configs in  directory. DEFAULT: $PLUMBER_HOME/conf
            -n,--name         (required) the name of the agent
            -t,--type         specify agent type,could be source or sink DEFAULT: 
            -f,--file         specify a config file. DEFAULT: ${PLUMBER_HOME}/conf/plumber.properties
            -p,--port         specify a port plumber will use. DEFAULT: 34550
            --foreground            run plumber in foreground
            -Dproperty=value        sets a Java system property value
            -Xproperty=value        sets a Java -X option
            --no-reload-conf        do not reload config file if changed
            --force                 ignore register failure

stop                                stop plumber agent
            -c,--conf         use configs in  directory. DEFAULT: $PLUMBER_HOME/conf
            -n,--name         (required) the name of the agent
            -f,--file         specify a config file. DEFAULT: $PLUMBER_HOME/conf/plumber.properties
            -p,--port         specify a port plumber will use. DEFAULT: 34545
            --force                 ignore register failure

register                            register agent
            -n,--name         (required) the name of the agent
            -f,--file         specify a config file. DEFAULT: $PLUMBER_HOME/conf/plumber.properties
            -p,--port         specify a port plumber will use. DEFAULT: 34545

unregister                          unregister agent
            -n,--name         (required) the name of the agent
            -f,--file         specify a config file. DEFAULT: $PLUMBER_HOME/conf/plumber.properties
            -p,--port         specify a port plumber will use. DEFAULT: 34545

list
            -n,--name         (required) the name of the agent
            -f,--file         specify a config file. DEFAULT: $PLUMBER_HOME/conf/plumber.properties
            -p,--port         specify a port plumber will use. DEFAULT: 34545

help                                show this help text
命令说明
start
start 用于启动plumber agent进程。以下参数为start特有参数,其他参数请参考通用参数说明
注意 start时会先进行注册,如果注册失败,则不执行start。使用参数--force会忽略注册失败强制start
参数说明
参数 说明 默认值
-c,--conf 等同于flume的-c参数 ${PLUMBER_HOME}/conf
-t,--type 指明agent类型,可以为source/sink source
--foreground 不适用nohup进行后台启动,这个参数主要是为了在docker中启动使用的 N/A
--no-reload-conf 等同于flume的同名参数 N/A
-Dproperty=value 等同于flume的同名参数
-Xproperty=value 等同于flume的同名参数
stop
stop 用于停止plumber agent进程,stop的参数请参考通用参数说明
注意 stop时会先进行注销,如果注销失败,则不执行stop。使用参数--force会忽略注销失败强制stop
register
register 用于plumber agent注销, register的参数请参考通用参数说明
通常这个命令不需要手动执行,一般用于测试或者补注册
unregister
unregister 用于plumber agent注销, unregister的参数请参考通用参数说明
通常这个命令不需要手动执行,一般用于测试或者补注销
list
list 用于列出正在运行的plumber agent进程id号, list的参数请参考通用参数说明
通用参数说明
目前只有-n参数是必选的,其他都是可选 现在的帮助文档有点乱,不过可以看出来,下面的配置是通用的。
必选参数
参数 说明
-n 等同于flume的-n参数,指定要启动的agent名称,设置的名字必须在配置文件中有对应的配置 此参数在1.0.3版本后提供了默认值,不再是必选参数
可选参数
参数 说明 默认值
-f,--file 等同于flume的-f参数 ${PLUMBER_HOME}/conf/plumber.properties
-p,--port agent所用的端口号 34545
--force 启动/停止的时候会进行注册/注销,失败的话会终止命令不执行启动/重启。携带这个参数的话会忽略注册/注销失败,强制启动/停止 N/A
使用默认参数启动/停止
注意: 1.0.3之后,默认使用-n agent参数,可以直接通过plumber start来进行启动
唯一需要指定的参数是-n
${PLUMBER_HOME}/bin/plumber start -n ${agent}
${PLUMBER_HOME}/bin/plumber stop -n ${agent}
缺省参数的情况下,所用的的等效配置:
-c ${PLUMBER_HOME}/conf
-f ${PLUMBER_HOME}/conf/plumber.properties(需要手动生成这个文件,默认是没有的
-p 34550
-t source
不使用默认的配置文件启动/停止
需要指定-n ,如果不是用默认的conf/plumber.properites作为配置文件的话,需要指定 -f 参数
${PLUMBER_HOME}/bin/plumber start -n ${agent} -f ${file}
${PLUMBER_HOME}/bin/plumber stop -n ${agent} -f ${file}
使用其他端口启动/停止
需要指定 -n ,如果不使用默认端口启动的话,需要指定 -p 参数
${PLUMBER_HOME}/bin/plumber start -n ${agent} -p ${port}
${PLUMBER_HOME}/bin/plumber stop -n ${agent} -p ${port}

二,PlumberManage使用方法
位置
目前PlumberManager部署路径/opt/plumber-manager/,所用api端口为8080
配置
目前PlumberManager的配置分为2部分: 监控管理部分(default.conf) 以及告警部分 (alert.conf)
监控管理配置
配置文件为default.conf,这个配置修改后需要重启进程
配置项 说明 默认值
kafka.topic 心跳数据所用的kafka topic名称 N/A
kafka.* *中的内容将作为参数直接用于配置kafka consumer。 如kafka.group.id,kafka.consumer.timeout.ms一类的参数 N/A
influx.server manager所用的influxDB的地址,如  N/A
influx.database 所用的influxDB的数据库名称 plumber
influx.retention 所用的默认的influxDB的retention policy autogen
plumber.port manager提供api所用的端口 8080
plumber.checkpoint manager记录checkpoint的文件,可以为绝对路径也可以为相对路径 checkpoint.json
grafana.host 如 10.16.34.188:3000。 grafana用于展示InfluxDB中的数据曲线。Manager可以根据模板自动生成grafana dashboard N/A
example
kafka.auto.commit.enable = false
kafka.zookeeper.connect = 192.168.109.58:2182/kafka-yanchao-test
kafka.consumer.timeout.ms = 100
kafka.auto.offset.reset = smallest
kafka.group.id = test
kafka.topic = plumber

influx.server = 
influx.database = plumber
influx.retention = forever

plumber.port = 8080
plumber.checkpoint = checkpoint.json

grafana.host = 10.16.34.188:3000
告警配置
配置文件为alert.conf。这个配置修改后会自动生效,无需重启进程。
这里分为告警部分以及sender部分
告警部分配置说明
以alert.开头,用于配置告警级别、阈值等。
alert.default用于给出全局默认值
alert.topic.[name]用于对名称为name的topic的告警进行配置
告警类型以及告警级别相关信息,请参考告警设计
告警部分配置项
配置项 说明 默认值
INVALID INVALID 类型的告警级别 FATAL
FAILED FAILED 类型的告警级别 FATAL
DELAYED DELAYED 类型的告警级别 NOTICE
NO_DATA NO_DATA 类型的告警级别 IGNORE
INCOMPLETE INCOMPLETE 类型的告警级别 NOTICE
RECORD_ERR RECORD_ERR 类型的告警级别 NOTICE
DIFF1.threshold.WARN DIFF1 类型的告警的WARN级别的阈值。sink与source记录数不等会触发NOTICE级别的告警,sink/source低于此值触发WARN级别告警。 0.95
DIFF2.threshold.WARN DIFF2 类型的告警的WARN级别的阈值。sink与后续处理流程的输入记录数(process)不等会触发NOTICE级别的告警,sink/process低于此值触发WARN级别告警 0.95
PROCESS_ERR.threshold.WARN PROCESS_ERR 类型告警的WARN级别阈值。后续处理存在error时触发NOTICE级别告警,error/输入数 超过此阈值会触发WARN级别告警 0.05
sender部分配置说明
这部分用于配置告警的sender。sender目前默认实现了微信告警(内部接口)。其他sender可以通过实现接口来进行扩展。配置方式如下:
配置项 说明 默认值
sender.[name].type 名称为 name的sender的类型,使用类名来进行配置,如 com.sohu.datacenter.plumber.manager.alert.sender.WechatAlertSender
sender.[name].* 作为参数传递给sender的 void config(Map configs) 方法,由sender自行决定如何解析

WechatAlertSender
提供的一种默认实现。可以同时配置多个WechatAlertSender,每个有各自的配置,负责发送不同的告警
配置项 说明 默认值
sender.[name].type 需要设置为com.sohu.datacenter.plumber.manager.alert.sender.WechatAlertSender
sender.[name].topics 这个sender负责发送的topic列表。如果为空则发送所有topic的告警;如果非空,则只发送这个列表中的告警
sender.[name].encoding 消息编码格式
其他 作为http请求的参数直接发出
example
alert.default.INVALID = FATAL
alert.default.FAILED = FATAL
alert.default.DELAYED = NOTICE
alert.default.NO_DATA = IGNORE
alert.default.DIFF2.threshold.WARN = 0.95
alert.default.PROCESS_ERR.threshold.WARN = 0.05

alert.topic.zhiqu.DELAYED=WARN
alert.topic.zhiqu.INCOMPLETE=WARN
alert.topic.zhiqu.DIFF1.threshold.WARN = 0.99
alert.topic.zhiqu.DIFF2.threshold.WARN = 0.99

alert.topic.app-test-container0.DELAYED = NOTICE
alert.topic.app-test-container0.RECORD_ERR = NOTICE
alert.topic.app-test-container0.DIFF1.threshold.WARN = 0
alert.topic.app-test-container0.DIFF2.threshold.WARN = 0
alert.topic.app-test-container0.PROCESS_ERR.threshold.WARN = 1

sender.wx1.type = com.sohu.datacenter.plumber.manager.alert.sender.WechatAlertSender
sender.wx1.topics = zhiqu app-test1 app-test-container0
sender.wx1.server = 
sender.wx1.encoding = utf-8
sender.wx1.msgType = tag
sender.wx1.toTag = 2
sender.wx1.agentId = 8
脚本
执行bin/plumber-manager时不带任何参数可以看使用说明








阅读(1054) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~