robertdebock.rsyslog
Ansible角色rsyslog
在你的系统上安装和配置rsyslog。
GitHub | GitLab | 下载 | 版本 |
---|---|---|---|
示例剧本
此示例来自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
要求
- 要求在requirements.txt中列出的pip软件包。
所用角色的状态
以下角色用于准备系统。你可以通过其他方式准备你的系统。
需求 | GitHub | GitLab |
---|---|---|
robertdebock.bootstrap |
背景
此角色是许多兼容角色的一部分。有关更多信息,请查看这些角色的文档。
这是相关角色的概览:
兼容性
此角色已在以下容器映像上进行了测试:
容器 | 标签 |
---|---|
Alpine | 全部 |
Amazon | 候选 |
EL | 9 |
Debian | 全部 |
Fedora | 全部 |
Ubuntu | 全部 |
所需的最低Ansible版本为2.12,测试已完成:
- 以前的版本。
- 当前版本。
- 开发版本。
如果发现问题,请在GitHub中提交问题。
许可证
作者信息
请考虑赞助我。
安装
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.