bimdata.graylog
Ansible角色 graylog
这个角色安装和配置Graylog。
这个角色假设你已经有了Elasticsearch、MongoDB、Nginx等其他角色。
要求
- 你需要一个运行中的Elasticsearch集群和一个MongoDB集群。
- 被管理的服务器必须能够与https://packages.graylog2.org/通信。
- 此角色仅在Debian 10.x (Buster)上测试。
角色变量
这个角色尝试保持与手动安装Graylog时相同的默认配置。所有默认值都在./defaults/main.yml
中定义,可以查看一下。
我们尽量使Ansible变量的名称与Graylog配置文件中的名称相同,但前面加上graylog_
前缀。有关每个参数的更多信息,请参阅Graylog文档。
你需要至少定义两个变量:
graylog_password_secret
:你应该通过以下命令生成内容:pwgen -N 1 -s 96
或tr -cd '[:alnum:]' < /dev/urandom | fold -w96 | head -n1
graylog_root_password_sha2
:你应该通过以下命令生成内容:echo -n your_password | shasum -a 256
(需要将'your_password'替换为实际密码!)
或者你可以使用Ansible的hash()
函数:graylog_root_password_sha2: "{{ vault_graylog_root_password | hash('sha256') }}"
。
这个角色还支持插件的安装。插件需要是.jar
文件,被管理的主机必须能够下载它们。校验和是可选的,并且工作方式与Ansible get_url模块中的校验和参数相同。
graylog_plugins:
- url: https://github.com/graylog-labs/graylog-plugin-metrics-reporter/releases/download/3.0.0/metrics-reporter-prometheus-3.0.0.jar
checksum: sha256:383eac2135baf248b5a0828a9e305130a2ab863b07afeef30cba00be05fc7cf9
如果你的某些插件需要在Graylog主配置文件中进行配置,有一个特殊的变量graylog_custom_config
。这是一个字典,键用作选项名,值用作选项值。例如:
graylog_custom_config:
metrics_prometheus_enabled: true
metrics_prometheus_report_interval: 1m
metrics_prometheus_address: 127.0.0.1:9001
metrics_prometheus_job_name: graylog
将添加到/etc/graylog/server/server.conf
的末尾:
# 自定义配置,如果有插件需要的话。
metrics_prometheus_enabled = True
metrics_prometheus_report_interval = 1m
metrics_prometheus_address = 127.0.0.1:9001
metrics_prometheus_job_name = graylog
依赖关系
此处应列出在Galaxy上托管的其他角色的列表,以及有关可能需要为其他角色设置的参数或使用的变量的详细信息。
示例剧本
- hosts: logs-servers
gather_facts: True
become: true
vars:
graylog_password_secret: "OMFPRQwk7Pg7i9Apun5xbuK4ICl0cfNUbZ5QblvmHKnKvnpzbjxtgHIoaSiEmi9XVlbqDhI6d8UqErW2wRiS0uapaHRgW4e"
graylog_root_password_sha2: "4da3376323046a3bb6759f0a3f4ae7100a0567950c53ee42d2e19201baaa6dfc"
# 你也可以让Ansible来哈希它,并使用保险库存储密码。
# graylog_root_password_sha2: "{{ vault_graylog_root_password | hash('sha256') }}"
roles:
- role: bimdata.graylog
许可证
MIT