Permalink
Fetching contributors…
Cannot retrieve contributors at this time
205 lines (196 sloc) 7.35 KB
<?xml version="1.0" encoding="utf8" standalone="yes"?>
<stratcon lockfile="/var/run/stratcond.lock">
<!-- <watchdog glider="/opt/gimli/bin/glider" tracedir="/var/log/stratcond.crash"/> -->
<eventer/>
<logs>
<console_output>
<outlet name="stderr"/>
<log name="error"/>
<log name="debug"/>
<log name="error/iep"/>
<log name="error/eventer" disabled="true"/>
<log name="error/datastore" disabled="true"/>
<log name="debug/eventer" disabled="true"/>
</console_output>
</logs>
<modules directory="%modulesdir%">
<generic image="stomp_driver" name="stomp_driver"/>
<generic image="postgres_ingestor" name="postgres_ingestor"/>
</modules>
<noits>
<config>
<!--
If we have a connection failure, attempt to reconnect
immediately. Upon failure wait 1000ms (1s) and
exponentially backoff up to 900000ms (900s or 15m)
-->
<reconnect_initial_interval>1000</reconnect_initial_interval>
<reconnect_maximum_interval>15000</reconnect_maximum_interval>
</config>
<sslconfig>
<key_file>%sysconfdir%/%PKIPREFIX%stratcon.key</key_file>
<certificate_file>%sysconfdir%/%PKIPREFIX%stratcon.crt</certificate_file>
<ca_chain>%sysconfdir%/%PKIPREFIX%ca.crt</ca_chain>
</sslconfig>
<noit address="127.0.0.1" port="43191" />
</noits>
<iep disabled="false">
<start directory="%iepdbdir%"
command="%iepbindir%/run-iep.sh" />
<mq type="stomp">
</mq>
<!-- For RabbitMQ
<broker adapter="rabbitmq">
<hostname>mq1.int.circonus.net,mq2.int.circonus.net</hostname>
<username>stratcon</username>
<password>youllneverguess</password>
</broker>
<mq type="rabbitmq">
<hostname>mq1.int.circonus.net,mq2.int.circonus.net</hostname>
<exchange>noit.firehose</exchange>
<exchangetype>topic</exchangetype>
<routingkey>check,null</routingkey>
<username>stratcon</username>
<password>youllneverguess</password>
</mq>
-->
<queries master="iep">
<statement id="6cc613a4-7f9c-11de-973f-db7e8ccb2e5c" provides="CheckDetails-ddl">
<epl>create window CheckDetails.std:unique(uuid).win:keepall() as NoitCheck</epl>
</statement>
<statement id="76598f5e-7f9c-11de-9f5b-ebb4dcb2494e" provides="CheckDetails">
<requires>CheckDetails-ddl</requires>
<epl>insert into CheckDetails select * from NoitCheck</epl>
</statement>
<statement id="ba189f08-7f99-11de-9013-733772d37479" provides="UnavailableStream">
<requires>CheckDetails</requires>
<epl>insert into UnavailableStream
select p.* as delta, cds.target as target, cds.module as module,
cds.name as name, p.s.uuid as uuid
from pattern [ every
s=NoitStatus(availability='A') ->
( n0 = NoitStatus(uuid=s.uuid, availability='U')
and not NoitStatus(uuid=s.uuid, availability='A'))
].std:lastevent() as p
inner join CheckDetails as cds on cds.uuid = p.s.uuid
</epl>
</statement>
<query id="ce6bf8d2-3dd7-11de-a45c-a7df160cba9e" topic="status">
<epl>select * from NoitStatus</epl>
</query>
</queries>
</iep>
<database>
<journal>
<path>/var/log/stratcon.persist</path>
</journal>
<dbconfig>
<host>localhost</host>
<dbname>reconnoiter</dbname>
<user>stratcon</user>
<password>unguessable</password>
</dbconfig>
<statements>
<!-- These are optional and used for stuff like setting search paths -->
<!--
<metanodepostconnect><![CDATA[
SELECT do_some_magic();
]]></metanodepostconnect>
<storagepostconnect><![CDATA[
SELECT do_some_magic($1,$2);
]]></storagepostconnect>
-->
<allchecks><![CDATA[
SELECT remote_address, id, target, module, name
FROM check_currently
]]></allchecks>
<findcheck><![CDATA[
SELECT remote_address, id, target, module, name
FROM check_currently
WHERE sid = $1
]]></findcheck>
<allstoragenodes><![CDATA[
SELECT storage_node_id, fqdn, dsn
FROM stratcon.storage_node
]]></allstoragenodes>
<findstoragenode><![CDATA[
SELECT fqdn, dsn
FROM stratcon.storage_node
WHERE storage_node_id = $1
]]></findstoragenode>
<mapallchecks><![CDATA[
SELECT id, sid, noit as remote_cn, storage_node_id, fqdn, dsn
FROM stratcon.map_uuid_to_sid LEFT JOIN stratcon.storage_node USING (storage_node_id)
]]></mapallchecks>
<mapchecktostoragenode><![CDATA[
SELECT o_storage_node_id as storage_node_id, o_sid as sid,
o_fqdn as fqdn, o_dsn as dsn, o_noit as remote_cn
FROM stratcon.map_uuid_to_sid($1,$2)
]]></mapchecktostoragenode>
<check><![CDATA[
INSERT INTO check_archive_%Y%m%d
(remote_address, whence, sid, id, target, module, name)
VALUES ($1, 'epoch'::timestamptz + ($2 || ' seconds')::interval,
$3, $4, $5, $6, $7)
]]></check>
<status><![CDATA[
INSERT INTO check_status_archive_%Y%m%d
(whence, sid, state, availability, duration, status)
VALUES ('epoch'::timestamptz + ($1 || ' seconds')::interval,
$2, $3, $4, $5, $6)
]]></status>
<metric_numeric><![CDATA[
INSERT INTO metric_numeric_archive_%Y%m%d
(whence, sid, name, value)
VALUES ('epoch'::timestamptz + ($1 || ' seconds')::interval,
$2, $3, $4)
]]></metric_numeric>
<metric_text><![CDATA[
INSERT INTO metric_text_archive_%Y%m%d
( whence, sid, name,value)
VALUES ('epoch'::timestamptz + ($1 || ' seconds')::interval,
$2, $3, $4)
]]></metric_text>
<config><![CDATA[
SELECT stratcon.update_config
($1, $2, $3,
'epoch'::timestamptz + ($4 || ' seconds')::interval,
$5)
]]></config>
<findconfig><![CDATA[
SELECT config FROM stratcon.current_node_config WHERE remote_cn = $1
]]></findconfig>
</statements>
</database>
<listeners>
<sslconfig>
<key_file>%sysconfdir%/%PKIPREFIX%stratcon.key</key_file>
<certificate_file>%sysconfdir%/%PKIPREFIX%stratcon.crt</certificate_file>
<ca_chain>%sysconfdir%/%PKIPREFIX%ca.crt</ca_chain>
</sslconfig>
<consoles type="noit_console">
<listener address="/tmp/stratcon">
<config><line_protocol>telnet</line_protocol></config>
</listener>
</consoles>
<realtime type="http_rest_api">
<listener address="*" port="80">
<config>
<hostname>stratcon.noit.example.com</hostname>
<document_domain>noit.example.com</document_domain>
</config>
</listener>
</realtime>
<listener type="control_dispatch" address="*" port="43191" ssl="on" />
</listeners>
<rest>
<acl type="deny">
<rule type="deny" url="/\.svn"/>
<rule type="allow" cn="^admin$"/>
<rule type="allow" cn="^nagios$" url="^/noits/show$"/>
<rule type="allow" url="^/noits/config$"/>
<rule type="allow" url="^/data/"/>
<rule type="allow" url="^/$"/>
</acl>
</rest>
</stratcon>