LSLB | Ladang | Kemas kini | Penjaga Ladang

DIPOS oleh Zevenet | 2 Oktober 2017

Gambaran Keseluruhan

Secara lalai, Zevenet menjalankan pemeriksaan kesihatan mudah ke belakang atau pelayan sejati, tetapi kadang-kadang pemeriksaan ini tidak mencukupi untuk menentukan bahawa backends berfungsi dengan sewajarnya. Oleh sebab itu, Zevenet melaksanakan suatu perkhidmatan yang mengeksekusi dan mengurus pemeriksaan kesihatan maju melalui daemon yang menggunakan plugin yang dinamakan Penjaga Ladang.

Tugas utama Farm Guardian adalah untuk berfungsi sebagai pemantauan maju untuk aplikasi, untuk ini, Farm Guardian membaca konfigurasi ladang dan memperoleh senarai backend, dan dibantu oleh plugin memeriksa status kesihatan backend, Farm Guardian mengupdate status backend untuk diberikan ladang yang membolehkan atau tidak membenarkan Zen Load Balancer untuk menghantar sambungan pada backend tersebut.

Plugin yang digunakan oleh Farm Guardian boleh didapati di bawah direktori / usr / local / zenloadbalancer / app / libexec / .

Konfigurasi Penjaga Ladang

Pemeriksaan kesihatan untuk backend. Memeriksa kotak ini akan membolehkan keadaan pengawasan yang lebih maju untuk backends dan benar-benar boleh diprogramkan dengan skrip anda sendiri. Apabila tingkah laku yang salah dikesan oleh Farm Guardian, ia secara automatik melumpuhkan pelayan sebenar dan akan ditandakan sebagai FGdown. Ini adalah perkhidmatan bebas supaya anda tidak perlu memulakan semula perkhidmatan ladang.

cek zevenet lslb lb adc farm health check

Masa Antara Cek. Ini adalah bilangan detik yang Penjaga Ladang akan menunggu untuk melaksanakan pemeriksaan kesihatan.
Perintah untuk memeriksa. Perintah yang akan dilaksanakan untuk menentang backend yang dikonfigurasikan. Selang atau token digunakan untuk menyediakan konfigurasi yang dinamik.
Log Farm Penjaga. Kotak semak ini akan membolehkan log Penjaga Ladang melabelkan beberapa tingkah laku, walaupun ia mungkin mengambil banyak storan.

Plugin

Farm Guardian menggunakan plugin untuk mengkonfigurasi cek kesihatan yang canggih untuk mengesan jika pelayan sebenar tertentu berfungsi seperti yang diharapkan menggunakan pilihan tersuai. Terdapat banyak pemeriksaan kesihatan untuk setiap jenis protokol, perkhidmatan atau aplikasi. Plugin yang paling penting diterangkan di bawah.

check_ftp: Plugin ini menguji sambungan FTP dengan hos yang ditentukan.
check_fping: Plugin ini akan menggunakan arahan fping untuk ping host yang ditentukan untuk pemeriksaan pantas.
check_http: Plugin ini menguji perkhidmatan HTTP pada host yang ditentukan. Ia boleh menguji protokol biasa (HTTP) dan selamat (HTTPS), ikuti arahan semula, ia mencari rentetan dan ungkapan biasa, memeriksa masa sambungan, dan melaporkan masa tamat tempoh sijil, kod kembali HTTP, dan sebagainya.
check_imap: Plugin ini menguji sambungan IMAP dengan hos yang ditentukan.
check_ldap: Plugin ini menguji perkhidmatan LDAP. Ia boleh diuji dengan carian yang diberikan.
check_ldaps: Plugin ini menguji perkhidmatan LDAPS. Ia boleh diuji dengan carian yang diberikan.
check_mysql: Plugin ini menguji sambungan ke pelayan MySQL.
check_mysql_query: Plugin ini menyemak hasil pertanyaan terhadap tahap ambang.
check_pgsql: Menguji sama ada Pangkalan Data PostgreSQL menerima sambungan.
check_pop: Plugin ini menguji sambungan POP dengan hos yang ditentukan.
check_radius: Ujian untuk melihat sama ada pelayan RADIUS menerima sambungan.
check_simap: Plugin ini menguji sambungan IMAP dengan hos yang ditentukan
check_smtp: Plugin ini akan cuba membuka sambungan SMTP dengan hos.
check_snmp: Semak status mesin jauh dan dapatkan maklumat sistem melalui SNMP.
check_spop: Plugin ini menguji sambungan POP dengan hos yang ditentukan.
check_ssh: Cuba hubungkan ke pelayan SSH di pelayan dan pelabuhan yang ditentukan.
check_ssmtp: Plugin ini menguji sambungan SSMTP dengan hos yang ditentukan.
check_tcp: Plugin ini menguji sambungan TCP dengan hos yang ditentukan.

Untuk maklumat lanjut, jalankan arahan berikut di bawah laluan pemalam:

plugin_name --help

Farm Guardian akan menggunakan plugin ini untuk memeriksa status kesihatan di belakang dan akan menguruskan output ralat pelaksanaan plugin yang dilaksanakan untuk menentukan status backend seperti berikut:

Jika kesilapan itu output == 0 maka backend adalah OK> $? = 0

Jika kesilapan itu output <> 0 maka backend TIDAK OK> $? <> 0

Plugin tersuai

Plugin ini boleh dikonfigurasi dan diprogram sepenuhnya oleh sysadmin untuk disesuaikan dengan mana-mana protokol atau aplikasi.

Contoh ini menunjukkan pemalam tersuai check_load.sh.

#!/bin/bash
###
###comments:
###snmp utils should be installed
###snmpd should be installed and configured in the backends
###
MAXVALUE=4
COMMUNITY="public"
EXECUTE=`snmpget -v 2c -c $COMMUNITY $1 .1.3.6.1.4.1.2021.10.1.3.1 |cut -d ':' -f2 | cut -d '.' -f1 | sed s/\ // | sed s/\"//`

echo "SNMP CPU load check for $1 is $EXECUTE"
# If the result is true, exit with 1; error; else exit = 0; OK
if (( $EXECUTE >= $MAXVALUE )); then
#error output; the server is overloaded and the load balancer isn’t going to send more connections
exit 1
else
#not error; the server can accept more connections
exit 0
fi

Malang

Apabila Farm Guardian menjalankan plugin, ia boleh menggunakan beberapa pemalar atau token sebagai hujah, seperti:

  • HOST: Farm Guardian akan menjaga mengubah suai pemalar ini dengan alamat IP pelayan sebenar.
  • PORT: Farm Guardian akan menjaga mengubah suai pemalar ini dengan pelabuhan pelayan sebenar.

Pemalar ini boleh digunakan untuk setiap plugin, Farm Guardian akan menggunakannya untuk menjalankan pemeriksaan kesihatan dengan parameter sebenar di tempat.

Contoh

Contoh seterusnya menerangkan pemeriksaan kesihatan HTTP lanjut untuk perkhidmatan web. Kesalahan umum ialah pelayan aplikasi menunjukkan halaman kosong tetapi port 8080 masih menerima permintaan HTTP.

Untuk ladang HTTP, konfigurasikan yang akan datang di seksyen Farm Guardian untuk setiap perkhidmatan:

check_http_fg_example

Farm Guardian akan melaksanakan check_http plugin untuk setiap backend dan akan menggantikan pemalar HOST dan PORT oleh alamat IP dan port untuk setiap backend, untuk setiap pelaksanaan plugin yang diberikan akan mengembalikan kod ralat 0 jika string 'Welcome' terdapat dalam kandungan index.php. Sekiranya tali 'Welcome' tidak dijumpai maka backend ini akan ditandakan sebagai DOWN.

Untuk maklumat lanjut mengenai konfigurasi Farm Guardian, sila rujuk Panduan konfigurasi Farm Guardian.

Log penjaga Farm boleh didayakan walaupun ia boleh menggunakan banyak ruang cakera dan ia menyimpan log di jalan /usr/local/zenloadbalancer/config/[_service]_farmguardian.log or / var / log / syslog dalam versi Zevenet yang paling dikemas kini.

Berkongsi pada:

Dokumentasi di bawah syarat-syarat Lesen Dokumentasi Bebas GNU.

Adakah artikel ini berguna?

Artikel yang berkaitan