Ben*_*lan 3 xml unix curl web-services nagios
我现在通过Soap UI手动发送请求,请求如下.
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"xmlns:sear="http://www.mysite.com/ws/search/searchcustomer">
<soapenv:Header/>
<soapenv:Body>
<sear:searchCustomerRequest>
<sear:sustomerID>0000245</sear:sustomerID>
<sear:registrationStatus>R</sear:registrationStatus>
<sear:versionNumber>1.0</sear:versionNumber>
</sear:searchCustomerRequest>
</soapenv:Body>
</soapenv:Envelope>
Run Code Online (Sandbox Code Playgroud)
现在,我希望可以使用nagios中的check_http类/函数发送它,
你知道这是否可行?
我希望它会给我以下内容:
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<env:Header/>
<env:Body>
<ns2:searchGprnResponse xmlns:ns2="http://www.mysite.com/ws/gasmapservice/searchcustomer">
<ns2:areaName>Blackrock, County Dublin</ns2:areaName>
<ns2:townName>Dublin City</ns2:townName>
<ns2:countyName>Dublin</ns2:countyName>
</ns2:searchcustomer>
</env:Body>
</env:Envelope>
Run Code Online (Sandbox Code Playgroud)
我想要grep,让我们说"都柏林",如果计数> 0那么它会给出一个OK,如果它不返回它,那么它会给出一个失败.
我是nagios的新手,我发现让它工作有点复杂,
任何想法将不胜感激,我认为CURL可能会工作,但不确定:)
再次感谢,本
小智 8
看到你的问题有点晚了,但希望无论如何都有帮助.
您可以使用check_http
插件执行此操作.在check_http
Nagios的插件随Nagios的插件包(nagios-plugins.org)
使用-P
参数,您可以POST
使用SOAP请求,并使用-r
参数(正则表达式)匹配特定字符串的响应.
从命令行使用check_http
插件:(
我不得不截断你的SOAP请求,因为我不能发布带有http标题的url ...)
check_http -H my.webserver.org -p 8080 -u "/testing" -P '<soapenv:Envelope .... </soapenv:Envelope>' -r 'Dublin'
Run Code Online (Sandbox Code Playgroud)
如果这对您有用,则需要在Nagios中创建新的检查命令和服务检查定义.
webservice命令的示例检查命令定义(也使用警告和关键repsonse时间值)...
define command {
command_name check_webservice
command_line $USER1$/check_http -H $ARG1$ -p $ARG2$ -u $ARG3$ -P $ARG4$ -r $ARG5$ -w $ARG6$ -c $ARG7$
}
Run Code Online (Sandbox Code Playgroud)
...以及示例服务检查定义
define service {
use generic-service
host_name my.webserver.org
service_description check_webservice
check_command check_http_webservice!my.webserver.org!8080!/testing!'<soapenv:Envelope .... </soapenv:Envelope>'!'Dublin'!5!10
}
Run Code Online (Sandbox Code Playgroud)
请注意引用:这是必不可少的这种检查!在上面的示例中,我使用单引号引用SOAP POST
请求和响应.
归档时间: |
|
查看次数: |
9371 次 |
最近记录: |