TASKCTL如何解决作业日志,参数名称乱码问题?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TASKCTL如何解决作业日志,参数名称乱码问题?相关的知识,希望对你有一定的参考价值。

TASKCTL如何解决作业日志,参数名称乱码问题?

参考技术A

TASKCTL是基于GBK字符集开发的,当作业的日志、参数和名称等(通常是包含中文)为其他字符集时会出现乱码。

自版本5.0开始,新增配置文件 $TASKCTLDIR/conf/agtencode.cfg 用于解决这个问题。

举例:假如我在 A服务器上部署了调度,在B服务上部署了代理,现在我要执行B服务器上的job是kettle类型的作业,字符集是UTF-8的。正常情况我配置好作业后,调度作业,日志中的中文不能正常显示,现在我们需要做的很简单,在B服务安装代理的用户下的

注意:这里的在B服务上的配置文件中添加这一行,如果C服务器作业也有kettle作业,也是UTF-8字符集的,那么也是需要配置的,虽说可能麻烦了点,但是如果C服务上的kettle作业不是UTF-8字符集的话,那么这种针对机器而言的配置还是不错的。还有就是,针对有修改了插件,在插件有又添加了GBK的中文输出,那么这样就是有问题的,会出现有插件中提示的中文正常,但是真正作业的日志还是乱码,所以插件最好是不要有中文

TASKCTL5.0日志乱码解决方案

    从大学毕业到现在,做了不少银行外包项目,数据类的项目基本都用到taskctl调度产品,一直习以为然,觉得调度产品都应该是这样的,所以也没觉得怎样,直到后来有两个外包项目没用taskctl调度工具,要接入他们已有的调度体系,瞬间就有点懵逼了,后来进一步了解了下目前银行的调度业,大多都是惨不忍赌,各种方式的都有,银行的运维人员也是比较辛苦,很多项目交付时都用不同的,有的要人工去调用,有的是用crontab封装shell脚本,有的是字符界面,有的是web界面等等,想想如果银行所有的系统都用taskctl,那的把运维美死。taskctl这款产品确实很优秀,但是还是有值得改进的地方,比如任务日志字符集不是GBK时,会有乱码问题,要解决需要用户修改插件(手动挂载转码作业,或者修改作业的字符集),但是都不够简单。终于taskctl5.0版本解决了这个问题,下面是我在他们官网论坛看到的帖子 http://www.taskctl.com/forum/detail_89.html ,这里转载分享给大家。

    举例,假如我在 A服务器上部署了调度,在B服务上部署了代理,现在我要执行B服务器上的job是kettle类型的作业,字符集是UTF-8的。正常情况我配置好作业后,调度作业,日志中的中文不能正常显示,现在我们需要做的很简单,在B服务安装代理的用户下的$TASDKCTLDIR/conf/agtencode.cfg中添加作业一行 kettle UTF-8即可解决日志乱码的问题。

注意 这里的在B服务上的配置文件中添加这一行,如果C服务器作业也有kettle作业,也是UTF-8字符集的,那么也是需要配置的,虽说可能麻烦了点,但是如果C服务上的kettle作业不是UTF-8字符集的话,那么这种针对机器而言的配置还是不错的。还有就是,有的小伙伴修改了插件,在插件有又添加了GBK的中文输出,那么这样就是有问题的,会出现有插件中提示的中文正常,但是真正作业的日志还是乱码,所以插件最好是不要有中文。

以上是关于TASKCTL如何解决作业日志,参数名称乱码问题?的主要内容,如果未能解决你的问题,请参考以下文章

ETL作业调度软件TASKCTL4.1怎么安装?

ETL作业调度软件TASKCTL4.1集群部署

ETL作业调度软件TASKCTL4.1单机部署

ETL作业调度软件TASKCTL4.1怎么购买lic和注册企业版

日志及参数的乱码问题

如何解决MySQL字符集乱码问题