Solutions

Apache Sirona supports several deployments. Basically you can:

Everything locally

TBD

<dependency>
  <groupId>org.apache.sirona</groupId>
  <artifactId>sirona-core</artifactId>
  <version>${sirona.version}</version>
</dependency>
<dependency>
  <groupId>org.apache.sirona</groupId>
  <artifactId>sirona-jdbc</artifactId>
  <version>${sirona.version}</version>
</dependency>
<dependency>
  <groupId>org.apache.sirona</groupId>
  <artifactId>sirona-jpa</artifactId>
  <version>${sirona.version}</version>
</dependency>
<dependency>
  <groupId>org.apache.sirona</groupId>
  <artifactId>sirona-cdi</artifactId>
  <version>${sirona.version}</version>
</dependency>
<dependency>
  <groupId>org.apache.sirona</groupId>
  <artifactId>sirona-jta</artifactId>
  <version>${sirona.version}</version>
</dependency>
<dependency>
  <groupId>org.apache.sirona</groupId>
  <artifactId>sirona-web</artifactId>
  <version>${sirona.version}</version>
</dependency>
<dependency>
  <groupId>org.apache.sirona</groupId>
  <artifactId>sirona-cube</artifactId>
  <version>${sirona.version}</version>
</dependency>
<dependency>
  <groupId>org.apache.sirona</groupId>
  <artifactId>sirona-reporting</artifactId>
  <version>${sirona.version}</version>
  <classifier>classes</classifier>
</dependency>
...

Agent/Collector

This part doesn’t deal with collector/reporting part, see cassandra doc page for more details on how to split reporting webapp and collector webapp using cassandra persistence if you need it.

Push mode

Simply use on agent/client side the cube datastore factory: org.apache.sirona.cube.CubeDataStoreFactory.

Pull mode

First add the pull module and configure the pull datastore factory: org.apache.sirona.agent.webapp.pull.store.PullDataStoreFactory.

Note: this mode needs the servlet org.apache.sirona.agent.webapp.pull.servlet.PullServlet to be deployed. On servlet 3.x servers it should be done automatically on /sirona/pull.

Registration of agents on collectors

Automatic registration

In this mode the agent does a request on the collector to register itself. This needs the servlet to be deployed manually (through web.xml) with the init parameter org.apache.sirona.pull.url initialized to the collector url. It internally relies on org.apache.sirona.cube.CubeBuilder config (see cube config).

Collector agent aware

You can force the collector to know the agents statically setting either on the collector init parameter (if registered manually) or collector sirona configuration (properties) the following property:

org.apache.sirona.collector.collection.agent-urls = http://agent1,http://agent2....