Initial commit
[ta/infra-ansible.git] / roles / monitoring / templates / keepalivedmonitor.conf.j2
1 global_defs {
2     enable_script_security
3     script_user root
4 }
5
6 vrrp_script check_master {
7     script  "/opt/monitoring/monitoring_can_become_master.sh"
8     interval 5
9     fall 1
10     rise 1
11 }
12
13 vrrp_instance virtual_vip {
14     interface {{ networking['infra_internal']['interface'] }}
15
16     track_interface {
17                 {{ networking['infra_internal']['interface'] }}
18                 {{ networking['infra_external']['interface'] }}
19     }
20
21     state BACKUP
22
23     virtual_router_id 50
24
25     priority 100
26
27     unicast_src_ip {{ networking['infra_internal']['ip'] }}
28
29         {% for peer in groups['management'] %}
30         {% if peer != inventory_hostname %}
31         unicast_peer {
32                 {{ hostvars[peer]['networking']['infra_internal']['ip'] }}
33         }
34     {% endif %}
35         {% endfor %}
36
37     advert_int 5
38
39     virtual_ipaddress {
40         {{ internal_lb_vip_address }}/{{ networking['infra_internal']['mask'] }} dev {{ networking['infra_internal']['interface'] }}
41         {{ external_lb_vip_address }}/32 dev {{ networking['infra_external']['interface'] }}
42     }
43
44     track_script {
45         check_master
46     }
47
48     notify /opt/monitoring/monitoring_state_changed.sh
49
50 }
51
52 {% if groups['management']|length > 1 %}
53 virtual_server group management {
54     delay_loop 10
55     quorum 2
56     quorum_up /opt/monitoring/monitoring_quorum_up.sh
57     quorum_down /opt/monitoring/monitoring_quorum_down.sh
58
59         {% for peer in groups['management'] %}
60     real_server {{ hostvars[peer]['networking']['infra_internal']['ip'] }} {{ keepalivedmonitor_port }} {
61         weight 1
62         TCP_CHECK {
63             connect_timeout 3
64             fwmark 10
65             warmup 120
66             retry 5
67             delay_before_retry 3
68         }
69     }
70         {% endfor %}
71 }
72 {% endif %}