膝盖积液用什么药最好| 脾不统血吃什么中成药| 皮肤发痒是什么原因| 大便拉水是什么原因| 蕾丝边是什么意思| 6月21号是什么日子| 医院什么时候上班| 无眠是什么意思| 梦见自己假牙掉了是什么意思| faleda是什么牌子的手表| tm是什么意思| 潮汐是什么意思| 供奉观音菩萨有什么讲究| 腌肉用什么淀粉| 什么是腔梗| 西凤酒属于什么香型| 男人梦见蛇是什么预兆| 嘱托是什么意思| 肛塞有什么作用| 小孩缺铁有什么症状| red什么颜色| 泄身是什么意思| 早餐做什么| 34岁属什么| 望而生畏什么意思| 查肾结石挂什么科| 什么东西补肾最好| 蛋蛋冰凉潮湿什么原因| 怀孕血糖高有什么症状| 什么水果养胃| 中性粒细胞计数偏高是什么意思| 子宫肌层回声欠均匀是什么意思| 日语为什么怎么说| 黄芪是什么味道| 遍布是什么意思| 飞机是什么| 三公是什么意思| lo娘是什么意思| 石斛有什么副作用| 绿本是什么| 为什么一吹空调就鼻塞| 尿白细胞加减什么意思| 壁虎在家里是什么征兆| 12月6号是什么星座| 神农架为什么是禁区| 未可以加什么偏旁| 农历六月初三是什么星座| 三七粉有什么功效| 麝香对孕妇有什么危害性| 肠胃炎吃什么食物| 抑郁症挂什么科室| 月经来了一点就没了是什么原因| 黄芪什么人不能喝| 大米有什么营养| 来姨妈吃什么水果好| 辣椒油用什么能洗掉| 朱砂痣是什么| 天德是什么意思| 属蛇本命佛是什么佛| 辅酶q10什么时候吃最好| 其他垃圾有什么| 桑葚是什么季节的| 什么病会传染| 什么是动车| c2驾驶证能开什么车| 自然是什么意思| 一直打喷嚏是什么原因| 腹股沟在什么位置| 玫瑰疹是什么病| 什么散步| 慢性盆腔炎吃什么药| 金字旁加各念什么| 鸡全蛋粉是什么东西| 蜂蜜有什么作用与功效| 荷叶像什么比喻句| 什么的诉说| 肺炎后遗症有什么症状| 清风明月是什么意思| 眼睛发胀是什么原因| 鹿柴什么意思| 虫草有什么作用与功效| 精子长什么样| 耳膜穿孔什么症状| 大便拉水是什么原因| 腰酸背痛是什么原因| 脖子肿大是什么病的症状| 96年是什么年| 挂碍是什么意思| 1996年什么命| 子痫是什么意思| 己未五行属什么| 眷顾是什么意思| 胃寒吃点什么药| 小孩脚后跟疼是什么原因| 千秋无绝色悦目是佳人什么意思| 2017年属鸡火命缺什么| hpv感染是什么症状| 柠檬加蜂蜜泡水喝有什么功效| 腹黑是什么意思| 过敏不能吃什么东西| 三七花泡水喝有什么功效| 芦荟有什么功效与作用| 9月14号是什么星座| 什么三什么四| 肝囊肿是什么原因造成的| 1922年属什么生肖| 牛筋面是什么做的| 6s管理内容是什么| 大拇指指甲凹陷是什么原因| 什么叫二氧化碳| 内角是什么意思| maby什么意思| 癌胚抗原是什么意思| 77年属什么| 什么叫实性结节| 喝酒头疼是什么原因| 经信委是干什么的| 副乳挂什么科| 40年属什么| 尿蛋白可疑阳性是什么意思| 什么是毒品| 弘字五行属什么| 酸碱度是什么意思| bni是什么意思| 钙化影是什么意思| 芒果什么人不适合吃| 装垃圾的工具叫什么| 什么运动瘦肚子| 貘是什么动物| 抽烟有什么好处| 什么是盐| 六月十五号是什么星座| 1946年属狗的是什么命| 五合是什么意思| 被蝎子蛰了有什么好处| 985和211是什么意思| 温吞是什么意思| serum是什么意思| 蜜饯是什么意思| 2000年为什么叫千禧年| 朋友开业送什么礼物好| fs是什么单位| 小腿有血栓是什么症状| 吃什么紧致皮肤抗衰老| 倒着走路有什么好处| 什么人不能坐飞机| 电解质氯高是什么原因| 孙悟空是什么佛| 私定终身是什么意思| 二月初五是什么星座| 比重是什么| 马不停蹄是什么生肖| 鼻子大的男人说明什么| 呦西是什么意思| 8月10日什么星座| 什么是人乳头瘤病毒| 孕期阴道炎可以用什么药| 太作了是什么意思| 什么食物含钙| 小妮子是什么意思| 脐血流检查是什么| 什么值得买怎么用| hmg是什么药| 诸葛亮是什么星座| 我要控制我自己是什么歌| 刘备是个什么样的人| 什么是繁体字| 白子是什么东西| 什么情况需要割包皮| 黄体功能不足是什么原因造成的| 雅丹是什么意思| 离婚要什么手续和证件| 男生下巴长痘痘是什么原因| 前列腺液是什么颜色| 7月有什么活动| ft什么意思| 小孩趴着睡觉是什么原因| 广州和广东有什么区别| 领略是什么意思| 这个季节吃什么水果| 怎么判断自己什么脸型| 晶莹的近义词是什么| 为什么一动就满头大汗| 办护照需要什么证件| 不遗余力的遗是什么意思| 什么的李子| 黄瓜和什么一起炒好吃| 右肾小结石是什么意思| 背上长痘痘是什么原因| 转氨酶偏高吃什么药| 小便有点刺痛是什么原因引起的| 白羊座和什么座最配| lf是什么意思| 为什么会遗精| 1994年出生属什么| 伊维菌素是什么药| 女生白带是什么| 耳鸣什么原因引起的| 早上打喷嚏是什么预兆| 辣椒什么时候传入中国| tommy什么牌子| 容字五行属什么| 皮下出血是什么原因| 蚧壳虫用什么药最有效| 5月20号是什么星座| 吃什么水果对心脏有好处| 谷氨酰转肽酶高什么原因| 为什么长不高| 惨绿少年什么意思| 普惠性幼儿园是什么意思| 12月10日是什么星座| 司空见惯是说司空见惯了什么| 有福气是什么意思| 喉咙发甜是什么原因| 左肖是什么生肖| 出什么什么什么| 低迷是什么意思| 一天从早到晚叫什么日| 民营和私营有什么区别| 厨娘是什么意思| 什么的成长| 梦见好多猪肉是什么意思| 治妇科炎症用什么药好| 面瘫是什么原因造成的| 点心是什么意思| 为什么会肌酐高| H 什么意思| 左侧卵巢囊性结构什么意思| 柠檬泡水喝有什么好处| 女生排卵期是什么意思| 梦到血是什么意思| 98年是什么命| 鼻炎流鼻血是什么原因| 什么的黎明| 来月经前有什么症状| 喝酒前喝什么不容易醉又不伤胃| 尿道口为什么叫马眼| 肌肉抽筋是什么原因| 疣体是什么病| 来之不易是什么意思| 痛风什么水果不能吃| 什么鸟一生只有一个伴侣| 腮腺炎吃什么药| 九月九日是什么日子| mi是什么单位| galaxy是什么牌子| 衰竭是什么意思| 一什么眉毛| 人为什么没有尾巴| 铁锈是什么颜色的| 小孩子走神是什么原因| 割包为什么很多人后悔| 非典是什么| 酷暑是什么意思| 焦虑失眠吃什么药最好| 马克华菲属于什么档次| 21三体临界风险是什么意思| 1996年什么命| 肌肤是什么意思| 肩胛骨麻麻的什么原因| 合子是什么| 牙膏什么牌子最好| 32岁属什么的生肖| 92属什么| 百度

关于严格高校自主招生资格审查和考核工作的...

百度 积极倡导公众在消费时选择无污染、无公害、有助于公众健康的绿色产品,在追求舒适生活的同时,注重环保、节约资源和能源。

Después de establecer la recopilación de logs, puedes personalizar la configuración de la recopilación:

Para aplicar una regla de procesamiento a todos los logs que recopila el Datadog Agent, consulta la sección Reglas de procesamiento generales.

Notas:

  • Si configuras reglas de procesamiento multilínea, se aplicarán secuencialmente, de forma que cada una se aplicará al resultado de la anterior.
  • Los patrones de las reglas de procesamiento se deben ajustar a la sintaxis de la expresión regular de Golang.
  • El parámetro log_processing_rules se utiliza en las configuraciones de la integración para personalizar la configuración de la recopilación de logs. Mientras que en la configuración principal del Agent, el parámetro processing_rules se utiliza para definir reglas de procesamiento generales.

Filtrar logs

Para enviar solo un subconjunto específico de logs a Datadog, utiliza el parámetro log_processing_rules en el archivo de configuración con el tipo exclude_at_match o include_at_match.

Excluir si hay coincidencia

ParámetroDescripción
exclude_at_matchSi el patrón especificado aparece en el mensaje, se excluye el log y no se envía a Datadog.

Por ejemplo, para excluir los logs que contienen una dirección de correo electrónico de Datadog, utiliza log_processing_rules de la siguiente manera:

logs:
  - type: file
    path: /my/test/file.log
    service: cardpayment
    source: java
    log_processing_rules:
    - type: exclude_at_match
      name: exclude_datadoghq_users
      ## Regexp can be anything
      pattern: \w+@datadoghq.com

En un entorno de Docker, utiliza la etiqueta com.datadoghq.ad.logs en el contenedor que envíe los logs que quieres filtrar para especificar el parámetro log_processing_rules. Por ejemplo:

 labels:
    com.datadoghq.ad.logs: >-
      [{
        "source": "java",
        "service": "cardpayment",
        "log_processing_rules": [{
          "type": "exclude_at_match",
          "name": "exclude_datadoghq_users",
          "pattern" : "\\w+@datadoghq.com"
        }]
      }]      

Nota: Utiliza secuencias de escape en los caracteres de expresión regular de tus patrones cuando uses etiquetas. Por ejemplo, \d pasaría a ser \\d, \w pasaría a ser \\w.

Nota: El valor de la etiqueta debe seguir la sintaxis JSON, lo que significa que no debes incluir comas finales ni comentarios.

Para configurar Autodiscovery para la recopilación de logs de contenedor de un contenedor dado (con el nombre CONTAINER_NAME) dentro de tu pod, a?ade las siguientes anotaciones a las log_processing_rules de tu pod:

apiVersion: apps/v1
metadata:
  name: cardpayment
spec:
  selector:
    matchLabels:
      app: cardpayment
  template:
    metadata:
      annotations:
        ad.datadoghq.com/<CONTAINER_NAME>.logs: >-
          [{
            "source": "java",
            "service": "cardpayment",
            "log_processing_rules": [{
              "type": "exclude_at_match",
              "name": "exclude_datadoghq_users",
              "pattern" : "\\w+@datadoghq.com"
            }]
          }]          
      labels:
        app: cardpayment
      name: cardpayment
    spec:
      containers:
        - name: '<CONTAINER_NAME>'
          image: cardpayment:latest

Nota: Utiliza secuencias de escape en los caracteres de expresión regular de tus patrones cuando uses anotaciones de pod. Por ejemplo, \d pasaría a ser \\d, \w pasaría a ser \\w.

Nota: El valor de la anotación debe seguir la sintaxis JSON, lo que significa que no debes incluir comas finales ni comentarios.

Incluir si hay coincidencia

ParámetroDescripción
include_at_matchSolo se enviarán a Datadog aquellos logs que tengan un mensaje con el patrón especificado. Si se definen varias reglas include_at_match, deberán coincidir todos los patrones de reglas para que se incluya el log.

Por ejemplo, utiliza la siguiente configuración del parámetro log_processing_rules para incluir los logs que contienen una dirección de correo electrónico de Datadog:

logs:
  - type: file
    path: /my/test/file.log
    service: cardpayment
    source: java
    log_processing_rules:
    - type: include_at_match
      name: include_datadoghq_users
      ## Regexp can be anything
      pattern: \w+@datadoghq.com

Si quieres que coincidan uno o varios patrones, debes definirlos en una única expresión:

logs:
  - type: file
    path: /my/test/file.log
    service: cardpayment
    source: java
    log_processing_rules:
    - type: include_at_match
      name: include_datadoghq_users
      pattern: abc|123

Si los patrones son demasiado largos para caber en una sola línea de forma legible, puedes distribuirlos en varias líneas:

logs:
  - type: file
    path: /my/test/file.log
    service: cardpayment
    source: java
    log_processing_rules:
    - type: include_at_match
      name: include_datadoghq_users
      pattern: "abc\
|123\
|\\w+@datadoghq.com"

En un entorno de Docker, utiliza la etiqueta com.datadoghq.ad.logs en el contenedor que envía los logs que quieres filtrar, para especificar el parámetrolog_processing_rules. Por ejemplo:

 labels:
    com.datadoghq.ad.logs: >-
      [{
        "source": "java",
        "service": "cardpayment",
        "log_processing_rules": [{
          "type": "include_at_match",
          "name": "include_datadoghq_users",
          "pattern" : "\\w+@datadoghq.com"
        }]
      }]      

Nota: Utiliza secuencias de escape en los caracteres de expresión regular de tus patrones cuando uses etiquetas. Por ejemplo, \d pasaría a ser \\d, \w pasaría a ser \\w.

Nota: El valor de la etiqueta debe seguir la sintaxis JSON, lo que significa que no debes incluir comas finales ni comentarios.

En un entorno de Kubernetes, utiliza la anotación de pod ad.datadoghq.com en tu pod para definir el parámetro log_processing_rules. Por ejemplo:

apiVersion: apps/v1
metadata:
  name: cardpayment
spec:
  selector:
    matchLabels:
      app: cardpayment
  template:
    metadata:
      annotations:
        ad.datadoghq.com/<CONTAINER_NAME>.logs: >-
          [{
            "source": "java",
            "service": "cardpayment",
            "log_processing_rules": [{
              "type": "include_at_match",
              "name": "include_datadoghq_users",
              "pattern" : "\\w+@datadoghq.com"
            }]
          }]          
      labels:
        app: cardpayment
      name: cardpayment
    spec:
      containers:
        - name: '<CONTAINER_NAME>'
          image: cardpayment:latest

Nota: Utiliza secuencias de escape en los caracteres de expresión regular de tus patrones cuando uses anotaciones de pod. Por ejemplo, \d pasaría a ser \\d, \w pasaría a ser \\w.

Nota: El valor de la anotación debe seguir la sintaxis JSON, lo que significa que no debes incluir comas finales ni comentarios.

Limpia los datos confidenciales de tus logs

Join the Preview!

El uso de Sensitive Data Scanner con el Agent está en Vista previa. Para obtener más información, consulta la entrada del blog y la documentación. Para solicitar acceso, rellena este formulario.

Request Access

Si tus logs contienen información confidencial que es necesario ocultar, configura el Datadog Agent para limpiar secuencias confidenciales y utiliza el parámetro log_processing_rules en tu archivo de configuración con el tipo mask_sequences.

Esto reemplazará todos los grupos coincidentes con el valor del parámetro replace_placeholder.

Por ejemplo, para ocultar los números de tarjetas de crédito:

logs:
 - type: file
   path: /my/test/file.log
   service: cardpayment
   source: java
   log_processing_rules:
      - type: mask_sequences
        name: mask_credit_cards
        replace_placeholder: "[masked_credit_card]"
        ##One pattern that contains capture groups
        pattern: (?:4[0-9]{12}(?:[0-9]{3})?|[25][1-7][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})

En un entorno de Docker, utiliza la etiqueta com.datadoghq.ad.logs en tu contenedor para especificar el parámetro log_processing_rules. Por ejemplo:

 labels:
    com.datadoghq.ad.logs: >-
      [{
        "source": "java",
        "service": "cardpayment",
        "log_processing_rules": [{
          "type": "mask_sequences",
          "name": "mask_credit_cards",
          "replace_placeholder": "[masked_credit_card]",
          "pattern" : "(?:4[0-9]{12}(?:[0-9]{3})?|[25][1-7][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\\d{3})\\d{11})"
        }]
      }]      

Nota: Utiliza secuencias de escape en los caracteres de expresión regular de tus patrones cuando uses etiquetas. Por ejemplo, \d pasaría a ser \\d, \w pasaría a ser \\w.

Nota: El valor de la etiqueta debe seguir la sintaxis JSON, lo que significa que no debes incluir comas finales ni comentarios.

En un entorno de Kubernetes, utiliza la anotación de pod ad.datadoghq.com en tu pod para definir el parámetro log_processing_rules. Por ejemplo:

apiVersion: apps/v1
metadata:
  name: cardpayment
spec:
  selector:
    matchLabels:
      app: cardpayment
  template:
    metadata:
      annotations:
        ad.datadoghq.com/<CONTAINER_NAME>.logs: >-
          [{
            "source": "java",
            "service": "cardpayment",
            "log_processing_rules": [{
              "type": "mask_sequences",
              "name": "mask_credit_cards",
              "replace_placeholder": "[masked_credit_card]",
              "pattern" : "(?:4[0-9]{12}(?:[0-9]{3})?|[25][1-7][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\\d{3})\\d{11})"
            }]
          }]          
      labels:
        app: cardpayment
      name: cardpayment
    spec:
      containers:
        - name: '<CONTAINER_NAME>'
          image: cardpayment:latest

Nota: Utiliza secuencias de escape en los caracteres de expresión regular de tus patrones cuando uses anotaciones de pod. Por ejemplo, \d pasaría a ser \\d, \w pasaría a ser \\w.

Nota: El valor de la anotación debe seguir la sintaxis JSON, lo que significa que no debes incluir comas finales ni comentarios.

A partir de la versión?7.17 del Agent, la cadena replace_placeholder puede ampliar las referencias para capturar grupos como $1, $2, etc. Si quieres que una cadena vaya después del grupo de captura sin espacio de separación, utiliza el formato ${<GROUP_NUMBER>}.

Por ejemplo, para limpiar información de usuario del logUser email: foo.bar@example.com, utiliza:

  • pattern: "(User email: )[^@]*@(.*)"
  • replace_placeholder: "$1 masked_user@${2}"

Así, se enviará el siguiente log a Datadog: User email: masked_user@example.com

Agregación multilínea

Si tus logs no se envían en JSON y quieres agregar varias líneas en una sola entrada, configura el Datadog Agent para que detecte un log nuevo mediante un patrón de expresión regular específico en lugar de tener un log por línea. Utiliza el tipo multi_line en el parámetro log_processing_rules para agregar todas las líneas en una sola entrada hasta que se vuelva a detectar el patrón dado.

Por ejemplo, cada línea de log de Java empieza con una marca de tiempo en formato yyyy-dd-mm. Estas líneas incluyen un stack trace que puede enviarse como dos logs:

2025-08-07T09:24:24.983Z UTC Exception in thread "main" java.lang.NullPointerException
        at com.example.myproject.Book.getTitle(Book.java:16)
        at com.example.myproject.Author.getBookTitles(Author.java:25)
        at com.example.myproject.Bootstrap.main(Bootstrap.java:14)
2025-08-07T09:26:24.365Z UTC starting upload of /my/file.gz

Para enviar los logs del ejemplo anterior con un archivo de configuración, utiliza log_processing_rules de la siguiente manera:

logs:
 - type: file
   path: /var/log/pg_log.log
   service: database
   source: postgresql
   log_processing_rules:
      - type: multi_line
        name: new_log_start_with_date
        pattern: \d{4}\-(0?[1-9]|1[012])\-(0?[1-9]|[12][0-9]|3[01])

En un entorno de Docker, utiliza la etiqueta com.datadoghq.ad.logs en tu contenedor para especificar el parámetro log_processing_rules. Por ejemplo:

 labels:
    com.datadoghq.ad.logs: >-
      [{
        "source": "postgresql",
        "service": "database",
        "log_processing_rules": [{
          "type": "multi_line",
          "name": "log_start_with_date",
          "pattern" : "\\d{4}-(0?[1-9]|1[012])-(0?[1-9]|[12][0-9]|3[01])"
        }]
      }]      

En un entorno de Kubernetes, utiliza la anotación de pod ad.datadoghq.com en tu pod para definir el parámetro log_processing_rules. Por ejemplo:

apiVersion: apps/v1
metadata:
  name: postgres
spec:
  selector:
    matchLabels:
      app: database
  template:
    metadata:
      annotations:
        ad.datadoghq.com/<CONTAINER_NAME>.logs: >-
          [{
            "source": "postgresql",
            "service": "database",
            "log_processing_rules": [{
              "type": "multi_line",
              "name": "log_start_with_date",
              "pattern" : "\\d{4}-(0?[1-9]|1[012])-(0?[1-9]|[12][0-9]|3[01])"
            }]
          }]          
      labels:
        app: database
      name: postgres
    spec:
      containers:
        - name: '<CONTAINER_NAME>'
          image: postgres:latest

Nota: Utiliza secuencias de escape en los caracteres de expresión regular de tus patrones cuando realices una agregación multilínea con anotaciones de pod. Por ejemplo, \d pasaría a ser \\d, \w pasaría a ser \\w.

Nota: El valor de la anotación debe seguir la sintaxis JSON, lo que significa que no debes incluir comas finales ni comentarios.

Importante Los patrones de expresiones regulares para logs multilínea deben comenzar al principio de un log. Los patrones no pueden coincidir a mitad de una línea. Un patrón que no coincida nunca puede provocar pérdidas de líneas de logs.

La recopilación de logs funciona con una precisión de hasta milisegundos. Los logs con mayor precisión no se envían aunque coincidan con el patrón.

Más ejemplos:

Cadena sin formatoPatrón
14:20:15\d{2}:\d{2}:\d{2}
10/11/2014\d{2}\/\d{2}\/\d{4}
Jueves, 16 de junio de 2016 08:29:03\w{3}\s+\w{3}\s+\d{2}\s\d{2}:\d{2}:\d{2}\s\d{4}
20180228\d{8}
2025-08-07 05:10:49.657\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}\.\d{3}
{“date”: “2025-08-07”\{"date": "\d{4}-\d{2}-\d{2}

Agregación multilínea automática

A partir de la versión 7.37 o posterior del Agent, es posible habilitar auto_multi_line_detection para que el Agent pueda detectar patrones multilínea habituales de manera automática.

Activa auto_multi_line_detection de forma general en el archivo datadog.yaml:

logs_config:
  auto_multi_line_detection: true

Para los despliegues contenedorizados, puedes activar auto_multi_line_detection con la variable de entornoDD_LOGS_CONFIG_AUTO_MULTI_LINE_DETECTION=true.

También se puede activar o desactivar este parámetro (anulando la configuración general) en la configuración de cada log:

logs:
  - type: file
    path: /my/test/file.log
    service: testApp
    source: java
    auto_multi_line_detection: true

La detección multilínea automática utiliza una lista de expresiones regulares habituales para intentar buscar coincidencias de logs. Si no es suficiente con la lista integrada, puedes a?adir patrones personalizados en el archivo datadog.yaml:

logs_config:
  auto_multi_line_detection: true
  auto_multi_line_extra_patterns:
   - \d{4}\-(0?[1-9]|1[012])\-(0?[1-9]|[12][0-9]|3[01])
   - '[A-Za-z_]+ \d+, \d+ \d+:\d+:\d+ (AM|PM)'

Si ningún patrón llega al umbral de coincidencia con la línea, a?ade el parámetro auto_multi_line_default_match_threshold con un valor inferior. Esto configura un valor de umbral que determina la frecuencia con la que los logs tienen que coincidir para que funcione la agregación multilínea automática. Para conocer el valor actual del umbral, ejecuta el comando de status del Agent.

logs_config:
  auto_multi_line_detection: true
  auto_multi_line_extra_patterns:
   - \d{4}\-(0?[1-9]|1[012])\-(0?[1-9]|[12][0-9]|3[01])
   - '[A-Za-z_]+ \d+, \d+ \d+:\d+:\d+ (AM|PM)'
  auto_multi_line_default_match_threshold: 0.1

En un entorno de Docker, utiliza la etiqueta com.datadoghq.ad.logs en tu contenedor para especificar el parámetro log_processing_rules. Por ejemplo:

 labels:
    com.datadoghq.ad.logs: >-
      [{
        "source": "java",
        "service": "testApp",
        "auto_multi_line_detection": true
      }]      

La detección multilínea automática utiliza una lista de expresiones regulares comunes para intentar emparejar los logs. Si la lista incorporada no es suficiente, también puedes a?adir patrones personalizados en el archivo datadog.yaml con la variable de entorno DD_LOGS_CONFIG_AUTO_MULTI_LINE_EXTRA_PATTERNS.

Si ningún patrón llega al umbral de coincidencia con la línea, a?ade la variable de entornoDD_LOGS_CONFIG_AUTO_MULTI_LINE_DEFAULT_MATCH_THRESHOLD con un valor inferior. Esto configura un valor de umbral que determina la frecuencia con la que los logs deben coincidir para que funcione la agregación multilínea automática. Para conocer el valor del umbral actual, ejecuta el comando de statusdel Agent.

apiVersion: apps/v1
metadata:
  name: testApp
spec:
  selector:
    matchLabels:
      app: testApp
  template:
    metadata:
      annotations:
        ad.datadoghq.com/<CONTAINER_NAME>.logs: >-
          [{
            "source": "java",
            "service": "testApp",
            "auto_multi_line_detection": true
          }]          
      labels:
        app: testApp
      name: testApp
    spec:
      containers:
        - name: '<CONTAINER_NAME>'
          image: testApp:latest

La detección multilínea automática utiliza una lista de expresiones regulares comunes para intentar emparejar los logs. Si la lista incorporada no es suficiente, también puedes a?adir patrones personalizados en el archivo datadog.yaml con la variable de entorno DD_LOGS_CONFIG_AUTO_MULTI_LINE_EXTRA_PATTERNS.

Si ningún patrón llega al umbral de coincidencia con la línea, a?ade la variable de entornoDD_LOGS_CONFIG_AUTO_MULTI_LINE_DEFAULT_MATCH_THRESHOLD con un valor inferior. Esto configura un valor de umbral que determina la frecuencia con la que los logs deben coincidir para que funcione la agregación multilínea automática. Para conocer el valor del umbral actual, ejecuta el comando de statusdel Agent.

Si se activa esta función y se abre un nuevo archivo de logs, el Agent intenta detectar un patrón. Durante este proceso, los logs se envían en forma de líneas únicas. Una vez alcanzado el umbral de detección, todos los futuros logs de ese origen se agregan con el patrón detectado, o bien como líneas únicas en caso de que no se encuentre ningún patrón. Como máximo, la detección tarda 30 segundos o lo que se tarde en detectar los primeros 500 logs (lo que ocurra antes).

Nota: Si puedes controlar el patrón de nombres del log rotado, asegúrate de que el archivo rotado sustituya al archivo activo anteriormente con ese mismo nombre. El Agent reutiliza un patrón detectado anteriormente en el archivo recién rotado para evitar tener que volver a ejecutar la detección.

La detección multilínea automática detecta los logs que empiezan y concuerdan con los siguientes formatos de fecha/hora: RFC3339, ANSIC, el formato de fecha Unix, el formato de fecha Ruby, RFC822, RFC822Z, RFC850, RFC1123, RFC1123Z, RFC3339Nano y el formato de fecha SimpleFormatter para el registro de logs de Java predeterminado.

Reglas de procesamiento de logs habitualmente utilizadas

Consulta las preguntas frecuentes sobre las reglas de procesamiento de logs habitualmente utilizadas para ver una lista de ejemplos.

Supervisar directorios mediante comodines

Si tus archivos de log se han etiquetado por fecha o si todos ellos se encuentran almacenados en el mismo directorio, configura el Datadog Agent para monitorizarlos a todos y detectar de manera automática los nuevos mediante comodines en el atributo path. Si quieres excluir algunos archivos coincidentes con la ruta path seleccionada, inclúyelos en el atributo exclude_paths.

  • Al utilizar path: /var/log/myapp/*.log:

    • Habrá coincidencia con todos los archivos .log contenidos en el directorio /var/log/myapp/.
    • No habrá coincidencia con /var/log/myapp/myapp.conf.
  • Al utilizar path: /var/log/myapp/*/*.log:

    • Habrá coincidencia con /var/log/myapp/log/myfile.log.
    • Habrá coincidencia con /var/log/myapp/errorLog/myerrorfile.log.
    • No habrá coincidencia con /var/log/myapp/mylogfile.log.

Ejemplo de configuración para Linux:

logs:
  - type: file
    path: /var/log/myapp/*.log
    exclude_paths:
      - /var/log/myapp/debug.log
      - /var/log/myapp/trace.log
    service: mywebapp
    source: go

En el ejemplo anterior, hay coincidencia con /var/log/myapp/log/myfile.log y se excluyen /var/log/myapp/log/debug.log y /var/log/myapp/log/trace.log.

Ejemplo de configuración para Windows:

logs:
  - type: file
    path: C:\\MyApp\\*.log
    exclude_paths:
      - C:\\MyApp\\MyLog.*.log
    service: mywebapp
    source: csharp

En el ejemplo anterior, hay coincidencia con C:\\MyApp\\MyLog.log y se excluyen C:\\MyApp\\MyLog.20230101.log y C:\\MyApp\\MyLog.20230102.log.

Nota: El Agent requiere permisos de lectura y ejecución en un directorio para mostrar la lista de todos los archivos disponibles que contiene. Nota2: Los valores path y exclude_paths distinguen entre mayúsculas y minúsculas.

Supervisa primero los últimos archivos modificados

A la hora de priorizar qué archivos supervisar, el Datadog Agent ordena los nombres de archivo de la ruta de directorio por orden lexicográfico inverso. Para ordenar los archivos por hora de modificación, define la opción de configuraciónlogs_config.file_wildcard_selection_mode con el valor by_modification_time.

Esta opción resulta útil cuando el total de coincidencias de archivos de logs es superior a logs_config.open_files_limit. Al utilizar by_modification_time, se garantiza que los últimos archivos actualizados se supervisan primero en la ruta de directorio definida.

Para restablecer el comportamiento predeterminado, define la opción de configuración logs_config.file_wildcard_selection_mode con el valor by_name.

Para usar esta función, se necesita la versión 7.40.0 o posterior del Agent.

Codificaciones del archivo de logs

De forma predeterminada, el Datadog Agent asume que los logs utilizan la codificación UTF-8. Si los logs de tu aplicación utilizan otra codificación, define el parámetro encoding con la configuración de logs.

En la siguiente lista se indican los valores de codificación compatibles. Si indicas un valor no compatible, el Agent lo ignorará y leerá el archivo como UTF-8.

  • utf-16-le: UTF-16 little-endian (Datadog Agent v6.23/v7.23)
  • utf-16-be: UTF-16 big-endian (Datadog Agent v6.23/v7.23)
  • shift-jis: Shift-JIS (Datadog Agent v6.34/v7.34)

Ejemplo de configuración:

logs:
  - type: file
    path: /test/log/hello-world.log
    tags: key:value
    service: utf-16-logs
    source: mysql
    encoding: utf-16-be

Nota: El parámetro encoding solo resulta aplicable cuando el parámetro type está establecido como file.

Reglas generales de procesamiento

A partir de la versión 6.10 o superior del Datadog Agent, es posible definir las reglas de procesamiento exclude_at_match, include_at_match y mask_sequences de manera general en el archivo de configuración principal del Agent o mediante una variable de entorno:

En el archivo datadog.yaml:

logs_config:
  processing_rules:
    - type: exclude_at_match
      name: exclude_healthcheck
      pattern: healthcheck
    - type: mask_sequences
      name: mask_user_email
      pattern: \w+@datadoghq.com
      replace_placeholder: "MASKED_EMAIL"

Utiliza la variable de entorno DD_LOGS_CONFIG_PROCESSING_RULES para configurar reglas de procesamiento generales. Por ejemplo:

DD_LOGS_CONFIG_PROCESSING_RULES='[{"type": "mask_sequences", "name": "mask_user_email", "replace_placeholder": "MASKED_EMAIL", "pattern" : "\\w+@datadoghq.com"}]'

Utiliza el parámetro spec.override.[key].env en tu manifiesto del Datadog Operator para definir la variable de entorno DD_LOGS_CONFIG_PROCESSING_RULES y configurar reglas de procesamiento globales, donde [key] es nodeAgent, clusterAgent o clusterChecksRunner. Por ejemplo:

apiVersion: datadoghq.com/v2alpha1
kind: DatadogAgent
metadata:
  name: datadog
spec:
  override:
    nodeAgent:
      env:
        - name: DD_LOGS_CONFIG_PROCESSING_RULES
          value: '[{"type": "mask_sequences", "name": "mask_user_email", "replace_placeholder": "MASKED_EMAIL", "pattern" : "\\w+@datadoghq.com"}]'

Utiliza el parámetro datadog.env en el Helm chart para definir la variable de entornoDD_LOGS_CONFIG_PROCESSING_RULES para configurar reglas de procesamiento globales Por ejemplo:

datadog:
  env:
    - name: DD_LOGS_CONFIG_PROCESSING_RULES
      value: '[{"type": "mask_sequences", "name": "mask_user_email", "replace_placeholder": "MASKED_EMAIL", "pattern" : "\\w+@datadoghq.com"}]'
Todos los logs recopilados por el Datadog Agent se ven afectados por las reglas de procesamiento generales.

Nota: El Datadog Agent no inicia el Collector de logs si existe un problema de formato en las reglas de procesamiento generales. Ejecuta el subcomando de estado del Agent para solucionar los problemas que encuentres.

Referencias adicionales


*Logging without Limits es una marca registrada de Datadog, Inc.
柠檬苦是什么原因 拿铁是什么咖啡 足石念什么 放疗有什么危害 照身份证穿什么衣服
椰子不能和什么一起吃 月子餐吃什么 三查八对的内容是什么 肩周炎吃什么药 眼睛干涩用什么眼药水
ad是什么病的简称 儿童舌系带短挂什么科 牙疼吃什么菜降火最快 碗摔碎了预示着什么 手臂长斑是什么原因
皮肤癣用什么药 偏光镜是什么意思 南下是什么意思 什么叫tct检查 孙悟空是个什么样的人
围绝经期是什么意思hcv7jop7ns4r.cn 皮卡丘站起来变成了什么hcv8jop5ns9r.cn 鲜章是什么意思wuhaiwuya.com 睡眠不好吃什么中成药hcv9jop2ns8r.cn 鹿下面一个几字读什么hcv9jop6ns3r.cn
祭奠用什么花weuuu.com 介词后面跟什么hcv9jop0ns5r.cn 大便溏稀吃什么药hcv9jop5ns1r.cn 舌头上火了吃什么降火hcv8jop8ns2r.cn 吃什么东西补血最快最有效hcv9jop4ns9r.cn
脚气用什么药膏最好hcv7jop9ns7r.cn 牙龈出血挂什么科hcv9jop7ns3r.cn 开心水是什么hcv7jop9ns3r.cn 肌张力高吃什么药onlinewuye.com 一个马一个尧读什么hcv8jop9ns8r.cn
无的放矢是什么意思hcv8jop5ns8r.cn 紫字五行属什么hcv9jop5ns0r.cn 虎视眈眈是什么意思hcv8jop6ns2r.cn 血卡是什么hcv8jop5ns4r.cn 黄鼻涕是什么类型的感冒zsyouku.com
百度