update rabbitmq role

This commit is contained in:
kirby 2025-01-13 17:05:30 +01:00
parent c43815c9b6
commit 8a4b36ff3f
7 changed files with 88 additions and 12 deletions

View File

@ -4,5 +4,5 @@ rabbitmq_cluster_name: "default"
rabbitmq_admin_username: "admin" rabbitmq_admin_username: "admin"
rabbitmq_app_users: "" rabbitmq_app_users: ""
rabbitmq_vhosts: "" rabbitmq_vhosts: ""
rabbitmq_plugins: "rabbitmq_management,rabbitmq_shovel,rabbitmq_prometheus" rabbitmq_plugins: "rabbitmq_management,rabbitmq_shovel,rabbitmq_prometheus,rabbitmq_shovel_management"
rabbitmq_collect_statistics_interval: 30000 rabbitmq_collect_statistics_interval: 30000

View File

@ -1,2 +1,4 @@
{{ ansible_managed }}
[Service] [Service]
LimitNOFILE=65536 LimitNOFILE=65536

View File

@ -0,0 +1,9 @@
{{ ansible_managed }}
/var/log/rabbitmq/*.log {
daily
missingok
rotate 7
compress
notifempty
}

View File

@ -32,33 +32,85 @@
state: absent state: absent
tags: config tags: config
- name: Create vhosts
community.rabbitmq.rabbitmq_vhost:
name: "{{ item }}"
state: present
with_items: "{{ rabbitmq_vhosts }}"
tags: config,users,vhosts
- name: Create admin user - name: Create admin user
community.rabbitmq.rabbitmq_user: community.rabbitmq.rabbitmq_user:
user: "{{ rabbitmq_admin_username }}" user: "{{ rabbitmq_admin_username }}"
password: "{{ rabbitmq_admin_password }}" password: "{{ rabbitmq_admin_password }}"
vhost: / vhost: "{{ item }}"
configure_priv: .* configure_priv: .*
read_priv: .* read_priv: .*
write_priv: .* write_priv: .*
state: present state: present
tags: administrator tags: administrator
tags: config tags: config
- name: Create vhosts
community.rabbitmq.rabbitmq_vhost:
name: "{{ item }}"
state: present
with_items: "{{ rabbitmq_vhosts }}" with_items: "{{ rabbitmq_vhosts }}"
tags: config,users
- name: Create checkmk user
community.rabbitmq.rabbitmq_user:
user: "{{ rabbitmq_checkmk_username }}"
password: "{{ rabbitmq_checkmk_password }}"
vhost: /
configure_priv: ""
read_priv: .*
write_priv: ""
state: present
tags: monitoring
tags: config
- name: Create exchanges
community.rabbitmq.rabbitmq_exchange:
name: "{{ item.name }}"
type: "{{ item.type }}"
vhost: "{{ item.vhost }}"
state: present
login_user: "{{ rabbitmq_admin_username }}"
login_password: "{{ rabbitmq_admin_password }}"
with_items: "{{ rabbitmq_exchanges }}"
tags: config,exchanges
- name: Create queues
community.rabbitmq.rabbitmq_queue:
login_user: "{{ rabbitmq_admin_username }}"
login_password: "{{ rabbitmq_admin_password }}"
state: "{{ item.state | default('present')}}"
vhost: "{{ item.vhost }}"
name: "{{ item.name }}"
durable: "{{ item.durable | default(true) }}"
dead_letter_exchange: "{{ item.dead_letter_exchange | default() }}"
dead_letter_routing_key: "{{ item.dead_letter_routing_key | default() }}"
arguments: "{{ item.arguments | default({}) }}"
with_items: "{{ rabbitmq_queues }}"
tags: config,queues
- name: Create bindings
community.rabbitmq.rabbitmq_binding:
login_user: "{{ rabbitmq_admin_username }}"
login_password: "{{ rabbitmq_admin_password }}"
state: "{{ item.state |default('present') }}"
vhost: "{{ item.vhost }}"
name: "{{ item.name }}"
destination: "{{ item.destination }}"
destination_type: "{{ item.destination_type }}"
routing_key: "{{ item.routing_key }}"
arguments: "{{ item.arguments | default({}) }}"
with_items: "{{ rabbitmq_bindings }}"
tags: config,bindings
- name: Create app users - name: Create app users
community.rabbitmq.rabbitmq_user: community.rabbitmq.rabbitmq_user:
user: "{{ item.username }}" user: "{{ item.username }}"
password: "{{ item.password }}" password: "{{ item.password }}"
vhost: "{{ item.vhost }}" vhost: "{{ item.vhost }}"
read_priv: .* read_priv: "{{ item.read_priv | default('.*') }}"
write_priv: .* write_priv: "{{ item.write_priv | default('.*') }}"
configure_priv: .* configure_priv: "{{ item.configure_priv | default('.*') }}"
state: present state: present
tags: monitoring,management tags: monitoring,management
with_items: "{{ rabbitmq_app_users }}" with_items: "{{ rabbitmq_app_users }}"

View File

@ -133,3 +133,12 @@
group: rabbitmq group: rabbitmq
notify: Restart Rabbitmq notify: Restart Rabbitmq
tags: install tags: install
- name: Deploy logrotate conf
ansible.builtin.copy:
src: logrotate
dest: /etc/logrotate.d/rabbitmq-server
mode: 0644
user: root
group: root
tags: install

View File

@ -6,4 +6,4 @@
- name: Import config tasks - name: Import config tasks
ansible.builtin.include_tasks: config.yml ansible.builtin.include_tasks: config.yml
tags: config,users tags: config,users,queues,vhosts,exchanges,bindings

View File

@ -3,6 +3,10 @@
# Limit to 70% of RAM # Limit to 70% of RAM
vm_memory_high_watermark.relative = 0.7 vm_memory_high_watermark.relative = 0.7
# Tuning raft WAL log file https://rabbitmq.com/quorum-queues.html#segment-entry-count
raft.segment_max_entries = 32768
raft.wal_max_size_bytes = 32000000
#################### ####################
# #
# Cluster settings # Cluster settings