Commit Graph

90 Commits

Author SHA1 Message Date
Azat Khuzhin
aee034a597 Use explicit template instantiation for SystemLog
- Move some code into module part to avoid dependency from IStorage in SystemLog
- Remove extra headers from SystemLog.h
- Rewrite some code that was relying on headers that was included by SystemLog.h

v2: rebase
v3: squash move into module part with explicit template instantiation
    (to make each commit self compilable after rebase)
2022-01-10 22:01:41 +03:00
Azat Khuzhin
5fafeea763 Recreate system.*_log tables in case of different engine/partition_by.
- Mark getCreateTableQuery() non virtual to call it from ctor
- Make check for CREATE TABLE simpler (by caching result)
- Extend error message.

v2: at SystemLog tables has not been initialized yet, so SHOW CREATE
cannot be obtained for the existing table, move the check to the
prepareTable() call.
v3: reset UUID and SETTINGS of MergeTree in CREATE TABLE query
v4: fix re-creating table with the same UUID
2021-11-26 10:05:20 +03:00
Alexey Milovidov
fe6b7c77c7 Rename "common" to "base" 2021-10-02 10:13:14 +03:00
Vasily Nemkov
109d2f63d0 Fixed tests and minor style issues 2021-08-31 15:39:15 +03:00
Vasily Nemkov
c902afddde Added system.session_log table
Which logs all the info about LogIn, LogOut and LogIn Failure events.
Additional info that is logged:
- User name
- event type (LogIn, LogOut, LoginFailure)
- Event date\time\time with microseconds
- authentication type (same as for IDENTIFIED BY of CREATE USER statement)
- array of active settings profiles upon login
- array of active roles upon login
- array of changed settings with corresponding values
- client address and port
- interface (TCP\HTTP\MySQL\PostgreSQL, etc.)
- client info (name, version info)
- optional LoginFailure reason text message.

Added some tests to verify that events are properly saved with all necessary info via following interfaces:
- TCP
- HTTP
- MySQL

Known limitations
- Not tested against named HTTP sessions, PostgreSQL and gRPC, hence those are not guaranteed to work 100% properly.
2021-08-30 18:28:28 +03:00
Raúl Marín
4a09c54a04 Merge remote-tracking branch 'blessed/master' into materialization_log 2021-07-28 10:38:47 +02:00
Raúl Marín
ea5c02a605 WIP 2021-07-27 16:26:27 +02:00
Raúl Marín
c5b14f5075 Add materialization log to SystemLog 2021-07-27 16:23:46 +02:00
Alexander Tokmakov
4165ba2a01 add system.zookeeper_log 2021-07-09 17:05:35 +03:00
Ivan
495c6e03aa
Replace all Context references with std::weak_ptr (#22297)
* Replace all Context references with std::weak_ptr

* Fix shared context captured by value

* Fix build

* Fix Context with named sessions

* Fix copy context

* Fix gcc build

* Merge with master and fix build

* Fix gcc-9 build
2021-04-11 02:33:54 +03:00
spongedc
b13c381d7e add log for systemlog tables' engine definition check 2020-12-03 01:02:37 +08:00
spongedc
7f723eb780 add check for systemlog tables' engine definition 2020-12-03 00:45:17 +08:00
spongedc
9e995d9756 1.make ttl option more generic 2. add check if engine specified for system log 2020-12-01 00:29:36 +08:00
felixxdu
4cc6594cb8 Support configure Ssystem log table's ttl in config.xml 2020-11-26 17:37:42 +08:00
Ivan
c73c801825
Set sane default value for metric_log's collect inverval
Otherwise server will crash on start if config value is missing.
No test since we can't test configs.
2020-11-09 17:49:48 +03:00
Alexander Kuzmenkov
145e2b012f cleanup 2020-10-22 19:47:20 +03:00
Alexander Kuzmenkov
7b64ca33b1 Merge remote-tracking branch 'origin/master' into tmp 2020-09-22 14:02:20 +03:00
Anton Popov
d1c35dc794 Merge remote-tracking branch 'upstream/master' into HEAD 2020-09-10 03:13:08 +03:00
Alexander Kuzmenkov
05ad9b9fff opentelemetry wip 2020-08-20 23:59:58 +03:00
Alexey Milovidov
31cbdd1a56 system.crash_log: development 2020-07-09 07:15:45 +03:00
Alexey Milovidov
91e78672fa Enable compact parts by default for small parts 2020-06-24 15:19:29 +03:00
Alexey Milovidov
cfef7ba692 Whitespace 2020-06-13 04:35:49 +03:00
Alexander Kuzmenkov
e4be52f35f Add system.asynchronous_metric_log 2020-06-10 22:17:54 +03:00
alexey-milovidov
19c6e0e5ae
Merge pull request #11307 from ClickHouse/remove-system-tables-lazy-load
Remove "system_tables_lazy_load" option
2020-06-01 16:26:23 +03:00
alexey-milovidov
9984e989c1
Merge pull request #11317 from ClickHouse/logger-fmt-2
Preparation for structured logging
2020-06-01 00:11:29 +03:00
Alexey Milovidov
87cf123ef8 Merge branch 'master' into remove-system-tables-lazy-load 2020-05-31 18:06:08 +03:00
Alexey Milovidov
85537d7b94 Miscellaneous changes for SystemLogs 2020-05-31 17:38:02 +03:00
Alexey Milovidov
25f941020b Remove namespace pollution 2020-05-31 00:57:37 +03:00
Alexey Milovidov
496fed5ed3 Remove "system_tables_lazy_load" option 2020-05-30 17:24:09 +03:00
Alexey Milovidov
7e1813825b Return old names of macros 2020-05-24 01:24:01 +03:00
Alexey Milovidov
93626701b8 Apply all transformations again 2020-05-24 00:27:27 +03:00
Alexey Milovidov
ce0619dabf Progress on task 2020-05-24 00:26:45 +03:00
Alexey Milovidov
a2ad11897f Remove duplicate whitespaces (preparation) 2020-05-23 21:53:58 +03:00
Alexey Milovidov
1f13515a65 Make all LOG in single line (preparation) 2020-05-23 21:31:37 +03:00
Azat Khuzhin
e1fbf82d0c Disable system_tables_lazy_load by default
Refs: #9642
Refs: #10359
2020-05-19 02:41:18 +03:00
Azat Khuzhin
c42943850f Avoid std::terminate in case of exception from SystemLogs::SystemLogs
Since, at least, this will hide the real exception
2020-05-09 16:25:58 +03:00
Alexey Milovidov
237db26688 Less wrong 2020-04-20 02:11:41 +03:00
Alexey Milovidov
8d3e6ed5e3 Added missing code 2020-04-19 23:04:59 +03:00
Alexey Milovidov
c7eaaaf7fe Small refactoring of SystemLogs 2020-04-13 04:33:05 +03:00
Ivan Lezhankin
06446b4f08 dbms/ → src/ 2020-04-03 18:14:31 +03:00