コンテンツにスキップ

ホスト設定変更


ホスト設定変更コレクターは、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 bytes (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 という名前のグローバル tag(tag 値は DataKit が存在するホスト名)が追加されます。また、設定内の [inputs.host_change.tags] で他のタグを指定することもできます。

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

イベントフィールドの説明

Change Event

ローカルシステムから収集されたホスト変更イベント。設定済みのファイル、crontab、ネットワーク、サービス、ユーザー、グループの変更を含みます。

Tags & Fields Description
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 ファイル変更

フィードバック

このページは役に立ちましたか?