ホスト設定変更
ホスト設定変更コレクターは、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] で他のタグを指定することもできます。
イベントフィールドの説明¶
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 ファイル変更 |