Skip to content

Commit 9907ec9

Browse files
[Celerdata] Add a grok expression to parse the new log format of BE (ECOINT-101) (DataDog#2603)
* [Celerdata] Add a grok expression to parse the new log format of BE Signed-off-by: yandongxiao <dxyan06@gmail.com> * Update celerdata/CHANGELOG.md Co-authored-by: Dominic Medina <115744456+dd-dominic@users.noreply.github.com> * Update celerdata/README.md Co-authored-by: Dominic Medina <115744456+dd-dominic@users.noreply.github.com> * Update celerdata/datadog_checks/celerdata/__about__.py Co-authored-by: Dominic Medina <115744456+dd-dominic@users.noreply.github.com> * run command: ddev validate models celerdata -s Signed-off-by: yandongxiao <dxyan06@gmail.com> * update datadog_checks/celerdata/config_models/instance.py Signed-off-by: yandongxiao <dxyan06@gmail.com> * update datadog_checks/celerdata/data/conf.yaml.example Signed-off-by: yandongxiao <dxyan06@gmail.com> * Update license information Signed-off-by: yandongxiao <dxyan06@gmail.com> * add test for new rules Signed-off-by: yandongxiao <dxyan06@gmail.com> --------- Signed-off-by: yandongxiao <dxyan06@gmail.com> Co-authored-by: Dominic Medina <115744456+dd-dominic@users.noreply.github.com>
1 parent c45c9e4 commit 9907ec9

File tree

7 files changed

+56
-8
lines changed

7 files changed

+56
-8
lines changed

celerdata/CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# CHANGELOG - celerdata
22

3+
## 1.1.0 / 2025-02-21
4+
5+
***Added***:
6+
7+
* Add a grok expression to parse the new log format of BE
8+
39
## 1.0.0 / 2024-03-11
410

511
***Added***:

celerdata/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ To collect StarRocks [metrics][9] and logs:
1818
2. Install the CelerData check on your host with the following command:
1919

2020
```shell
21-
datadog-agent integration install -t datadog-celerdata==1.0.0
21+
datadog-agent integration install -t datadog-celerdata==1.1.0
2222
```
2323

2424
### Configuration

celerdata/assets/logs/celerdata.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ pipeline:
1818
- 2024-03-28 18:58:43,380 INFO (nioEventLoopGroup-4-3|154) [RestBaseAction.handleRequest():73] receive http request. url=/api/health
1919
- 2024-04-10 10:32:23.937+08:00 INFO (stateChangeExecutor|95) [StateChangeExecutor.runOneCycle():179] finished to transfer FE type from INIT to LEADER
2020
- I0328 10:22:09.303526 1066 olap_server.cpp:844] try to perform path gc by tablet!
21+
- I20250211 13:17:55.023299 127358726047296 query_context.cpp:60] finished query_id:837ca8a5-e8a4-11ef-89f3-0e809d90bae3 context life time:1476324 cpu costs:428108 peak memusage:298504 scan_bytes:5139 spilled bytes:0
2122
grok:
2223
supportRules: fe_other_log %{word:loglevel} \(%{notSpace}\|%{integer}\) \[%{word:class_name}.%{word:method_name}\(\):%{integer:file_line}\] %{data:message}
2324
matchRules: >-
@@ -26,6 +27,8 @@ pipeline:
2627
fe.log2 %{date("yyyy-MM-dd' 'HH:mm:ss.SSSZZ"):timestamp} %{fe_other_log}
2728
2829
be.info %{regex("\\w"):loglevel}%{date("MMdd HH:mm:ss.SSSSSS"):timestamp}\s+%{integer:thread_id} %{notSpace:file_name}\:%{integer:file_line}\] %{data:message}
30+
31+
be.info2 %{regex("\\w"):loglevel}%{date("yyyyMMdd HH:mm:ss.SSSSSS"):timestamp}\s+%{integer:thread_id} %{notSpace:file_name}\:%{integer:file_line}\] %{data:message}
2932
- type: status-remapper
3033
name: Define `loglevel` as the official status of the log
3134
enabled: true

celerdata/assets/logs/celerdata_tests.yaml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,3 +42,31 @@ tests:
4242
tags:
4343
- "source:LOGS_SOURCE"
4444
timestamp: 1712716343937
45+
-
46+
sample: "I0211 13:17:55.023299 127358726047296 query_context.cpp:60] finished query_id:837ca8a5-e8a4-11ef-89f3-0e809d90bae3 context life time:1476324 cpu costs:428108 peak memusage:298504 scan_bytes:5139 spilled bytes:0"
47+
result:
48+
custom:
49+
file_line: 60
50+
file_name: "query_context.cpp"
51+
loglevel: "I"
52+
thread_id: 127358726047296
53+
timestamp: 35126275023
54+
message: "finished query_id:837ca8a5-e8a4-11ef-89f3-0e809d90bae3 context life time:1476324 cpu costs:428108 peak memusage:298504 scan_bytes:5139 spilled bytes:0"
55+
status: "info"
56+
tags:
57+
- "source:LOGS_SOURCE"
58+
timestamp: 35126275023
59+
-
60+
sample: "I20250211 13:17:55.023299 127358726047296 query_context.cpp:60] finished query_id:837ca8a5-e8a4-11ef-89f3-0e809d90bae3 context life time:1476324 cpu costs:428108 peak memusage:298504 scan_bytes:5139 spilled bytes:0"
61+
result:
62+
custom:
63+
file_line: 60
64+
file_name: "query_context.cpp"
65+
loglevel: "I"
66+
thread_id: 127358726047296
67+
timestamp: 1739279875023
68+
message: "finished query_id:837ca8a5-e8a4-11ef-89f3-0e809d90bae3 context life time:1476324 cpu costs:428108 peak memusage:298504 scan_bytes:5139 spilled bytes:0"
69+
status: "info"
70+
tags:
71+
- "source:LOGS_SOURCE"
72+
timestamp: 1739279875023
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
__version__ = '1.0.0'
1+
__version__ = '1.1.0'

celerdata/datadog_checks/celerdata/config_models/instance.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ class AuthToken(BaseModel):
2525
writer: Optional[MappingProxyType[str, Any]] = None
2626

2727

28-
class ExtraMetric(BaseModel):
28+
class ExtraMetrics(BaseModel):
2929
model_config = ConfigDict(
3030
arbitrary_types_allowed=True,
3131
extra='allow',
@@ -44,7 +44,7 @@ class MetricPatterns(BaseModel):
4444
include: Optional[tuple[str, ...]] = None
4545

4646

47-
class Metric(BaseModel):
47+
class Metrics(BaseModel):
4848
model_config = ConfigDict(
4949
arbitrary_types_allowed=True,
5050
extra='allow',
@@ -64,7 +64,7 @@ class Proxy(BaseModel):
6464
no_proxy: Optional[tuple[str, ...]] = None
6565

6666

67-
class ShareLabel(BaseModel):
67+
class ShareLabels(BaseModel):
6868
model_config = ConfigDict(
6969
arbitrary_types_allowed=True,
7070
frozen=True,
@@ -97,7 +97,7 @@ class InstanceConfig(BaseModel):
9797
exclude_metrics: Optional[tuple[str, ...]] = None
9898
exclude_metrics_by_labels: Optional[MappingProxyType[str, Union[bool, tuple[str, ...]]]] = None
9999
extra_headers: Optional[MappingProxyType[str, Any]] = None
100-
extra_metrics: Optional[tuple[Union[str, MappingProxyType[str, Union[str, ExtraMetric]]], ...]] = None
100+
extra_metrics: Optional[tuple[Union[str, MappingProxyType[str, Union[str, ExtraMetrics]]], ...]] = None
101101
headers: Optional[MappingProxyType[str, Any]] = None
102102
histogram_buckets_as_distributions: Optional[bool] = None
103103
hostname_format: Optional[str] = None
@@ -114,7 +114,7 @@ class InstanceConfig(BaseModel):
114114
kerberos_principal: Optional[str] = None
115115
log_requests: Optional[bool] = None
116116
metric_patterns: Optional[MetricPatterns] = None
117-
metrics: Optional[tuple[Union[str, MappingProxyType[str, Union[str, Metric]]], ...]] = None
117+
metrics: Optional[tuple[Union[str, MappingProxyType[str, Union[str, Metrics]]], ...]] = None
118118
min_collection_interval: Optional[float] = None
119119
namespace: Optional[str] = Field(None, pattern='\\w*')
120120
non_cumulative_histogram_buckets: Optional[bool] = None
@@ -129,14 +129,15 @@ class InstanceConfig(BaseModel):
129129
rename_labels: Optional[MappingProxyType[str, Any]] = None
130130
request_size: Optional[float] = None
131131
service: Optional[str] = None
132-
share_labels: Optional[MappingProxyType[str, Union[bool, ShareLabel]]] = None
132+
share_labels: Optional[MappingProxyType[str, Union[bool, ShareLabels]]] = None
133133
skip_proxy: Optional[bool] = None
134134
tag_by_endpoint: Optional[bool] = None
135135
tags: Optional[tuple[str, ...]] = None
136136
telemetry: Optional[bool] = None
137137
timeout: Optional[float] = None
138138
tls_ca_cert: Optional[str] = None
139139
tls_cert: Optional[str] = None
140+
tls_ciphers: Optional[tuple[str, ...]] = None
140141
tls_ignore_warning: Optional[bool] = None
141142
tls_private_key: Optional[str] = None
142143
tls_protocols_allowed: Optional[tuple[str, ...]] = None

celerdata/datadog_checks/celerdata/data/conf.yaml.example

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -500,6 +500,16 @@ instances:
500500
# - TLSv1.2
501501
# - TLSv1.3
502502

503+
## @param tls_ciphers - list of strings - optional
504+
## The list of ciphers suites to use when connecting to an endpoint. If not specified,
505+
## `ALL` ciphers are used. For list of ciphers see:
506+
## https://www.openssl.org/docs/man1.0.2/man1/ciphers.html
507+
#
508+
# tls_ciphers:
509+
# - TLS_AES_256_GCM_SHA384
510+
# - TLS_CHACHA20_POLY1305_SHA256
511+
# - TLS_AES_128_GCM_SHA256
512+
503513
## @param headers - mapping - optional
504514
## The headers parameter allows you to send specific headers with every request.
505515
## You can use it for explicitly specifying the host header or adding headers for

0 commit comments

Comments
 (0)