-- DBA create the database and give access permissions.
--
-- $Log: create.sql,v $
--- Revision 1.14 2003-07-09 07:14:59 arjen
+-- Revision 1.19 2005-06-04 07:09:47 arjen
+-- - Fixed field declaration for PostgreSQL 7.4
+-- - New tables: log_abuse, object_abuse and service_pattern
+-- - Added general service patterns in the service 'ANY'
+-- - Added new issue types.
+--
+-- Revision 1.18 2003/12/03 08:06:57 arjen
+-- Changed the type of log_adv_daemon_email.delay and log_adv_daemon_email.xdelay
+-- from time to interval. These delays can be more than 24 hours.
+--
+-- Revision 1.17 2003/09/02 12:49:47 arjen
+-- BUGFIX: Secondary indices on log_notification were unique.
+-- Additional information in the 'usr' table: 'display_name' and 'email'.
+-- Added new issues and services.
+--
+-- Revision 1.16 2003/08/16 14:29:02 arjen
+-- Fixed a few typos.
+--
+-- Revision 1.15 2003/08/05 07:43:24 arjen
+-- Added index to the history table.
+--
+-- Revision 1.14 2003/07/09 07:14:59 arjen
-- New database tables: notification_check, notification_check_buffer,
-- notification_check_line and object_statistics.
--
CREATE INDEX act_statuscode ON "action" USING btree (statuscode);
-SELECT setval ('"action_actionid_seq"', 19, true);
+SELECT setval ('"action_actionid_seq"', 21, true);
--
--
COPY "db_value" FROM stdin;
-db_version 41
+db_version 48
gcm_daemon_version 5
log_processing 0
last_notification 0
);
+CREATE INDEX history_pid_mod ON history(paramid, modified);
+
--
--
SELECT setval ('"log_logid_seq"', 1, false);
+CREATE TABLE log_abuse
+(
+ logid bigint,
+ objectid bigint,
+ source inet
+);
+
--
--
external_messageid TEXT,
to_email TEXT,
from_email TEXT,
- delay TIME,
- xdelay TIME,
+ delay interval,
+ xdelay interval,
mailer TEXT,
status TEXT,
pid INT,
CREATE UNIQUE INDEX lon_pk ON log_notification USING btree (notificationid, logid);
-CREATE UNIQUE INDEX lon_notificationid ON log_notification USING btree (notificationid);
+CREATE INDEX lon_notificationid ON log_notification USING btree (notificationid);
-CREATE UNIQUE INDEX lon_logid ON log_notification USING btree (logid);
+CREATE INDEX lon_logid ON log_notification USING btree (logid);
--
--
checkname TEXT,
description TEXT,
time_between_executions INTERVAL,
- last_execution DATETIME,
+ last_execution timestamp,
execution_counter BIGINT,
notificationcounter BIGINT,
decreasinglist BOOLEAN default false,
checkid BIGINT,
sortorder INTEGER,
last_logid BIGINT default 0,
- historicboundary INTERVAL default 0,
+ historicboundary INTERVAL default '0',
use_logid BOOLEAN default false,
sql_query TEXT
);
--
--
+CREATE TABLE "object_abuse"
+(
+ objectid bigint,
+ source inet,
+ nr_abuses integer,
+ status text,
+
+ primary key (objectid, source)
+);
+
+--
+--
+
CREATE TABLE "object_issue"
(
"objectid" bigint,
sshd sshd 1 5
su su 1 5
syslogd syslogd 1 5
+CROND Cron Daemon 1 5
+gnucomo Gnucomo Daemon 1 5
+sendmail Mail Transport Agent 1 5
+dhcpd DHCP Daemon 1 5
+rpc NFS Services 1 5
+named DNS Services 1 5
+xinetd Internet Daemon 1 5
+ipop Post Office Protocol 1 5
+mgetty Serial port login and fax 1 5
+login User login 1 5
+pam Authentication modules 1 5
+modprobe Kernel modules 1 5
\.
CREATE UNIQUE INDEX ser_pk ON service USING btree (servicecode);
CREATE UNIQUE INDEX ser_servicename ON service USING btree (servicename);
+CREATE TABLE service_pattern
+(
+ service text,
+ rank int,
+ pattern text,
+ action text,
+ argument text,
+
+ primary key (service, rank)
+);
+
+INSERT INTO service_pattern VALUES ('ANY', 999999, '.+', 'notify', 'unmatched log');
+INSERT INTO service_pattern VALUES ('ANY', 999990, '[Ee][Rr][Rr][Oo][Rr]', 'notify', 'Error detected');
+INSERT INTO service_pattern VALUES ('ANY', 999991, '[Ff][Aa][Ii][Ll]', 'notify', 'Failure detected');
+INSERT INTO service_pattern VALUES ('ANY', 999992, '[Ww][Aa][Rr][Nn]', 'notify', 'Warning detected');
+
--
CREATE TABLE "status"
COPY "type_of_issue" FROM stdin;
-1 manual entry 4 A manual entry of a notification t
-2 parameter created 3 A new parameter was created t
-3 property modified 3 The STATIC property of a parameter was modified t
-4 parameter removed 3 A parameter was removed t
+1 manual entry 4 A manual entry of a notification t t 1 \N \N
+2 parameter created 3 A new parameter was created t t 1 \N \N
+3 property modified 3 The STATIC property of a parameter was modified t t 1 \N \N
+4 parameter removed 3 A parameter was removed t t 1 \N \N
+5 service unknown 5 Service in log entry is unknown t t 1 \N \N
+6 service not used 5 Service in log entry is not used t t 1 \N \N
+7 abuses exceeded 5 Abuse treshold exceeded from an IP address t t 1 \N \N
+8 unmatched log 5 Log entries could not be matched t t 1 \N \N
+9 Error detected 5 An Error is reported in the log t t 1 \N \N
+9 Failure detected 5 A Failure is reported in the log t t 1 \N \N
+10 Warning detected 3 A Warning is reported in the log t t 1 \N \N
\.
CREATE UNIQUE INDEX type_of_issue_type_of_issue_key ON type_of_issue USING btree (type_of_issueid);
CREATE INDEX toi_active ON type_of_issue USING btree (active);
-SELECT setval ('"type_of_issue_type_of_issue_seq"', 4, true);
+SELECT setval ('"type_of_issue_type_of_issue_seq"', 6, true);
--
--
"username" text NOT NULL,
"active_sessionid" bigint,
"account_active" boolean,
- "security_level" integer
+ "security_level" integer,
+ display_name text,
+ email text
);
CREATE UNIQUE INDEX usr_username ON usr USING btree (username);
GRANT SELECT ON log TO GROUP view, GROUP ops, GROUP admin;
GRANT SELECT ON log_adv TO GROUP view, GROUP ops, GROUP admin;
GRANT SELECT ON log_adv_daemon TO GROUP view, GROUP ops, GROUP admin;
+GRANT SELECT ON log_adv_daemon_email TO GROUP view, GROUP ops, GROUP admin;
GRANT SELECT ON log_adv_kernel_network TO GROUP view, GROUP ops, GROUP admin;
GRANT SELECT ON log_notification TO GROUP view, GROUP ops, GROUP admin;
GRANT SELECT ON notification TO GROUP view, GROUP ops, GROUP admin;
GRANT SELECT ON object TO GROUP view, GROUP ops, GROUP admin;
+GRANT SELECT ON object_abuse TO GROUP view, GROUP ops, GROUP admin;
GRANT SELECT ON object_issue TO GROUP view, GROUP ops, GROUP admin;
GRANT SELECT ON object_priority TO GROUP view, GROUP ops, GROUP admin;
GRANT SELECT ON object_service TO GROUP view, GROUP ops, GROUP admin;
+GRANT SELECT ON object_statistics TO GROUP view, GROUP ops, GROUP admin;
GRANT SELECT ON object_user TO GROUP view, GROUP ops, GROUP admin;
GRANT SELECT ON parameter TO GROUP view, GROUP ops, GROUP admin;
GRANT SELECT ON parameter_class TO GROUP view, GROUP ops, GROUP admin;
GRANT INSERT ON action_user TO GROUP ops, GROUP admin;
GRANT UPDATE ON notification TO GROUP ops, GROUP admin;
-GRANT INSERT ON object GROUP admin;
+GRANT INSERT ON object TO GROUP admin;
GRANT UPDATE ON object TO GROUP ops, GROUP admin;
-GRANT DELETE ON object GROUP admin;
+GRANT DELETE ON object TO GROUP admin;
+GRANT INSERT ON object_abuse TO GROUP admin;
+GRANT UPDATE ON object_abuse TO GROUP ops, GROUP admin;
+GRANT DELETE ON object_abuse TO GROUP admin;
GRANT UPDATE ON usr TO GROUP view, GROUP ops, GROUP admin;
GRANT INSERT ON usr TO GROUP admin;
GRANT DELETE ON usr TO GROUP admin;