SNAMP represents a protocol bridge between manageable IT resources with different monitoring&management protocols and your monitoring&management software. SNAMP can help you to reduce the management costs for the complex IT infrastructure.
- CPU Arch: x86/x64
- Runtime: Java SE 8 or higher (Oracle HotSpot or OpenJDK is recommended but not required)
- OS: Ubuntu (Server) 12.04 or higher, Windows 7/8/10, Windows Server 2003/2012, RedHat, OpenSUSE, CentOS
- RAM: 2Gb or higher
- JDK 8 or higher (Oracle HotSpot or OpenJDK is recommended but not required)
How to build
First, you should build SNAMP using Development profile. After, you can switch to Release profile and build SNAMP Distribution Package.
Not all dependencies located at the Maven Central. Some dependencies are proprietary libraries. Therefore, it is necessary to prepare your local Maven repository as follows.
SNAMP uses the following third-party repositories:
You can do this automatically using
maven utility or IDE.
Generally, you need to pass
-Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true -Djsse.enableSNIExtension=false
maven process when first importing the project.
If you use IntelliJ IDEA 15/2016 as IDE - follow the instructions:
- Open File -> Settings menu
- Find Build, Execution, Deployment -> Build Tools -> Maven -> Runner
- Paste JVM args described above into VM Options text box
- Go to Maven Projects tab
- Select snamp module
- Execute clean action
- Execute validate action
Note: Please verify that IntelliJ IDEA correctly recognized Maven Home (M2_HOME environment variable)
Also, you can do this without IDE with the following command:
cd <snamp-project-dir>/third-party-libs/bundlized/snmp4j export MAVEN_OPTS="-Xmx512m -Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true -Djsse.enableSNIExtension=false" mvn clean package
SNAMP uses the following third-party libraries not placed on any Maven repository: IBM WebSphere MQ libraries for Java IBM WebSphere MB (Integration Bus) libraries for Java
Copy WebSphere the following libraries to
WebSphere MQ classes for Java located in
MQ_INSTALLATION_PATH/java/lib repository on Linux or
MQ_INSTALLATION_PATH\java\lib on Windows.
See WebSphere MQ classes for Java for more information about WMQ Java API.
third-party-libs/binaries/mvn-install.sh shell script.
SNAMP project contains two category of tests:
- Unit tests located in their bundles and running at
- Integration tests located in
It is necessary to install all OSGi bundles into local Maven repository before running integration tests.
Therefore, integration tests can be executed at
site build phase of
SNAM project provides the following Maven profiles:
Developmentprofile disables all unit and integrations tests in the project
Releaseprofile enables to assembly final SNAMP Distribution package on top of Apache Karaf container
SNAMP uses Semantic Versioning for each component separately.
Given a version number MAJOR.MINOR.PATCH, increment the:
- MAJOR version when you make incompatible API changes,
- MINOR version when you add functionality in a backwards-compatible manner, and
- PATCH version when you make backwards-compatible bug fixes.
But versioning policy of SNAMP distribution package based the following rules:
- Every MINOR change in the component cause increment of the MINOR version of distribution package
- Every PATCH change in the component cause increment of the PATCH version of distribution package
- Every MAJOR change in the adapter/connector =
MINOR + 2version of distribution package
- Every MAJOR change in the core bundle cause recursive changes in adapters/connectors. Therefore, MAJOR version of package should be changed