So this next post covers my custom rest outbound plugin on vRops 8.1+, as VMware made some improvements to alerting in vRops 8.1 the previous version I had needed to be recompiled and slightly improved.

So for those of you which had deployed my solution on a previous version of vRops and plan to upgrade to 8.1+… Make sure to delete my old JAR before upgrading when the cluster is offline.. upgrade vRops and when it’s back take the cluster offline and follow the instructions below

Upload CustomRestPlugin-vMan-v1.2-vRops_81.jar.zip to /usr/lib/vmware-vcops/user/plugins/outbound on every vRops node.

For those installing fresh, take vRops cluster offline and upload the jar above to the same destination on each node and follow the instructions below + read here so that you understand how to use it after it’s been installed / deployed.

Create the file /usr/lib/vmware-vcops/user/plugins/outbound/vman-custom-rest-plugin/metadata.json and copy in the contents below.

{
"metadata" : {
"description": "CustomRestPlugin",
"ruleEnabled": true,
"nameKey": 10,
"pluginProperties": [
{
"key": "Url",
"nameKey": 1,
"type": "string",
"identType": 0,
"length": 0,
"required": true,
"dispOrder": 1,
"default": "",
"enum": false
},
{
"key": "Username",
"nameKey": 2,
"type": "string",
"identType": 0,
"length": 0,
"required": false,
"dispOrder": 2,
"default": "",
"enum": false
},
{
"key": "Password",
"nameKey": 3,
"type": "password",
"identType": 0,
"length": 0,
"required": false,
"dispOrder": 3,
"default": "",
"enum": false
},
{
"key": "Certificate",
"nameKey": 4,
"type": "string",
"identType": 0,
"length": 0,
"required": false,
"dispOrder": 4,
"default": "",
"enum": false
},
{
"key": "ConnectionCount",
"nameKey": 5,
"type": "int",
"identType": 0,
"length": 0,
"required": true,
"dispOrder": 5,
"default": "20",
"enum": false
},
{
"key": "Method",
"nameKey": 6,
"type": "enum",
"identType": 0,
"length": 0,
"required": true,
"dispOrder": 6,
"default": "",
"enum": true,
"enumList": [ {
"value": "PUT"
},
{
"value": "POST"
}
]
},
{
"key": "Content-type",
"nameKey": 7,
"type": "enum",
"identType": 0,
"length": 0,
"required": true,
"dispOrder": 7,
"default": "",
"enum": true,
"enumList": [ {
"value": "application/xml"
},
{
"value": "application/json"
},
{
"value": "text/xml"
},
{
"value": "text/plain"
},
{
"value": "application/x-www-form-urlencoded"
}
]
},
{
"key": "Request",
"nameKey": 8,
"type": "string",
"identType": 0,
"length": 0,
"required": true,
"dispOrder": 8,
"default": "",
"enum": false
},
{
"key": "debuglogout",
"nameKey": 9,
"type": "enum",
"identType": 0,
"length": 0,
"required": true,
"dispOrder": 9,
"default": "DISABLED",
"enum": true,
"enumList": [ {
"value": "ENABLED"
},
{
"value": "DISABLED"
}
]
}
]
}
}

Now you will need to add the following lines to the bottom of /usr/lib/vmware-vcops/user/conf/messages/notificationPlugin.properties

CustomRestPlugin.4.longDesc=SHA-1 thumbprint of the server's Public SSL Certificate
CustomRestPlugin.7.shortDesc=Content Type
CustomRestPlugin.4.shortDesc=Certificate thumbprint
CustomRestPlugin.3.longDesc=Password
CustomRestPlugin.7.longDesc=Content Type
CustomRestPlugin.5.longDesc=Maximum number of simultaneous connections to the web service
CustomRestPlugin.2.longDesc=User Name
CustomRestPlugin.5.shortDesc=Connection Count
CustomRestPlugin.8.shortDesc=Request
CustomRestPlugin.9.longDesc=Debug output of XML file to location: /storage/log/vcops/log/XXX-CustomRestOutputXXXX.xml
CustomRestPlugin.1.longDesc=Url
CustomRestPlugin.10.shortDesc=Custom Rest Plugin
CustomRestPlugin.8.longDesc=Request
CustomRestPlugin.9.shortDesc=Debug XML output to file
CustomRestPlugin.3.shortDesc=Password
CustomRestPlugin.6.longDesc=Method
CustomRestPlugin.10.longDesc=Custom Rest Plugin
CustomRestPlugin.6.shortDesc=Method
CustomRestPlugin.2.shortDesc=User Name
CustomRestPlugin.1.shortDesc=Url

Then bring the cluster online and enjoy!

Hope this was helpful

vMan