콘텐츠로 이동

호스트 구성 변경


호스트 구성 변경 수집기는 Linux 호스트의 각종 구성 변경을 모니터링하고, 변경 이벤트 데이터를 구성하여 Guance 플랫폼에 보고합니다.

주의: 이 수집기는 Linux 운영 체제만 지원하며, Windows 시스템은 지원하지 않습니다.

기능 설명

호스트 구성 변경 수집기는 다음과 같은 변경 감지 기능을 지원합니다:

기능 모듈 설명
사용자 및 그룹 변경 /etc/passwd/etc/shadow/etc/group/etc/gshadow 파일을 모니터링하여 사용자 및 그룹의 생성, 삭제, 속성 수정 및 구성원 변경을 감지합니다
Crontab 변경 /etc/crontab/etc/cron.d/*/var/spool/cron/crontabs/* 파일을 모니터링하여 예약 작업 변경을 감지합니다
파일 내용 변경 지정한 파일의 내용 변경을 모니터링하며, 차이 비교를 지원합니다
서비스 변경 systemd 또는 sysvinit 서비스의 생성, 삭제, 속성 수정 및 상태 변경을 모니터링합니다
네트워크 구성 변경 네트워크 인터페이스, DNS 구성, 라우팅 구성, 방화벽 규칙, hosts 파일의 변경을 모니터링합니다

설정

DataKit 설치 디렉터리의 conf.d/samples 디렉터리로 이동하여 host_change.conf.sample을 복사한 뒤 host_change.conf로 이름을 변경합니다. 예시는 다음과 같습니다:

[[inputs.host_change]]
  ## 수집 간격
  interval = "1m"

  ## 사용자 및 그룹 변경 감지 활성화
  [inputs.host_change.user_group]
    ## 사용자 및 그룹 변경 감지를 활성화할지 여부
    enabled = true

  ## Crontab 변경 감지 구성
  # /etc/crontab, /etc/cron.d/*, /var/spool/cron/crontabs/*에서 파일을 수집
  [inputs.host_change.crontab]
    ## Crontab 변경 감지를 활성화할지 여부
    enabled = true

  ## 파일 변경 감지 구성
  [inputs.host_change.file]
    ## 파일 변경 감지를 활성화할지 여부
    enabled = false

    ## 변경을 모니터링할 파일
    # 참고:
    # 1. 일반 파일만 지원하며, 디렉터리는 허용되지 않습니다
    # 2. 모든 경로는 절대 경로여야 합니다
    files = [
      # "/etc/passwd",
      # "/etc/group",
      # "/etc/sudoers"
    ]

    ## 이 크기보다 큰 파일은 전체 내용을 비교하지 않습니다.
    ## 기본값: 262144 바이트 (256KB)
    max_file_size = 262144 

    ## 파일 변경 모니터링 시 무시할 경로
    ignore_paths = [
      # "/etc/ssh/sshd_config.d/*",
      # "/tmp/",
      # "*.tmp"
    ]

  ## 서비스 변경 감지 구성
  [inputs.host_change.service]
    ## 서비스 변경 감지를 활성화할지 여부
    enabled = true

    ## 모니터링할 서비스 유형 (systemd, sysvinit)
    # 비어 있으면 모든 서비스 유형을 모니터링하며, 둘 다 उपलब्ध한 경우 systemd가 우선됩니다
    service_types = ["systemd"]

    ## 무시할 서비스 ( .service 접미사가 없는 서비스 이름, 정규식 지원)
    ignore_services = []

    ## 포함할 서비스 ( .service 접미사가 없는 서비스 이름, 정규식 지원)
    # 비어 있지 않으면 이 패턴과 일치하는 서비스만 모니터링됩니다
    # include_services = []

  ## 네트워크 구성 변경 감지 구성
  [inputs.host_change.network]
    ## 네트워크 구성 변경 감지를 활성화할지 여부
    enabled = true

    ## 무시할 인터페이스 (인터페이스 이름, 와일드카드 지원)
    ignore_interfaces = [
      # "lo",
      # "docker*",
      # "veth*"
    ]

  [inputs.host_change.tags]
  # some_tag = "some_value"
  # more_tag = "some_other_value"

설정이 완료되면 DataKit 재시작 하면 됩니다.

ConfigMap 방식으로 수집기 설정 주입을 통해 수집기를 활성화할 수 있습니다.

변경 이벤트

다음 모든 데이터 수집에는 기본적으로 host라는 전역 태그가 추가됩니다(태그 값은 DataKit가 위치한 호스트명입니다). 또한 설정에서 [inputs.host_change.tags]를 통해 다른 태그를 지정할 수도 있습니다:

 [inputs.host_change.tags]
  # some_tag = "some_value"
  # more_tag = "some_other_value"
  # ...

이벤트 필드 설명

변경 이벤트

로컬 시스템에서 수집한 호스트 변경 이벤트로, 구성된 파일, crontab, 네트워크, 서비스, 사용자 및 그룹 변경을 포함합니다.

태그 및 필드 설명
change_id
(tag)
호스트 변경 이벤트의 고유 식별자입니다.
df_event_id
(tag)
이벤트 ID입니다.
df_source
(tag)
소스 이름입니다.
df_status
(tag)
이벤트 상태입니다.
df_sub_status
(tag)
이벤트 세부 상태입니다.
host
(tag)
시스템 호스트명입니다.
change_time_us 변경 이벤트의 타임스탬프(마이크로초)입니다.
Type: int | (gauge)
Unit: timeStamp,usec
df_message 호스트 변경 이벤트를 설명하는 메시지 텍스트입니다.
Type: string | (string)
Unit: N/A
df_title 호스트 변경 이벤트를 요약하는 제목 텍스트입니다.
Type: string | (string)
Unit: N/A

변경 이벤트 유형

  • 사용자 및 그룹 변경 이벤트
변경 ID 설명
host_change_01_01 사용자 추가
host_change_01_02 사용자 삭제
host_change_01_03 사용자 속성 수정
host_change_01_04 그룹 추가
host_change_01_05 그룹 삭제
host_change_01_06 그룹 속성 수정
host_change_01_07 그룹 구성원 추가
host_change_01_08 그룹 구성원 삭제
  • Crontab 변경 이벤트
변경 ID 설명
host_change_02_01 Crontab 작업 변경
  • 파일 변경 이벤트
변경 ID 설명
host_change_03_01 파일 내용 변경
  • 서비스 변경 이벤트
변경 ID 설명
host_change_04_01 서비스 추가
host_change_04_02 서비스 삭제
host_change_04_03 서비스 수정
host_change_04_04 서비스 상태 변경
  • 네트워크 구성 변경 이벤트
변경 ID 설명
host_change_05_01 네트워크 인터페이스 변경
host_change_05_02 DNS 구성 변경
host_change_05_03 라우팅 구성 변경
host_change_05_04 방화벽 규칙 변경
host_change_05_05 Hosts 파일 변경

문서 평가

이 페이지가 도움이 되었나요?