diff --git a/apps/netmonitor/harvester.config b/apps/netmonitor/harvester.config
new file mode 100644
index 0000000000000000000000000000000000000000..91f3332245048fd02000bdaf6449aab6eb58b17a
--- /dev/null
+++ b/apps/netmonitor/harvester.config
@@ -0,0 +1,130 @@
+# dropped jobs
+statGroup.0.name=droppedJobs
+statGroup.0.detail.0.name=num dropped jobs (minute)
+statGroup.0.detail.0.option=stat_jobQueue.droppedJobs.60m
+statGroup.0.detail.0.field=3
+statGroup.0.detail.1.name=num dropped jobs (hour)
+statGroup.0.detail.1.option=stat_jobQueue.droppedJobs.60h
+statGroup.0.detail.1.field=3
+# 
+statGroup.1.name=encryptTime
+statGroup.1.detail.0.name=encryption time avg ms (minute)
+statGroup.1.detail.0.option=stat_crypto.elGamal.encrypt.60s
+statGroup.1.detail.0.field=0
+statGroup.1.detail.1.name=num encryptions (minute)
+statGroup.1.detail.1.option=stat_crypto.elGamal.encrypt.60s
+statGroup.1.detail.1.field=7
+statGroup.1.detail.2.name=encryption time avg ms (hour)
+statGroup.1.detail.2.option=stat_crypto.elGamal.encrypt.60s
+statGroup.1.detail.2.field=0
+statGroup.1.detail.3.name=num encryptions (hour)
+statGroup.1.detail.3.option=stat_crypto.elGamal.encrypt.60s
+statGroup.1.detail.3.field=7
+# 
+statGroup.2.name=processingTime
+statGroup.2.detail.0.name=process time avg ms (minute)
+statGroup.2.detail.0.option=stat_transport.sendProcessingTime.60s
+statGroup.2.detail.0.field=0
+statGroup.2.detail.1.name=process events (minute)
+statGroup.2.detail.1.option=stat_transport.sendProcessingTime.60s
+statGroup.2.detail.1.field=7
+statGroup.2.detail.2.name=process time avg ms (hour)
+statGroup.2.detail.2.option=stat_transport.sendProcessingTime.60m
+statGroup.2.detail.2.field=0
+statGroup.2.detail.3.name=process events(hour)
+statGroup.2.detail.3.option=stat_transport.sendProcessingTime.60m
+statGroup.2.detail.3.field=7
+# 
+statGroup.3.name=jobInfo
+statGroup.3.detail.0.name=job run avg ms (minute)
+statGroup.3.detail.0.option=stat_jobQueue.jobRun.60s
+statGroup.3.detail.0.field=0
+statGroup.3.detail.1.name=job lag avg ms (minute)
+statGroup.3.detail.1.option=stat_jobQueue.jobLag.60s
+statGroup.3.detail.1.field=0
+statGroup.3.detail.2.name=job count (minute)
+statGroup.3.detail.2.option=stat_jobQueue.jobRun.60s
+statGroup.3.detail.2.field=7
+statGroup.3.detail.3.name=job run avg ms (hour)
+statGroup.3.detail.3.option=stat_jobQueue.jobRun.60m
+statGroup.3.detail.3.field=0
+statGroup.3.detail.4.name=job lag avg ms (hour)
+statGroup.3.detail.4.option=stat_jobQueue.jobLag.60m
+statGroup.3.detail.4.field=0
+statGroup.3.detail.5.name=job count (hour)
+statGroup.3.detail.5.option=stat_jobQueue.jobRun.60m
+statGroup.3.detail.5.field=7
+# 
+statGroup.4.name=tunnels
+statGroup.4.detail.0.name=participating tunnels count (5 minutes)
+statGroup.4.detail.0.option=stat_tunnel.participatingTunnels.5m
+statGroup.4.detail.0.field=0
+statGroup.4.detail.1.name=participating tunnels joined (5 minutes)
+statGroup.4.detail.1.option=stat_tunnel.participatingTunnels.5m
+statGroup.4.detail.1.field=3
+statGroup.4.detail.2.name=participating tunnels count (hour)
+statGroup.4.detail.2.option=stat_tunnel.participatingTunnels.60m
+statGroup.4.detail.2.field=0
+statGroup.4.detail.3.name=participating tunnels joined (hour)
+statGroup.4.detail.3.option=stat_tunnel.participatingTunnels.60m
+statGroup.4.detail.3.field=3
+# 
+statGroup.5.name=transfer
+statGroup.5.detail.0.name=messages sent (5 minutes)
+statGroup.5.detail.0.option=stat_transport.sendMessageSize.5m
+statGroup.5.detail.0.field=7
+statGroup.5.detail.1.name=send message size avg (5 minutes)
+statGroup.5.detail.1.option=stat_transport.sendMessageSize.5m
+statGroup.5.detail.1.field=0
+statGroup.5.detail.2.name=messages sent (hour)
+statGroup.5.detail.2.option=stat_transport.sendMessageSize.60m
+statGroup.5.detail.2.field=7
+statGroup.5.detail.3.name=send message size avg (hour)
+statGroup.5.detail.3.option=stat_transport.sendMessageSize.60m
+statGroup.5.detail.3.field=0
+statGroup.5.detail.4.name=messages received (5 minutes)
+statGroup.5.detail.4.option=stat_transport.receiveMessageSize.5m
+statGroup.5.detail.4.field=7
+statGroup.5.detail.5.name=receive message size avg (5 minutes)
+statGroup.5.detail.5.option=stat_transport.receiveMessageSize.5m
+statGroup.5.detail.5.field=0
+statGroup.5.detail.6.name=messages received (hour)
+statGroup.5.detail.6.option=stat_transport.receiveMessageSize.60m
+statGroup.5.detail.6.field=7
+statGroup.5.detail.7.name=receive message size avg (hour)
+statGroup.5.detail.7.option=stat_transport.receiveMessageSize.60m
+statGroup.5.detail.7.field=0
+# 
+statGroup.6.name=networkDbHandling
+statGroup.6.detail.0.name=lookups received (5 minutes)
+statGroup.6.detail.0.option=stat_netDb.lookupsReceived.5m
+statGroup.6.detail.0.field=3
+statGroup.6.detail.1.name=lookups handled (5 minutes)
+statGroup.6.detail.1.option=stat_netDb.lookupsHandled.5m
+statGroup.6.detail.1.field=3
+statGroup.6.detail.2.name=lookups matched (5 minutes)
+statGroup.6.detail.2.option=stat_netDb.lookupsReceived.5m
+statGroup.6.detail.2.field=3
+statGroup.6.detail.3.name=lookups received (hour)
+statGroup.6.detail.3.option=stat_netDb.lookupsReceived.60m
+statGroup.6.detail.3.field=3
+statGroup.6.detail.4.name=lookups handled (hour)
+statGroup.6.detail.4.option=stat_netDb.lookupsHandled.60m
+statGroup.6.detail.4.field=3
+statGroup.6.detail.5.name=lookups matched (hour)
+statGroup.6.detail.5.option=stat_netDb.lookupsReceived.60m
+statGroup.6.detail.5.field=3
+# 
+statGroup.7.name=networkDbActivity
+statGroup.7.detail.0.name=lookups sent (hour)
+statGroup.7.detail.0.option=stat_netDb.successPeers.60m
+statGroup.7.detail.0.field=3
+statGroup.7.detail.1.name=lookup peers (hour)
+statGroup.7.detail.1.option=stat_netDb.successPeers.60m
+statGroup.7.detail.1.field=0
+statGroup.7.detail.2.name=db store sent (5 minutes)
+statGroup.7.detail.2.option=stat_netDb.storeSent.5m
+statGroup.7.detail.2.field=3
+statGroup.7.detail.3.name=db store sent (hour)
+statGroup.7.detail.3.option=stat_netDb.storeSent.60m
+statGroup.7.detail.3.field=3
\ No newline at end of file