>

저는 유창하고 다음과 같은 문제에 직면했습니다 :

현재 다음과 같은 여러 필드가 있습니다 :

Filename  value
a         v0
x.y.k1    v1
x.y.k2    v2
x.y.k3    v3
x.r.k4    v4
x.t.k5    v5
...

모든 x.something.possibleAnotherSomeThing 의 이름을 바꿀 수 있습니까  하나의 명령으로

y.k1    v1
y.k2    v2
y.k3    v3
r.k4    v4
t.k5    v5

(첫 부분 제거)?

참고로 logstash , 표현은 다음과 같습니다. rename => {"[x][y]" => "y"}  ( r 와 동일)  그리고 t ), 이는 트릭을 수행하므로 "키의 두 번째 부분"당 한 줄입니다.

나는 record_transformer 를 알고있다   remove_keys 를 사용하는 동안 키 이름을 바꾸는 데 사용할 수있는 필터 ).

각 항목마다 한 줄을 쓸 수는 있지만 몇 가지 단점이 있습니다.

  • 정의 된 항목을 사용할 수 없으면 쓸모없는 필드가 생성됩니다
  • 많은 항목에 대한 거대한 구성 파일
  • 같은 형식의 새 필드를 수동으로 추가해야합니다

관련된 경우, 유창 버전 v0.12 (요구 사항, 다른 버전을 사용할 수 없음)를 사용합니다

이 문제를 해결하는 현명한 해결책이 있습니까?

업데이트 1

이와 같은 명령은 작동하지 않지만 필드 만 삭제합니다 :

<record>
  * ${record["x.*"]}
</record>
remove_keys ["x.*"]

  • 답변 # 1

    logsash에서 작업을하려면 루비로 떨어 뜨릴 수 있습니다. 이 답변이 도움이 될 것입니다.

관련 자료

  • 이전 html - 다른 경우 $thisPage를 사용하는 경우 PHP
  • 다음 circleci - 서클 20 - 캐시가 활성화 된 경우에만 각도 5 빌드 실패