关于流处理器,我有点困惑.我之前使用过CEP,现在我正在使用Stream Processor.
如果我没弄错的话,Data Analytics Server,CEP和Machine Learner合并到Stream Processor中,是真的吗?
因为我发现了一些不一致的地方,例如SP无法直接在仪表板中发布,而CEP可以.所以,我的问题是,CEP和ML中的所有部分都将流入SP?
我需要知道如何通过事件发布者从Enteprise Integrator到流处理器发布统计信息。
我在EI上执行了事件发布者的以下实现
<?xml version="1.0" encoding="UTF-8"?>
<eventPublisher name="MessageFlowStatisticsPublisher"
statistics="enable" trace="enable" xmlns="http://wso2.org/carbon/eventpublisher">
<from streamName="org.wso2.esb.analytics.stream.FlowEntry" version="1.0.0"/>
<mapping customMapping="disable" type="wso2event"/>
<to eventAdapterType="wso2event">
<property name="username">admin</property>
<property name="protocol">thrift</property>
<property name="publishingMode">non-blocking</property>
<property name="publishTimeout">0</property>
<property name="receiverURL">tcp://xxx:7611</property>
<property encrypted="true" name="password">xxx</property>
</to>
</eventPublisher>
Run Code Online (Sandbox Code Playgroud)
在流处理器上,我有一个简单的siddhi应用程序,用于接收数据并将其打印到日志中,如下所示
@App:name("FlowEntryApp")
@App:description("Plan of flow entry")
@source(type='wso2event', @map(type = 'wso2event'))
define stream FlowEntry(compressed bool, tenantId int, messageId string, flowData string);
@sink(type='log', prefix='My flowEntry:')
define stream TestOutputFlowEntry(messageId string, flowData string);
@info(name='FlowEntryOutput')
from FlowEntry
select messageId, flowData
group by messageId
insert into TestOutputFlowEntry;
Run Code Online (Sandbox Code Playgroud)
另外,我将发布统计信息的所有配置都设置为代理服务的“启用统计信息”和“启用跟踪”。当我调用服务时,eventPublisher将wso2event发送到SP,这可以正常工作。但是在SP端,SP处理错误“缓存中存在streamId org.wso2.esb.analytics.stream.FlowEntry:1.0.0的没有StreamDefinition”
我知道,这个问题出在siddhi应用程序中,我定义了流“ FlowEntry”而不是“ …
我在 3 个节点(即 3 个 VM)中有一个 API Manager 2.6.0 部署。缩写:
我已经设置了组件之间的所有工作,直到我更改了默认管理员密码,用户名保持不变。按照手册我做了
以上 4 点如 手册中所述 - https://docs.wso2.com/display/AM260/Maintaining+Logins+and+Passwords本手册并未说明如何使分布式分析节点接受该密码。
分析安装手册告诉安装 WSO2 API-M Analytics 和 WSO2 API-M(据我所知,这意味着如果两者都在同一台机器上)。同样,本手册没有过多介绍用户在 Analytics 服务器上的配置。
我试图从 DAS 和 SP手册中查看,但 Analytics 没有 auth.configs: 在 YAML 文件中,也没有从 …
我已经在服务器上安装了WSO2 Api Manager,并且正在尝试添加Analytics(分析)。问题是当我在WSO2 Api Manager中更改管理员密码时,我的Google Analytics(分析)实例会保留其旧密码。因此,Api Manager无法再访问Google Analytics(分析)。
如何更改API-M Analytics的密码并创建其他用户?
谢谢 !
编辑:APIM版本2.6.0和APIM-Analytics 2.6.0
我在我的deployment.yaml中添加了auth段,并在api-manager.xml中更改了密码(Analytics段,StreamprocessorPassword属性和StreamProcessorRestApiPassword属性),以与我的Deployment.yaml中的密码匹配。
我还更改了log4j.properties内部的密码(DAS_AGENT和LOGEVENT)。API管理器一直在说我的用户名或密码错误(用户名未更改)
API管理器日志
TID:[-1] [] [2018-11-27 15:51:41,481]错误{org.wso2.carbon.databridge.agent.endpoint.DataEndpointConnectionWorker}-尝试连接至端点时出错。无法借用ssl://10.16.243.135:9711的客户端。{org.wso2.carbon.databridge.agent.endpoint.DataEndpointConnectionWorker} org.wso2.carbon.databridge.agent.exception.DataEndpointLoginException:无法为ssl://10.16.243.135:9711借用客户端。在org.wso2.carbon.databridge.agent.endpoint.DataEndpointConnectionWorker.connect(DataEndpointConnectionWorker.java:134)处在org.wso2.carbon.databridge.agent.endpoint.DataEndpointConnectionWorker.run(DataEndpointConnectionWorker.java:59)处java.util.concurrent.FutureTask.run(FutureTask.java:266)上的.concurrent.Executors $ RunnableAdapter.call(Executors.java:511)在java.util.concurrent上。
API Manager Analytics工作日志
错误{org.wso2.carbon.databridge.core.internal.queue.QueueWorker}-删除格式错误的事件发送的org.wso2.carbon.databridge.core.exception.EventConversionException:转换事件包的loganalyzer:1.0.0时出错org.wso2.carbon.databridge.receiver.thrift.converter.ThriftEventConverter.createEventList(ThriftEventConverter.java:188)上的事件1 org.wso2.carbon.databridge.receiver.thrift.converter.ThriftEventConverter.toEventList(ThriftEventConverter.java: 90)在org.wso2.carbon.databridge.core.internal.queue.QueueWorker.run(QueueWorker.java:72)在java.util.concurrent.Executors $ RunnableAdapter.call(Executors.java:511)在java.util java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)上的.concurrent.FutureTask.run(FutureTask.java:266)。java.lang.Thread.run(Thread.java:748)上的ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:624)原因:org.wso2.carbon.databridge.core.exception.EventConversionException:streamId loganalyzer没有StreamDefinition: 1.0.0存在于org.wso2.carbon.databridge.receiver.thrift.converter.ThriftEventConverter.createEventList(ThriftEventConverter.java:171)的缓存中...还有7个
我在流中获取字符串数据,我只想保留字母数字字符。我注意到 Siddhi 提供了一个 regexp 函数,正如这里提到的。但问题是它返回一个布尔值而不是修改后的字符串。有没有办法直接获取修改后的字符串?这是我的代码。
@App:name("strtest")
@App:description("Description of the plan")
-- Please refer to https://docs.wso2.com/display/SP400/Quick+Start+Guide on getting started with SP editor.
define stream InboundStream(ipstring string);
@sink(type='log', prefix='Modified string')
define stream Opstream(ropstring bool);
from InboundStream
select str:regexp(ipstring, "^A-Za-z0-9") as ropstring insert into Opstream;
Run Code Online (Sandbox Code Playgroud)
是否有返回修改后的正则表达式字符串的函数?