table = 'rspamd',
attachments_table = 'rspamd_attachments',
urls_table = 'rspamd_urls',
+ emails_table = 'rspamd_emails',
symbols_table = 'rspamd_symbols',
+ asn_table = 'rspamd_asn',
ipmask = 19,
ipmask6 = 48,
full_urls = false,
local clickhouse_schema = {
rspamd = [[
-CREATE TABLE IF NOT EXISTS rspamd
+CREATE TABLE IF NOT EXISTS ${table}
(
Date Date,
TS DateTime,
]],
attachments = [[
-CREATE TABLE IF NOT EXISTS rspamd_attachments (
+CREATE TABLE IF NOT EXISTS ${attachments_table} (
Date Date,
Digest FixedString(32),
`Attachments.FileName` Array(String),
]],
urls = [[
-CREATE TABLE IF NOT EXISTS rspamd_urls (
+CREATE TABLE IF NOT EXISTS ${urls_table} (
Date Date,
Digest FixedString(32),
`Urls.Tld` Array(String),
`Urls.Url` Array(String)
) ENGINE = MergeTree(Date, Digest, 8192)
+]],
+
+ emails = [[
+CREATE TABLE IF NOT EXISTS ${emails_table} (
+ Date Date,
+ Digest FixedString(32),
+ `Emails` Array(String),
+) ENGINE = MergeTree(Date, Digest, 8192)
]],
asn = [[
-CREATE TABLE IF NOT EXISTS rspamd_asn (
+CREATE TABLE IF NOT EXISTS ${asn_table} (
Date Date,
Digest FixedString(32),
ASN String,
]],
symbols = [[
-CREATE TABLE IF NOT EXISTS rspamd_symbols (
+CREATE TABLE IF NOT EXISTS ${symbols_table} (
Date Date,
Digest FixedString(32),
`Symbols.Names` Array(String),
end
for tab,sql in pairs(clickhouse_schema) do
- send_req(tab, sql)
+ send_req(tab, rspamd_lua_utils.template(sql, settings))
end
end
end