CentOS Stream 10

Elastic Stack 9 : Filebeat インストール2025/08/08

 

任意のログファイルのデータ収集機能を提供する Filebeat をインストールします。

[1] Filebeat をインストールします。 事前に Elasticsearch リポジトリ設定済みであることが前提です。
[root@dlp ~]#
dnf -y install filebeat
[2] 基本的な設定をして Filebeat を起動します。
[root@dlp ~]#
vi /etc/filebeat/filebeat.yml
# 28行目 : 収集するファイルを設定
# ログを収集する場合は enabled: true に変更
# デフォルトは以下のように /var/log/*.log ファイルとなっている
# 特定のキーワードを含む行/ファイルを対象/除外にする場合はそれぞれコメント解除して設定

- type: filestream

  # Unique ID among all inputs, an ID is required.
  id: my-filestream-id

  # Change to true to enable this input configuration.
  enabled: true

  # Paths that should be crawled and fetched. Glob based paths.
  paths:
    - /var/log/*.log
    #- c:\programdata\elasticsearch\logs\*

  # Exclude lines. A list of regular expressions to match. It drops the lines that are
  # matching any regular expression from the list.
  # Line filtering happens after the parsers pipeline. If you would like to filter lines
  # before parsers, use include_message parser.
  #exclude_lines: ['^DBG']

  # Include lines. A list of regular expressions to match. It exports the lines that are
  # matching any regular expression from the list.
  # Line filtering happens after the parsers pipeline. If you would like to filter lines
  # before parsers, use include_message parser.
  #include_lines: ['^ERR', '^WARN']

.....
.....

# 137行目 : Kibana を使用する場合はコメント解除して出力先を指定
# Kibana で SSL 有効の場合は証明書に登録したホスト名と合わせる
# [username], [password] は管理ユーザーのユーザー名とパスワード
# 自己署名の証明書を使用している場合は [ssl.verification_mode: none]

setup.kibana:
.....
  host: "https://dlp.srv.world:5601"
  protocol: "https"
  username: "elastic"
  password: "password"
  ssl.enabled: true
  ssl.verification_mode: none

# 169行目 : Elasticsearch の出力先を指定する
# [username], [password] は管理ユーザーのユーザー名とパスワード
# [ssl.certificate_authorities] は Elasticsearch で生成された cacert

output.elasticsearch:
  # Array of hosts to connect to.l
  hosts: ["https://dlp.srv.world:9200"]

  protocol: "https"
  username: "elastic"
  password: "password"
  ssl.certificate_authorities: "/etc/elasticsearch/certs/http_ca.crt"

.....
.....

[root@dlp ~]#
vi /etc/filebeat/filebeat.reference.yml
# 15行目 : 収集する項目を設定

- module: system
  # Syslog
  syslog:
    enabled: true

.....
.....

  # Authorization logs
  auth:
    enabled: true

# 4505行目 : Kibana を使用する場合はコメント解除して出力先を指定
# Kibana で SSL 有効の場合は ssl 系設定をコメント解除
# [username], [password] は管理ユーザーのユーザー名とパスワード
# 自己署名の証明書を使用している場合は [ssl.verification_mode: none]

setup.kibana:

  # Kibana Host
  # Scheme and port can be left out and will be set to the default (http and 5601)
  # In case you specify and additional path, the scheme is required: http://localhost:5601/path
  # IPv6 addresses should always be defined as: https://[2001:db8::1]:5601
  host: "https://dlp.srv.world:5601"

  # Optional protocol and basic auth credentials.
  protocol: "https"
  username: "elastic"
  password: "password"

  # Optional HTTP Path
  #path: ""

  # Use SSL settings for HTTPS. Default is true.
  ssl.enabled: true

.....
.....

  # after very careful consideration. It is primarily intended as a temporary
  # diagnostic mechanism when attempting to resolve TLS errors; its use in
  # production environments is strongly discouraged.
  # The default value is full.
  ssl.verification_mode: none

[root@dlp ~]#
systemctl enable --now filebeat
[3] データが取り込まれているか確認しておきます。
# index 一覧

[root@dlp ~]#
curl -u elastic --cacert /etc/elasticsearch/certs/http_ca.crt https://127.0.0.1:9200/_cat/indices?v

Enter host password for user 'elastic':
health status index                                                              uuid                   pri rep docs.count docs.deleted store.size pri.store.size dataset.size
.....
.....
yellow open   .ds-metricbeat-9.1.0-2025.08.06-000001                             0TnJalxZRTC3529MN3X87g   1   1         28            0    107.4kb        107.4kb      107.4kb
yellow open   .ds-packetbeat-9.1.0-2025.08.06-000001                             n0ML1vQsQbm4wQLkO8bprQ   1   1          0            0       227b           227b         227b
yellow open   .ds-filebeat-9.1.1-2025.08.08-000001                               RwMbn1YDSZ-xcm8dTC6clQ   1   1       3200            0    641.5kb        641.5kb      641.5kb

# index のドキュメント一覧

[root@dlp ~]#
curl -u elastic --cacert /etc/elasticsearch/certs/http_ca.crt https://127.0.0.1:9200/.ds-filebeat-9.1.1-2025.08.08-000001/_search?pretty

Enter host password for user 'elastic':
{
  "took" : 1,
  "timed_out" : false,
  "_shards" : {
    "total" : 1,
    "successful" : 1,
    "skipped" : 0,
    "failed" : 0
  },
  "hits" : {
    "total" : {
      "value" : 3866,
      "relation" : "eq"
    },
    "max_score" : 1.0,
    "hits" : [
      {
        "_index" : ".ds-filebeat-9.1.1-2025.08.08-000001",
        "_id" : "MQIKh5gBzSdMfqv7Jgq-",
        "_score" : 1.0,
        "_source" : {
          "@timestamp" : "2025-08-08T00:17:15.298Z",
          "message" : "2025-08-08T08:50:51+0900 DEBUG baseos: has expired and will be refreshed.",
          "log" : {
            "offset" : 139179,
            "file" : {
              "path" : "/var/log/dnf.log",
              "device_id" : "64768",
              "inode" : "33565389",
              "fingerprint" : "64f8000b6cabea2e37678ad2fe87199ade4f0b10bce270d6cb410f43c6ae2585"
            }
          },
          "input" : {
            "type" : "filestream"
          },
          "host" : {
            "mac" : [
              "52-54-00-48-21-1F",
              "52-54-00-E8-AD-A3"
            ],
            "hostname" : "dlp.srv.world",
            "architecture" : "x86_64",
            "os" : {
              "name" : "CentOS Stream",
              "kernel" : "6.12.0-113.el10.x86_64",
              "codename" : "Coughlan",
              "type" : "linux",
              "platform" : "centos",
              "version" : "10 (Coughlan)",
              "family" : "redhat"
            },
            "name" : "dlp.srv.world",
            "id" : "617bcf1bbafa427a96614dca366f22c7",
            "containerized" : false,
            "ip" : [
              "10.0.0.30",
              "fe80::5054:ff:fee8:ada3"
            ]
          },
.....
.....
[4] Kibana を稼働させている場合は、データインポートが可能です。
[root@dlp ~]#
filebeat setup --dashboards

Loading dashboards (Kibana must be running and reachable)
Loaded dashboards
関連コンテンツ