This repository demonstrates an integration of the ServiceNow REST APIs into Project Symphony.
You can find additional documentation for Project Symphony at dellemc-symphony.readthedocs.io.
Before using this demo, download or build the following Project Symphony containers (git clone, mvn install):
- cpsd-core-capability-registry-service
- cpsd-rackhd-adapter-service
- cpsd-vcenter-adapter-service
- cpsd-core-endpoint-registry-service
- cpsd-coprhd-adapter-service
Verify that the following tools are installed:
- Java Development Kit (version 8)
- Apache Maven 3.0.5+ (including ~/.m2/settings.xml providing relevant repositories)
- Docker daemon
Run the following command to compile the code and create a Docker image:
mvn install
The code is packaged in a JAR file inside a Docker container.
The Docker image needs to connect to a RabbitMQ service on port 5672 and to a capability registry.
The application creates an alert when called by Nagios.
Example commands.cfg entry to create the new handler:
# command to launch apm-nagios
define command{
command_name notify-symphony
command_line /opt/dell/cpsd/apm-nagios/bin/run.sh "\"$HOSTALIAS$\"" "\"$SERVICEDESC$\""
}
Example host config using the handler:
# Define the host that we'll be monitoring
define host{
host_name test-cluster ; The name we're giving to this host
alias VMware vSphere Cluster ; A longer name associated with the host
address localhost ; IP address of the host
hostgroups symphony ; Host groups this is associated with
max_check_attempts 10
}
# Create a new hostgroup for symphony
define hostgroup{
hostgroup_name symphony ; The name of the hostgroup
alias VMware vSphere ; Long name of the group
}
# Create a service to PING to host
define service{
use generic-service ; Inherit values from a template
host_name test-cluster ; The name of the host the service is associated with
service_description PING ; The service description
check_command check_ping!200.0,20%!600.0,60% ; The command used to monitor the service
check_interval 5 ; Check the service every 5 minutes under normal conditions
retry_interval 1 ; Re-check the service every minute until its final/hard state is determined
event_handler notify-symphony ; Use the new handler that we created above
}
When alerts are triggered, a message is placed on the AMQP service bus and can be actioned by other systems subscribed to this type of message.
Project Symphony is a collection of services and libraries housed at GitHub.
Contribute code and make submissions at the relevant GitHub repository level. See our documentation for details on how to contribute.
Reach out to us on the Slack #symphony channel by requesting an invite at {code}Community.
You can also join Google Groups and start a discussion.