robertdebock.rsyslog

Ansible角色rsyslog

在你的系统上安装和配置rsyslog。

GitHub GitLab 下载 版本
github gitlab downloads Version

示例剧本

此示例来自molecule/default/converge.yml,并在每次推送、拉取请求和发布时进行测试。

---
- name: Converge
  hosts: all
  become: true
  gather_facts: true

  roles:
    - role: robertdebock.rsyslog

机器需要做好准备。在CI中,这通过molecule/default/prepare.yml来完成:

---
- name: Prepare
  hosts: all
  become: true
  gather_facts: false

  roles:
    - role: robertdebock.bootstrap

另请查看完整说明和示例关于如何使用这些角色。

角色变量

变量的默认值在defaults/main.yml中设置:

---
# rsyslog的默认文件

# 要配置一个接收日志的服务器,将rsyslog_receiver设置为yes。
rsyslog_receiver: false

# 要将日志转发到另一个服务器,将rsyslog_remote设置为接收rsyslog服务器的主机名或IP地址。
# 不设置此变量将不会转发日志。
# rsyslog_remote: server1.example.com

# 如果设置了rsylog_remote,设置用于确定要发送到远程服务器的“选择器”模式。默认值为"*.*",发送所有内容。
# 请参见`man rsyslog.conf`。
rsyslog_remote_selector: "*.*"

# 如果设置了rsylog_remote,设置为是则使用TCP,否则使用UDP。
rsyslog_remote_tcp: true

# 如果设置了rsylog_remote,使用的目标端口。
rsyslog_remote_port: 514

# 为新目录设置模式;仅在遗留模板中可用。
rsyslog_dircreatemode: "0700"

# 为新文件设置模式;仅在遗留模板中可用。
rsyslog_filecreatemode: "0644"

# 设置启用的模块
rsyslog_mods:
  - imuxsock
  - imjournal

# 最小配置rsyslog(可能与自定义配置文件冲突)
rsyslog_deploy_default_config: true

# 默认的rsyslogd规则
rsyslog_default_rules:
  - { rule: '*.info;mail.none;authpriv.none;cron.none', logpath: '/var/log/messages' }
  - { rule: 'authpriv.*', logpath: '/var/log/secure' }
  - { rule: 'mail.*', logpath: '-/var/log/maillog' }
  - { rule: 'cron.*', logpath: '/var/log/cron' }
  - { rule: '*.emerg', logpath: ':omusrmsg:*' }
  - { rule: 'uucp,news.crit', logpath: '/var/log/spooler' }
  - { rule: 'local7.*', logpath: '/var/log/boot.log' }

# 使用(过时)遗留的 v6 之前的配置文件格式,或使用在 v6 及更高版本中提供的更现代的
# '高级'配置文件格式。默认使用'遗留'格式,以免突变更改此角色现有用户的配置文件。
# 更多关于不同格式的信息可以在rsyslog网站上找到:
# https://www.rsyslog.com/doc/v8-stable/configuration/conf_formats.html
rsyslog_config_file_format: legacy

# 要添加到/etc/rsyslog.d/的规则配置名称
# rsyslog_forward_rule_name: <待填充>

# 配置rsyslog软件包为`present`,或设置为`latest`以安装最新可用版本。
rsyslog_package_state: present

# 如果设置为false(遗留默认值以保持与sysklogd的兼容性),则从名称中删除域部分
# 如果与接收系统处于同一域则被剥离。如果设置为on,则始终使用完整名称。
rsyslog_preservefqdn: false

# 在/etc/rsyslog.d中配置其他配置文件
# 示例:
# rsyslog_rsyslog_d_files:
#   000-splunk:
#     content: |
#       auth,authpriv.* action(type="omfwd"
#                              target="splunk"
#                              port="514"
#                              protocol="tcp")
rsyslog_rsyslog_d_files: []

# 避免因logrotate导致的sd_journal_get_cursor()失败:无法分配请求的地址消息
rsyslog_workaroundjournalbug: false

# 关闭通过本地日志套接字接收消息
rsyslog_imuxsock_syssock: false

# 安装额外的rsyslog软件包
# 安装rsyslog-elasticsearch的示例:
# rsyslog_features:
#   - gnutls
#   - elastisearch
rsyslog_features: []

# rsyslog配置文件的默认目标
rsyslog_dest_conf_file: "/etc/rsyslog.conf"

# 启用/禁用选项OmitLocalLogging
rsyslog_omit_local_logging: true

# 允许使用传统文件格式。
rsyslog_traditional_file_format: true

要求

所用角色的状态

以下角色用于准备系统。你可以通过其他方式准备你的系统。

需求 GitHub GitLab
robertdebock.bootstrap Build Status GitHub Build Status GitLab

背景

此角色是许多兼容角色的一部分。有关更多信息,请查看这些角色的文档

这是相关角色的概览: dependencies

兼容性

此角色已在以下容器映像上进行了测试:

容器 标签
Alpine 全部
Amazon 候选
EL 9
Debian 全部
Fedora 全部
Ubuntu 全部

所需的最低Ansible版本为2.12,测试已完成:

  • 以前的版本。
  • 当前版本。
  • 开发版本。

如果发现问题,请在GitHub中提交问题。

许可证

Apache-2.0

作者信息

robertdebock

请考虑赞助我

关于项目

Install and configure rsyslog on your system.

安装
ansible-galaxy install robertdebock.rsyslog
许可证
apache-2.0
下载
334.6k
拥有者
I know my way around (Linux) infrastructure, have a passion for automation, Docker, Ansible, Molecule and ci/cd.