nsmcp::LogDiscovery method createCorrelation (public)

 <instance of nsmcp::LogDiscovery[i]> createCorrelation name

Defined in /usr/local/ns/tcl/nsmcp/log-discovery.tcl

Create a named correlation service for the discovered sources. Validate the object name and source availability, then create the searches owned by the correlation object; clean up on failure.

Parameters:
name (required)
Name of the configured or registered item to resolve.
Returns:
The newly created correlation object command.

Testcases:
No testcase defined.
Source code:
if {![string match ::* $name]} {
    error "expected a fully qualified object name"
}
if {[nsf::object::exists $name]} {
    error "object already exists: $name"
}
set discovered [:discover]
if {![dict get $discovered system readable]} {
    error "discovered system log is missing or unreadable"
}
set access [dict get $discovered access path]
if {$access ne "" && ![dict get $discovered access readable]} {
    error "discovered access log is missing or unreadable"
}
set sources {}
if {$access ne ""} {
    lappend sources ${name}::access
}
::nsmcp::LogCorrelation create $name -systemSearch ${name}::system -accessSearches $sources
try {
    set common [list -store nsmcp:discovered-logs:[ns_info server]  -cacheDirectory [dict get $discovered cacheDirectory]]
    ::nsmcp::CachedLogSearch create ${name}::system  -path [dict get $discovered system path] {*}$common
    if {$access ne ""} {
        ::nsmcp::CachedLogSearch create ${name}::access -path $access {*}$common
    }
} on error {message options} {
    $name destroy
    return -options $options $message
}
return $name
XQL Not present:
Generic, PostgreSQL, Oracle
[ hide source ] | [ make this the default ]
Show another procedure: