Keepalived : स्क्रिप्ट के साथ मॉनिटर करें2024/07/23 |
Keepalived द्वारा स्क्रिप्ट के साथ प्रक्रियाओं या सेवाओं और कार्यक्रमों की अन्य स्थिति की निगरानी करना संभव है। यह उदाहरण निम्न प्रकार से पर्यावरण पर आधारित है। VIP:10.0.0.30 +----------------------+ | +----------------------+ | [node01.srv.world] |10.0.0.51 | 10.0.0.52| [node02.srv.world] | | Keepalived#1 +----------+----------+ Keepalived#2 | | | | | +----------------------+ +----------------------+ |
[1] | |
[2] | उदाहरण के लिए, बुनियादी Keepalived सेटिंग्स के अलावा, HAProxy सेवा और HTTP पोर्ट की निगरानी के लिए सेटिंग्स जोड़ें। |
root@node01:~#
vi /etc/keepalived/keepalived.conf global_defs { router_id node01 notification_email { root@localhost } notification_email_from root@node01.srv.world smtp_server localhost smtp_connect_timeout 30 # जोड़ना enable_script_security # एक उपयोगकर्ता निर्दिष्ट करें जो स्क्रिप्ट चलाता है # सुरक्षा कारणों से, इसे root का उपयोग नहीं करना चाहिए script_user root } # हैप्रोक्सी सेवा के लिए मॉनिटरिंग सेटिंग जोड़ें # [script] तर्क के लिए कोई भी आदेश या अपनी मूल स्क्रिप्ट सेट करना संभव है vrrp_script track_haproxy { script "systemctl is-active haproxy" # उपरोक्त स्क्रिप्ट को चलाने के लिए अंतराल (sec) interval 5 # यदि स्क्रिप्ट 4 बार गैर-शून्य लौटती है, तो FAULT स्थिति दर्ज करें fall 4 # यदि स्क्रिप्ट 2 बार शून्य लौटाती है, तो FAULT स्थिति से बाहर निकलें rise 2 } # HTTP पोर्ट के लिए मॉनिटरिंग सेटिंग जोड़ें vrrp_script track_http_port { script "nc -zv localhost 80" interval 5 fall 4 rise 2 } vrrp_instance VRRP1 { state MASTER # nopreempt interface enp1s0 virtual_router_id 101 priority 200 advert_int 1 virtual_ipaddress { 10.0.0.30/24 } # जोड़ना track_script { track_haproxy track_http_port } smtp_alert }root@node01:~# systemctl restart keepalived
|
[3] | ठीक है। HAProxy डाउन होने पर फ़ेलओवर और फ़ेलबैक सत्यापित करें। |
# प्राथमिक नोड root@node01:~# ip address show enp1s0 2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 52:54:00:1e:27:13 brd ff:ff:ff:ff:ff:ff inet 10.0.0.51/24 brd 10.0.0.255 scope global enp1s0 valid_lft forever preferred_lft forever inet 10.0.0.30/24 scope global secondary enp1s0 valid_lft forever preferred_lft forever inet6 fe80::5054:ff:fe1e:2713/64 scope link valid_lft forever preferred_lft foreverroot@node01:~# systemctl stop haproxy root@node01:~# systemctl is-active haproxy inactive root@node01:~# echo $? 3 root@node01:~# nc -zv localhost 80 nc: connect to localhost (127.0.0.1) port 80 (tcp) failed: Connection refused root@node01:~# echo $? 1 root@node01:~# ip address show enp1s0 2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 52:54:00:1e:27:13 brd ff:ff:ff:ff:ff:ff inet 10.0.0.51/24 brd 10.0.0.255 scope global enp1s0 valid_lft forever preferred_lft forever inet6 fe80::5054:ff:fe1e:2713/64 scope link valid_lft forever preferred_lft foreverroot@node01:~# ssh ubuntu@node02 "ip address show enp1s0" ubuntu@node02's password: 2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 52:54:00:4c:63:11 brd ff:ff:ff:ff:ff:ff inet 10.0.0.52/24 brd 10.0.0.255 scope global enp1s0 valid_lft forever preferred_lft forever inet 10.0.0.30/24 scope global secondary enp1s0 valid_lft forever preferred_lft forever inet6 fe80::5054:ff:fe4c:6311/64 scope link valid_lft forever preferred_lft forever |
Sponsored Link |
|