Je configure le gestionnaire d'API wso2 1.10.x avec DAS 3.0.1 pour la publication de statistiques d'API à l'aide de mysql. Mon système de gestionnaire d'API est mis en cluster avec un nœud de passerelle sur une machine virtuelle distincte. J'ai suivi les documents suivants pour activer l'analyse du gestionnaire d'API via l'interface utilisateur. http://mail.wso2.org/mailarchive/dev/2016-March/060905.html J'ai également suivi ce document pour activer manuellement l'analyse pour le nœud de travail de la passerelle. http://blog.rukspot.com/2016/05/configure-wso2-apim-analytics-using-xml.html Après la configuration, je redémarre tous les serveurs, tout semble bien. Mais quand je fais une demande à l'API publiée, à partir du journal des travailleurs de la passerelle, je ne vois pas la publication de statistiques au récepteur DAS. Aucune donnée dans les tableaux récapitulatifs DAS non plus. Que dois-je faire pour que le noeud du gestionnaire de passerelle API Manager publie les statistiques dans DAS? Est-ce que je manque quelque chose dans la configuration?La passerelle wo2 api manager en cluster ne publie pas de statistiques vers DAS
Je vois l'exception suivante dans DAS (que je ne pense pas est liée au nœud de travailleur passerelle ne pas publier des statistiques).
[2017-05-31 17:02:46,660] INFO {org.wso2.carbon.event.processor.manager.core.internal.CarbonEventManagementService} - Starting polling event receivers
Exception in thread "dag-scheduler-event-loop" java.lang.NoClassDefFoundError: org/xerial/snappy/SnappyInputStream
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at org.apache.spark.io.CompressionCodec$.createCodec(CompressionCodec.scala:66)
at org.apache.spark.io.CompressionCodec$.createCodec(CompressionCodec.scala:60)
at org.apache.spark.broadcast.TorrentBroadcast.org$apache$spark$broadcast$TorrentBroadcast$$setConf(TorrentBroadcast.scala:73)
at org.apache.spark.broadcast.TorrentBroadcast.<init>(TorrentBroadcast.scala:80)
at org.apache.spark.broadcast.TorrentBroadcastFactory.newBroadcast(TorrentBroadcastFactory.scala:34)
at org.apache.spark.broadcast.BroadcastManager.newBroadcast(BroadcastManager.scala:62)
at org.apache.spark.SparkContext.broadcast(SparkContext.scala:1292)
at org.apache.spark.scheduler.DAGScheduler.org$apache$spark$scheduler$DAGScheduler$$submitMissingTasks(DAGScheduler.scala:874)
at org.apache.spark.scheduler.DAGScheduler.org$apache$spark$scheduler$DAGScheduler$$submitStage(DAGScheduler.scala:815)
at org.apache.spark.scheduler.DAGScheduler.handleJobSubmitted(DAGScheduler.scala:799)
at org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.onReceive(DAGScheduler.scala:1429)
at org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.onReceive(DAGScheduler.scala:1421)
at org.apache.spark.util.EventLoop$$anon$1.run(EventLoop.scala:48)
Caused by: java.lang.ClassNotFoundException: org.xerial.snappy.SnappyInputStream cannot be found by spark-core_2.10_1.4.2.wso2v1
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:501)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
Configuration (api-manager.xml):
<APIUsageTracking>
<Enabled>true</Enabled>
<DASServerURL>{tcp://10.14.3.93:7614}</DASServerURL>
<DASRestApiURL>10.14.3.93:9446</DASRestApiURL>
<SkipEventReceiverConnection>false</SkipEventReceiverConnection>
<PublisherClass>org.wso2.carbon.apimgt.usage.publisher.APIMgtUsageDataBridgeDataPublisher</PublisherClass>
<PublishResponseMessageSize>false</PublishResponseMessageSize>
</APIUsageTracking>
Salut Laomao, pouvez-vous joindre plus d'informations (par exemple les configurations etc) afin que tout le monde peut avoir un aperçu du problème. –
Voici la partie principale de api-manager.xml pour le nœud de travailleur de la passerelle: vrai {tcp: //10.14.3.93: 7614} DASServerURL> https : //10.14.3.93: 9446 DASRestApiURL> false SkipEventReceiverConnection> org.wso2.carbon.apimgt.usage.publisher.APIMgtUsageDataBridgeDataPublisher PublisherClass> false PublishResponseMessageSize > APIUsageTracking> Je n'ai rien changé pour Merci. –
laomao
Salut Fabian, Y a-t-il des logs dans le noeud de travail wso2 qui peuvent montrer que le noeud worker essaie de publier des statistiques (quel que soit l'échec ou le succès)? Je n'en vois pas dans le fichier wso2carbon.log. Merci. – laomao