Webob Configuration File Reference| This reference describes the format of Webob's XML configuration file format.
If you are new to Webob, we strongly suggest you first check out the Webob Quickstart Tutorial. |
|
The root item for all WEBOB.XML configuration files.
|
|
Global settings that configure Webob's behavior.
|
|
Specifies the port on which Webob will listen for http requests. Since 80 is often used by other applications, the installation script forces the value of this item to 8001.
|
| Default | 80 | | Example |
<http-port>8001</http-port>
| | Parents | settings |
|
Indicates where to find XSL files used in status transformations, as well as any static files referenced locally by transformed pages (e.g., the Software Poetry logo).
|
| Default | The subdirectory "web" in the directory where the webob executable is located | | Example |
Linux: <web-root>/home/webob/web</web-root>
Windows: <web-root>d:\webob\web</web-root>
| | Parents | settings |
|
Default interval between status checks against each resource, in seconds.
|
| Default | 60 | | Example |
<default-interval>120</default-interval>
| | Parents | settings |
|
Default time to wait for a resource to respond before triggering a TIMEOUT event, in seconds.
|
| Default | 60 | | Example |
<default-timeout>30</default-timeout>
| | Parents | settings |
|
The SMTP server that Webob will use to send email/pager alerts.
|
| Default | localhost | | Example |
<smtp-host>exchange.mycompany.com</smtp-host>
| | Parents | settings | | See Also | smtp-port |
|
The port on the SMTP server that Webob will contact to send email/pager alerts. It is very unlikely you will need to change this value.
|
|
The email address that mail sent by Webob will be "from".
|
| Default | Sender is set to the same as the recipient | | Example |
<agent-email>webob@mycompany.com</agent-email>
| | Parents | settings |
|
A host to use as the proxy for http requests. This tag can be placed within individual resource tags,
or within the "settings" element to be used for all url resources.
|
|
If http-proxy-host is specified, this is the port on the proxy host that is used. This tag can be placed
within individual resource tags, or within the "settings" element to be used for all url resources.
|
|
Indicates where webob should store its internal log files.
|
| Default | The directory that contains the Webob executable | | Example |
Linux: <log-directory>/var/log</log-directory>
Windows: <log-directory>d:\logs</log-directory>
| | Parents | settings | | See Also | log-prefix log-level |
|
Log files roll over daily and are named in the format prefixYYYYMMDD.log, where "prefix" is the log-prefix setting. This setting can be useful if you are running multiple instances of webob and would like to keep logs in one central location.
|
|
Integer value in the range 0..50 that specifies the level of detail to show in the logfiles. The default will log important events without creating huge log files.
|
|
LINUX ONLY: The path to a file that will contain the process id of the Webob process. This id should receive any signals (e.g., TERM) meant for the Webob process.
|
| Default | "webob.pid" in the directory that contains the Webob executable | | Example |
<pidfile>/tmp/webob.pid</pidfile>
| | Parents | settings |
|
If present, this element should be a comma-separated list of valid IP prefixes for accessing webob. Any IP that matches an entry is allowed access, all others are denied.
|
| Default | Not present | | Example |
<valid-ip-list>10.0.0,209.16.143.3</valid-ip-list>
| | Parents | settings | | See Also | authentication |
|
(Available in versions 20030910 and later) If present and set to the value "1", <signature> elements will be added to each non-perfmon
<resource> in the status xml. This can be used to obtain reference signatures for <signature-must-match> content matching.
|
|
The <resources> tag is a container for all resources that webob will monitor. Each resource must have a unique
"name" attribute as well as a "type" attribute that indicates what sort of resource is being monitored. Each <resource>
type is given its own section in this reference.
|
|
URL resources are the core of most Webob installations. Webob uses the HTTP/1.0 protocol to retrieve the url specified
in the element and triggers actions if the page is not returned successfully or times out. In addition, actions can be triggered if the text retuned in the http response does not meet specified criteria.
tests.
|
| Example |
<resource name="webob tutorial 1" type="url">
<path>http://www.softwarepoetry.com/webob/doc/tutorial1.asp</path>
<interval>60</interval>
</resource>
| | Parents | resources | | Children | path do-action must-contain must-not-contain regex-must-match regex-must-not-match xpath-must-match xpath-must-not-match signature-must-match regex-transform ignore passthrough http-proxy-host http-proxy-port | | Attributes | | name: |
The resource name is used to identify a resource when errors occur.
You must assign a unique name to each resource in your configuration.
| | type: |
The type attribute for all url resources should be the string "url". Any resource without a type attribute
is assumed to be a url resource as well.
| | interval: |
Interval between status checks against each resource, in seconds. If not present, the global "default-interval" is used.
| | timeout: |
Time to wait for a resource to respond before triggering a TIMEOUT event, in seconds. If not present, the global "default-timeout" is used.
| | include-body: |
(Available in versions 20030910 and later) If this attribute is present and contains the value "xml" or "cdata", the most recent
http response text will be included in
the status xml, within a "body" element. If the attribute value is "cdata", the text is inserted as a CDATA section under the
"body" element itself. If the attribute value is "xml", the response text is inserted into the status xml tree as a child of the
"body" element. This allows detailed status information to be passed through to dashboard interfaces.
| | include-body-xml: |
depricated, see "include-body" attribute. Setting this value to "1" is equivalent to setting "include-body" to "xml".
|
|
| <resource type="file"> | top |
|
|
(Available in versions 20030910 and later) A file resource monitors a file in the filesystem, specified in the <path> element. If the file does not exist or does not match
specified content matching criteria, actions are triggered. This can be useful, for example, to watch log files for error strings.
File resources can access files on other machines using standard file sharing mechanisms such as NFS mounts on Linux or UNC paths
on Windows. Be sure that the Webob process is running with sufficient user privileges to access the files you want to monitor!
File resources can be used in coordination with <signature-must-match> content matching to protect against unwanted changes to system files.
|
| Example |
<resource name="local apache logs" type="file">
<path>/var/log/httpd/error_log</path>
<must-not-contain>[error]</must-not-contain>
<interval>60</interval>
</resource>
| | Parents | resources | | Children | path do-action must-contain must-not-contain regex-must-match regex-must-not-match xpath-must-match xpath-must-not-match signature-must-match regex-transform ignore passthrough | | Attributes | | name: |
The resource name is used to identify a resource when errors occur.
You must assign a unique name to each resource in your configuration.
| | type: |
The type attribute for all process resources should be the string "file".
| | interval: |
Interval between status checks against each resource, in seconds. If not present, the global "default-interval" is used.
| | timeout: |
Time to wait for a resource to respond before triggering a TIMEOUT event, in seconds. If not present, the global "default-timeout" is used.
| | include-body: |
(Available in versions 20030910 and later) If this attribute is present and contains the value "xml" or "cdata", the contents
of the specified file (which must be textual!) will be included in
the status xml, within a "body" element. If the attribute value is "cdata", the text is inserted as a CDATA section under the
"body" element itself. If the attribute value is "xml", the response text is inserted into the status xml tree as a child of the
"body" element. This allows detailed status information to be passed through to dashboard interfaces.
| | include-body-xml: |
depricated, see "include-body" attribute. Setting this value to "1" is equivalent to setting "include-body" to "xml".
|
|
| <resource type="process"> | top |
|
|
Process resources allow Webob to monitor pretty much anything you can imagine. The command-line specified in the path element is run as a new process. If the process returns an exit code other than 0 or times out, actions are triggered. In addition, actions can be triggered if the text returned as standard output from the process does not meet specified criteria.
|
| Example |
Windows:
<resource name="Net Statistics" type="process">
<path>net statistics server</path>
<interval>300</interval>
</resource>
Linux:
<resource name="/tmp disk space" type="process" include-body="xml">
<path><![CDATA[
df -k /tmp | awk '($1 != "Filesystem") { print "<disk><mnt>" $6 "</mnt><avail>" $4 "</avail></disk>" '
] ]></path>
<interval>300</interval>
<xpath-must-match info="tmp space low!">
//resource[name = '/tmp disk space']/disk[avail >= 100]
</xpath-must-match>
</resource>
| | Parents | resources | | Children | path do-action must-contain must-not-contain regex-must-match regex-must-not-match xpath-must-match xpath-must-not-match signature-must-match regex-transform ignore passthrough | | Attributes | | name: |
The resource name is used to identify a resource when errors occur.
You must assign a unique name to each resource in your configuration.
| | type: |
The type attribute for all process resources should be the string "process".
| | interval: |
Interval between status checks against each resource, in seconds. If not present, the global "default-interval" is used.
| | timeout: |
Time to wait for a resource to respond before triggering a TIMEOUT event, in seconds. If not present, the global "default-timeout" is used.
| | include-body: |
(Available in versions 20030910 and later) If this attribute is present and contains the value "xml" or "cdata", the standard output
of the most recent process invocation will be included in
the status xml, within a "body" element. If the attribute value is "cdata", the text is inserted as a CDATA section under the
"body" element itself. If the attribute value is "xml", the response text is inserted into the status xml tree as a child of the
"body" element. This allows detailed status information to be passed through to dashboard interfaces.
| | ignore-exitcode: |
(Available in versions 20030910 and later) If this attribute is present and contains the value "1", the exit code
for the process will be ignored when determining the status of the resource. This is useful for those applications that
use the exitcode in a way that does not indicate success or failure (for example, the "query process" command
used to fetch information on Windows Terminal Server processes).
| | include-body-xml: |
depricated, see "include-body" attribute. Setting this value to "1" is equivalent to setting "include-body" to "xml".
|
|
| <resource type="perfmon"> | top |
|
|
WINDOWS VERSIONS ONLY
"Perfmon" resources monitor one or more Windows Performance Monitor counters. If the values cross given thresholds actions can be triggered.
IMPORTANT: If you will be monitoring counters on remote machines, the Webob service must be configured to run as a user that has sufficient privileges to view the counters. The interface for setting this account is slightly different on the various Windows platform. Open the "Services" Control Panel (under Administrative Tools), right-click the "Webob by Software Poetry" service and choose "Properties". Under the "Log On" tab, choose "This Account" and specify an account with the apprpriate rights.
|
| Example |
<resource name="server01 vitals" type="perfmon">
<counter>
<friendly-name>server01 cpu usage</friendly-name>
<path>\\server01\Processor(_Total)\% Processor Time</path>
<threshold type="max">90</threshold>
</counter>
<counter>
<friendly-name>server01 free memory</friendly-name>
<path>\\server01\Memory\Available MBytes</path>
<threshold type="min">50</threshold>
</counter>
<interval>10</interval>
</resource>
| | Parents | resources | | Children | counter do-action ignore passthrough | | Attributes | | name: |
The resource name is used to identify a resource when errors occur.
You must assign a unique name to each resource in your configuration.
| | type: |
The type attribute for all performance monitor resources should be the string "perfmon".
| | interval: |
Interval between status checks against each resource, in seconds. If not present, the global "default-interval" is used.
|
|
|
Contains the target "path" (URL or command-line) for the resource. Take care to escape XML entities or wrap the path item in CDATA tags.
Exactly 1 path element must be present in each url or process resource.
|
|
Indicates a named action (within the actions tag) that should be triggered when errors occur on this resource. While it is possible to embed an action tag directly in a resource, generally you will want to associate an action with more then one resource. The do-action tag allows this level of indirection.
0 or more do-action elements can be present in each resource.
|
| Example |
<do-action name="emailoperations" skip="2" />
| | Parents | resource type="url" resource type="file" resource type="process" resource type="perfmon" | | See Also | actions | | Attributes | | name: |
Indicates which global action the tag refers to.
| | skip: |
Optional attribute indicates how many times in sequence a resource must fail before the action is triggered. If not present,
the "skip" attribute of the action tag itself is used; if that is also not present, the default is 1.
|
|
|
The output of the resource is searched, case-insensitive, for the text of the element. If it is not found, actions are triggered.
0 or more must-contain elements can be present in each resource.
|
| Example |
<must-contain>database opened ok</must-contain>
| | Parents | resource type="url" resource type="file" resource type="process" | | See Also | must-not-contain | | Attributes | | info: |
Optional attribute contains error text sent to actions if the resource fails as a result of this tag. By default the search
text is used; using info can sometimes provide a more human-understandable description of the error.
|
|
|
The output of the resource is searched, case-insensitive, for the text of the element. If it is found, actions are triggered.
0 or more must-not-contain elements can be present in each resource.
|
| Example |
<must-contain>error opening database</must-contain>
| | Parents | resource type="url" resource type="file" resource type="process" | | See Also | must-contain | | Attributes | | info: |
Optional attribute contains error text sent to actions if the resource fails as a result of this tag. By default the search
text is used; using info can sometimes provide a more human-understandable description of the error.
|
|
|
The regular expression in the element text is applied to the resource output. If at least one match is found, the test succeeds. Take care with leading and trailing space in this element; all whitespace is significant in the regular expression.
0 or more regex-must-match elements can be present in each resource.
Available in versions 20030910 and later.
|
| Example |
<resource type="url" name="yahoo">
<path>http://www.yahoo.com</path>
<regex-must-match info="web page missing copyright!"
>Copyright &copy; 20[0-9][0-9] Yahoo! Inc.</regex-must-match>
</resource>
| | Parents | resource type="url" resource type="file" resource type="process" | | See Also | regex-must-not-match | | Attributes | | info: |
Optional attribute contains error text sent to actions if the resource fails as a result of this tag. By default the search
text is used; using info can sometimes provide a more human-understandable description of the error.
|
|
| <regex-must-not-match> | top |
|
|
The regular expression in the element text is applied to the resource output. If any matches are found, the test fails. Take care with leading and trailing space in this element; all whitespace is significant in the regular expression.
0 or more regex-must-not-match elements can be present in each resource.
Available in versions 20030910 and later.
|
| Example |
<resource type="process" name="tempdir">
<path>cmd /c "dir c:\temp | findstr /v /c:(s)"</path>
<regex-must-not-match info="file too big in c:\temp"
>[0-9],[0-9][0-9][0-9],[0-9][0-9][0-9]</regex-must-not-match>
</resource>
| | Parents | resource type="url" resource type="file" resource type="process" | | See Also | regex-must-match | | Attributes | | info: |
Optional attribute contains error text sent to actions if the resource fails as a result of this tag. By default the search
text is used; using info can sometimes provide a more human-understandable description of the error.
|
|
|
The XPath statement in the element text is applied to the resource output, which is assumed to be XML (if it does not parse as valid xml, the test fails and actions will be triggered). If the XPath returns one or more elements, the test succeeds. XPath can be used to do arbitrarily complex calculations on output --- learn more at w3schools. Be careful of XML escaping rules!
0 or more xpath-must-match elements can be present in each resource.
|
| Example |
<xpath-must-match info="tmp space low!">
//resource[name = '/tmp disk space']/disk[avail >= 100]
</xpath-must-match>
| | Parents | resource type="url" resource type="file" resource type="process" | | See Also | xpath-must-not-match | | Attributes | | info: |
Optional attribute contains error text sent to actions if the resource fails as a result of this tag. By default the search
text is used; using info can sometimes provide a more human-understandable description of the error.
|
|
| <xpath-must-not-match> | top |
|
|
The XPath statement in the element text is applied to the resource output, which is assumed to be XML (if it does not parse as valid xml, the test fails and actions will be triggered). If the XPath returns one or more elements, the test fails. XPath can be used to do arbitrarily complex calculations on output --- learn more at w3schools. Be careful of XML escaping rules!
0 or more xpath-must-not-match elements can be present in each resource.
|
| Example |
<xpath-must-not-match info="MSFT < $50">
//stockquote[symbol = 'MSFT' and quote <= 50]
</xpath-must-match>
| | Parents | resource type="url" resource type="file" resource type="process" | | See Also | xpath-must-match | | Attributes | | info: |
Optional attribute contains error text sent to actions if the resource fails as a result of this tag. By default the search
text is used; using info can sometimes provide a more human-understandable description of the error.
|
|
| <signature-must-match> | top |
|
|
(Available in versions 20030910 and later) Signature matching is used to detect when the output of a resource has changed.
It is most commonly used with file resources to ensure that core system files such as /etc/passwd are not altered, but it may also be used with the output from other resources. The signature, however, is tied to the exact contents of the output; any change in the file contents will give it a new signature.
A webob "signature" is a short but unique string (for the technically curious, it is an MD5 hash of the resource output). The signature in the element text is matched against the signature computed from the resource output to determine if there is a match. If not, actions are triggered.
To obtain a reference signature for your content, you generally have two choices. A value of "1" for the global setting <show-signatures> tells Webob to put <signature> element in the status output; by default this is disabled. By running with <show-signatures> turned on, you can simply copy the reference signature from the status xml. This is the only method by which you can obtain a signature for url or process resources. For file resources, you can also run the command "webob -m path-to-file" from the command-line of the Webob installation directory to generate a reference signature.
|
| Example |
<signature-must-match info="somebody edited /etc/passwd!">
6ae0b9098901dbeec82c39313459d80e
</signature-must-match>
| | Parents | resource type="url" resource type="file" resource type="process" | | See Also | show-signatures | | Attributes | | info: |
Optional attribute contains error text sent to actions if the resource fails as a result of this tag. By default the search
text is used; using info can sometimes provide a more human-understandable description of the error.
|
|
|
(Available in versions 20030910 and later) Before any content matching is performed, the regular expression in the text of the element is applied to the output text of the resource. An XML fragment is created from the matches and submatches (parenthesized groups) that are found, and this fragment is used for all content matching and body inclusion.
This allows the user to take semi-structured output and convert it seamlessly into XML. Aribtrarily-sophisticated content matching rules can then be applied to the fragment.
Be careful of leading and trailing space in the text; all whitespace is significant in the regular expression.
|
| Example |
Resource:
<resource name="lycos-50" type="url" include-body="xml">
<path>http://50.lycos.com/</path>
<regex-transform>class="fifty">([^<]+)<</regex-transform>
</resource>
Generated fragment:
<re-transformed>
<re-match>
<re-submatch index="0">class="fifty">Blaster Worm<</re-submatch>
<re-submatch index="1">Blaster Worm</re-submatch>
</re-match>
<re-match>
<re-submatch index="0">class="fifty">Britney Spears<</re-submatch>
<re-submatch index="1">Britney Spears</re-submatch>
</re-match>
...
</re-transformed>
| | Parents | resource type="url" resource type="file" resource type="process" |
|
Specifies a daily or weekly period during which monitoring should be suspended for this resource. This can be used to avoid spurious errors during a scheduled reboot or maintenance window.
0 or more ignore elements may be present in each resource.
|
| Example |
<ignore dow="sat" time="23:55" duration="10" /> (each saturday starting at 11:55pm for 10 minutes)
<ignore time="12:00" duration="60" /> (every day for one hour beginning at noon)
| | Parents | resource type="url" resource type="file" resource type="process" resource type="perfmon" | | Attributes | | time: |
Formatted as HH:MM using a twenty-four hour represention, indicates the time at which the ignore window starts. This attribute
must be present.
| | duration: |
Number of minutes the ignore window should be active. This attribute must be present.
| | dow: |
Specifies the day of the week for the ignore window as a three-character code: sun, mon, tue, wed, thu, fri, sat. If not present
the ignore window is applied daily. Only one day can be specified in each ignore element.
|
|
|
Passthrough elements are simply copied from the configuration file into the status XML for the resource. This can be useful if you have created a custom dashboard that shows detailed information about the systems being monitored.
0 or more passthrough elements may be present in each resource.
|
|
Specifies a single Windows Performance Counter Object that should be monitored.
1 or more counter elements may be present in each perfmon resource.
|
|
A human-readable description of the counter. If not present, the counter path is used.
|
| Example |
<friendly-name>server01 cpu usage</friendly-name>
| | Parents | counter |
|
Counters are specified as a "counter path", generally specified as:
\\Machine\PerfObject(ParentInstance/ObjectInstance#InstanceIndex)\Counter
More information on counter paths is available from Microsoft; you can also open the Performance Monitor application and look at counter properties to see sample syntax.
|
| Example |
<path>\\server01\Processor(_Total)\% Processor Time</path>
| | Parents | counter |
|
Counter values are returned as floating point numbers. Thresholds allow you to place limits on acceptable values. There may be
at most one "max" and one "min" threshold for each counter. The text of the element defines the threshold.
|
| Example |
<threshold type="max">90</threshold>
| | Parents | counter | | Attributes | | type: |
This attribute can be "max", in which case actions are triggered if the counter exceeds the given value, or "min", in which
case the value must not drop below the given value. This attribute must be present.
|
|
|
The actions tag is a container for all global actions that webob can take in response to changes in resource
status. Global actions are linked to resources with do-action tags. Each action should have a unique "name" attribute as well as a "type" attribute that indicates what sort of action to take. Each action type is given its own section this reference. action tags may also appear directly within a resource definition.
|
|
An email action uses the SMTP protocol to send error notifications to email accounts, pagers or SMS devices. The action will be triggered once when the resource enters an error state, and again when the error is resolved.
The email will contain the name of the affected resource and a numeric and textual description of the error. You can find a list of numeric RSTATUS codes in the Webob Status XML Format Reference.
The smtp-host setting must be valid in order for email to be sent.
|
| Example |
<action name="email-operations" type="email">
<address>foo@bar.com</address>
<address>5555555555@wirelesscarrier.com</address>
</action>
| | Parents | actions | | Children | address | | See Also | smtp-host smtp-port agent-email | | Attributes | | name: |
The action name is used to identify an action from within do-action tags.
You must assign a unique name to each action in your configuration.
| | type: |
The type attribute for all email actions must be "email".
| | skip: |
Optional attribute indicates how many times in sequence a resource must fail before the action is triggered. If not present,
the default is 1.
|
|
|
Contains the email address of one recipient for the action. One or more addresses may be specified in each email action.
|
|
File actions allow you to capture historical outage information in a comma-separted (CSV) file suitable for import into applications such as Microsoft Excel. A line is written to the file at the end of each error event. Each line contains the following information:
- Resource Name
- Time Event Started (YYYY-MM-DD HH24:MIN:SEC)
- Time Event Ended (YYYY-MM-DD HH24:MIN:SEC)
- Duration (seconds)
- Error RSTATUS code
- Error description
You can find a list of numeric RSTATUS codes in the Webob Status XML Format Reference.
|
| Example |
<action name="history-csv" type="file">
<file>d:\webob\history.csv</file>
</action>
| | Parents | actions | | Children | file | | Attributes | | name: |
The action name is used to identify an action from within do-action tags.
You must assign a unique name to each action in your configuration.
| | type: |
The type attribute for all file actions must be "file".
| | skip: |
Optional attribute indicates how many times in sequence a resource must fail before the action is triggered. If not present,
the default is 1.
|
|
|
Specifies the complete path to a comma-separated (CSV) file into which Webob will write outage event information. There should be exactly one file element for each file resource.
|
| Example |
Linux: <file>/usr/local/webob/webob.csv</file>
Windows: <file>d:\webob\history.csv</file>
| | Parents | action type="email" |
|
DB actions allow you to capture historical outage information in a database table. A row is written to the database at the end of each error event. The name of the table may be specified as part of the action, but it must contain at least the following columns:
| Name |
Type |
Description |
| name |
varchar |
Resource Name |
| time_started |
timestamp |
Time event started |
| time_ended |
timestamp |
Time event ended |
| duration |
integer |
Duration (seconds) |
| error_status |
integer |
RSTATUS error code (see Webob Status XML Format Reference) |
| error_text |
varchar |
Description of error |
Other columns may exist in the table, but must be defined as NULL or have acceptable default values. Note also that varchar lengths are not explicitly defined by Webob; it is up to you to be sure there is sufficient space in the columns for your configuration.
ODBC connectivity enables Webob to support almost any database on the Windows platform. However, on Linux we currently support only tables in mySQL databases. Future versions will include broader database support under Linux.
Both the type and connectstring children must be present.
|
| Example |
<action name="history-db" type="db">
<type>4</type>
<connectstring>Driver={Microsoft Access Driver (*.mdb)};Dbq=c:\webob\webob.mdb</connectstring>
<table>webob</table>
</action>
| | Parents | actions | | Children | type connectstring table | | Attributes | | name: |
The action name is used to identify an action from within do-action tags.
You must assign a unique name to each action in your configuration.
| | type: |
The type attribute for all database actions must be "db".
| | skip: |
Optional attribute indicates how many times in sequence a resource must fail before the action is triggered. If not present,
the default is 1.
|
|
|
The type field indicates the type of database being used. The following table lists database type codes:
| Type |
Platform |
Database |
| 1 |
Linux |
mySQL |
| 4 |
Windows |
Microsoft Access |
| 5 |
Windows |
Microsoft SQL Server |
| 6 |
Windows |
Oracle |
| 3 |
Windows |
Other ODBC Database |
|
|
Provides host, login and other options for connecting to the appropriate database. For Windows databases, this should be a standard ODBC connection string --- many examples can be found at this site by Able Consulting. For mySQL, use the format shown in the example.
|
| Example |
mySQL: <connectstring>host=;user=webob;pass=webob;db=webob</connectstring>
Access: <connectstring>Driver={Microsoft Access Driver (*.mdb)};Dbq=c:\webob\webob.mdb</connectstring>
| | Parents | action type="db" |
|
Optional element that indicates the name of the database table where rows should be inserted.
|
| <action type="process"> | top |
|
|
Process actions allow you to run arbitrary code in response to changes in resource status. The process will be executed once when a resource enters an error state, then again when the error is resolved. There are a number of printf-style parameters that can be used to pass information to your process; the table below gives an exhaustive list:
| Code |
Description |
| %n |
Resource name |
| %s |
New RSTATUS code (See Webob Status XML Reference for codes) |
| %d |
New status description |
| %o |
Previous RSTATUS code (See Webob Status XML Reference for codes) |
| %e |
Previous status description |
| %t |
Duration in last state (in seconds) |
| %% |
Used to include a % character in the command line |
Remember that your process will be run with the same permissions as the Webob process.
|
| Example |
<action name="popup" type="process">
<command>net send localhost webob status change for %n: %d</command>
<timeout>300</timeout>
</action>
| | Parents | actions | | Children | command timeout | | Attributes | | name: |
The action name is used to identify an action from within do-action tags.
You must assign a unique name to each action in your configuration.
| | type: |
The type attribute for all process actions must be "process".
| | skip: |
Optional attribute indicates how many times in sequence a resource must fail before the action is triggered. If not present,
the default is 1.
|
|
|
The text of this element is used as a command-line for a spawned process. Take care to escape XML entities or wrap the path item in CDATA tags if needed. Refer to the process action documentation for printf-style substitutions that can be used in a command-line to pass information about the resource that triggered the action.
|
| Example |
<command>net send localhost webob status change for %n: %d</command>
| | Parents | action type="process" |
|
Optional element constrains the amount of time the script is allowed to run, in seconds.
|
|
If the authentication element is present, Webob will require users to log in with a password before they are granted access. Webob uses Basic HTTP authentication. Each valid login/password combination is specified with a user element. There may be as many user elements present as appropriate for your organization.
|
|
Specifies a unique login/password combination. Passwords may be specified in hashed or clear-text form.
|
| Example |
<user>
<login>someuser</login>
<password>450893b6500bcd72b7ac4a6ed43c7f22</password>
</user>
| | Parents | authentication | | Children | login password |
|
A name used to login to webob.
|
| Example |
<login>someuser</login>
| | Parents | user | | See Also | password |
|
A password used to login to webob. If the first character of this password is '#', webob interprets the value as clear-text. This is probably not a good idea because it leaves your passwords open to anyone who finds your configuration file. From the command line, you can run "webob -p [password]" to obtain a hashed value that can be used without a '#' character to specify a password more securely.
|
| Example |
<password>450893b6500bcd72b7ac4a6ed43c7f22</password>
<password>#cleartextpassword</password>
| | Parents | user | | See Also | login |
|
This element allows you to set the "realm" displayed to the user in the Basic authentication dialog.
|
|
When you purchase a Webob license you will receive a license xml fragment. This fragment validates your
purchase and ensures that all features are active and no "evaluation" messaging appears in the product
interface. Click here to purchase a license now.
|
|
A textual description of your license. Provided by Software Poetry upon purchase; usually includes your organization name.
|
|
An encrypted version of your license for validation. Provided by Software Poetry upon purchase.
|
|