Aisbergg.beats

Ansible 角色: aisbergg.beats

这个 Ansible 角色可以安装和配置来自官方 Beats 家族 的不同数据发送工具。此角色支持以下 Beats:

要求

无。

角色变量

变量 默认值 注释
beats_manage_repository true 启用 Elastic Beat 包存储库管理。
beats_rhel_repo_url https://artifacts.elastic.co/
packages/7.x/yum
用于安装的 RPM 存储库 URL
beats_debian_repo_url https://artifacts.elastic.co/
packages/7.x/apt
用于安装的 APT 存储库 URL
auditbeat_install_state absent Auditbeat 的安装状态(present, latest, absent
auditbeat_service_enabled false 开机时启用 Auditbeat 服务
auditbeat_service_state stopped Auditbeat 服务运行状态(started, stopped, restarted
auditbeat_service_restart_on_change true 配置更改时重启 Docker 守护进程服务。
filebeat_install_state absent Filebeat 的安装状态(present, latest, absent
filebeat_service_enabled false 开机时启用 Filebeat 服务
filebeat_service_state stopped Filebeat 服务运行状态(started, stopped, restarted
filebeat_service_restart_on_change true 配置更改时重启 Docker 守护进程服务。
functionbeat_install_state absent Functionbeat 的安装状态(present, latest, absent
functionbeat_service_enabled false 开机时启用 Functionbeat 服务
functionbeat_service_state stopped Functionbeat 服务运行状态(started, stopped, restarted
functionbeat_service_restart_on_change true 配置更改时重启 Docker 守护进程服务。
heartbeat_install_state absent Heartbeat 的安装状态(present, latest, absent
heartbeat_service_enabled false 开机时启用 Heartbeat 服务
heartbeat_service_state stopped Heartbeat 服务运行状态(started, stopped, restarted
heartbeat_service_restart_on_change true 配置更改时重启 Docker 守护进程服务。
metricbeat_install_state absent Metricbeat 的安装状态(present, latest, absent
metricbeat_service_enabled false 开机时启用 Metricbeat 服务
metricbeat_service_state stopped Metricbeat 服务运行状态(started, stopped, restarted
metricbeat_service_restart_on_change true 配置更改时重启 Docker 守护进程服务。
packetbeat_install_state absent Packetbeat 的安装状态(present, latest, absent
packetbeat_service_enabled false 开机时启用 Packetbeat 服务
packetbeat_service_state stopped Packetbeat 服务运行状态(started, stopped, restarted
packetbeat_service_restart_on_change true 配置更改时重启 Docker 守护进程服务。
auditbeat_config {} Auditbeat 的配置。 (参考)
filebeat_config {} Filebeat 的配置。 (参考)
functionbeat_config {} Functionbeat 的配置。 (参考)
heartbeat_config {} Heartbeat 的配置。 (参考)
metricbeat_config {} Metricbeat 的配置。 (参考)
packetbeat_config {} Packetbeat 的配置。 (参考)

依赖

无。

示例剧本

- hosts: all
  vars:
    # 安装和管理 Auditbeat 服务
    auditbeat_install_state: present
    auditbeat_service_enabled: true
    auditbeat_service_state: started

    auditbeat_config:
      # 将日志转发至中央日志收集器
      output.logstash:
        hosts:
          - graylog1.example.org:5555
          - graylog2.example.org:5555
        loadbalance: true
        slow_start: true

      logging.level: warning
      logging.to_files: false
      logging.metrics.enabled: false

      auditbeat.modules:
        # https://www.elastic.co/guide/en/beats/auditbeat/current/auditbeat-module-auditd.html
        # 这替代了 Auditd 程序(不应并行运行 Auditd)
        - module: auditd
          resolve_ids: true
          failure_mode: silent
          backlog_limit: 8196
          rate_limit: 0
          include_raw_message: false
          include_warnings: false
          audit_rule_files: [ '${path.config}/audit.rules.d/*.conf' ]
          # 取自: https://github.com/Neo23x0/auditd/blob/master/audit.rules
          audit_rules: |
            # 自审计 ---------------------------------------------------------------

            ## 审计审计日志
            ### 成功和未成功读取审计记录信息的尝试
            -w /var/log/audit/ -k auditlog

            ## Auditd 配置
            ### 在审计收集功能操作期间对审计配置的修改
            -w /etc/audit/ -p wa -k auditconfig
            -w /etc/libaudit.conf -p wa -k auditconfig
            -w /etc/audisp/ -p wa -k audispconfig

            ## 监视审计管理工具的使用
            -w /sbin/auditctl -p x -k audittools
            -w /sbin/auditd -p x -k audittools
            -w /usr/sbin/augenrules -p x -k audittools

            # 过滤器 ---------------------------------------------------------------------

            ### 我们把这些放在前面,因为审计是一个先到先得的系统。

            ## 忽略 SELinux AVC 记录
            -a always,exclude -F msgtype=AVC

            ## 忽略当前工作目录记录
            -a always,exclude -F msgtype=CWD

            ## 忽略 EOE 记录(结束)

        # https://www.elastic.co/guide/en/beats/auditbeat/current/auditbeat-module-file_integrity.html
        - module: file_integrity
          paths:
            - /bin
            - /usr/bin
            - /sbin
            - /usr/sbin
            - /etc
          exclude_files:
            - '(?i)\.sw[nop]$'
            - '~$'
            - '/\.git($|/)'
            - '/etc/mtab'
          scan_at_start: true
          scan_rate_per_sec: 50 MiB
          max_file_size: 300 MiB
          hash_types: [blake2b_256]
          recursive: true

        # https://www.elastic.co/guide/en/beats/auditbeat/current/auditbeat-module-system.html
        - module: system
          datasets:
            - package # 已安装、更新和删除的软件包
          period: 30m # 数据集检查变化的频率

        - module: system
          datasets:
            - host    # 一般主机信息,例如运行时间,IP
            - login   # 用户登录,注销和系统启动。
            - process # 启动和停止的进程
            - user    # 用户信息
          state.period: 6h
          user.detect_password_changes: true
          # 登录记录文件的文件模式。
          login.wtmp_file_pattern: /var/log/wtmp*
          login.btmp_file_pattern: /var/log/btmp*

  roles:
    - aisbergg.beats

许可

MIT

作者信息

Andre Lehmann (aisberg@posteo.de)

关于项目

Install and configure Beats from the official Elastic Beats family.

安装
ansible-galaxy install Aisbergg.beats
许可证
mit
下载
3.2k
拥有者
DevOps, Go, Python, Bash, Ansible, Docker, GitLab-CI, Linux, MariaDB, PostgreSQL, Open Source, Communication Design, Running