Pemantauan | Penjaga Ladang | Kemas kini

DIPOS oleh Zevenet | 16 Mei 2018

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 alat pengawasan canggih untuk aplikasi, untuk ini, Farm Guardian membaca konfigurasi ladang dan memperoleh senarai backend, dan dibantu oleh plugin mengecek status kesihatan backend, Farm Guardian mengupdate status backend untuk ladang yang diberikan membolehkan atau tidak membenarkan pengimbang beban untuk menghantar lalu lintas ke backend tersebut.

Dari bahagian ini anda boleh mengkonfigurasi pemeriksa Farmguardian. Anda boleh melihat dua tab Global dan Farms.

Tetapan Global

Di bahagian Global terdapat tetapan pemeriksaan kesihatan pemeriksaan kesihatan Farmguardian tertentu, seperti yang ditunjukkan di bawah.
Bidang tab ini tidak boleh diedit jika cek dikonfigurasi terlebih dahulu dalam sistem, jika anda mahu mengubah suai pemeriksaan tersebut, anda harus Buat cek Farmguardian baru menambah salinan param dengan nama cek yang dikehendaki dan mengubah suai yang baru.

  • Nama. Nama pengenalpastian pemeriksaan Farm Guardian semasa.
  • Deskripsi. Bidang ini mengandungi beberapa huraian mengenai cek itu.
  • Perintah. Periksa arahan dan parameter yang akan dilaksanakan secara tetap terhadap setiap backend.
  • Jeda. Masa dalam seketika antara batch pemeriksaan kesihatan terhadap semua bahagian belakang.
  • Potong Sambungan. Apabila pilihan ini didayakan, sambungan semasa dari backend yang dikesan akan dibuang, memaksa penyambungan semula segera ke backend yang tersedia. Jika dilumpuhkan, sambungan semasa akan disalirkan tanpa melepaskan pengguna.
  • Balak. Membolehkan atau melumpuhkan log setiap pemeriksaan kesihatan Farm Guardian. Dengan log dilumpuhkan hanya perubahan status backend ditunjukkan dalam fail log.

Konfigur pemeriksaan kesihatan

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

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.

Usage:
check_ftp -H host -p port [-w <warning time>] [-c <critical time>] [-s <send string>]
[-e <expect string>] [-q <quit string>][-m <maximum bytes>] [-d <delay>]
[-t <timeout seconds>] [-r <refuse state>] [-M <mismatch state>] [-v] [-4|-6] [-j]
[-D <warn days cert expire>[,<crit days cert expire>]] [-S <use SSL>] [-E]

check_fping: Plugin ini akan menggunakan arahan fping untuk ping host yang ditentukan untuk pemeriksaan pantas.

Usage:
 check_fping <host_address> -w limit -c limit [-b size] [-n number] [-T number] [-i number]

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.

Usage:
 check_http -H <vhost> | -I <IP-address> [-u <uri>] [-p <port>]
       [-J <client certificate file>] [-K <private key>]
       [-w <warn time>] [-c <critical time>] [-t <timeout>] [-L] [-E] [-a auth]
       [-b proxy_auth] [-f <ok|warning|critcal|follow|sticky|stickyport>]
       [-e <expect>] [-d string] [-s string] [-l] [-r <regex> | -R <case-insensitive regex>]
       [-P string] [-m <min_pg_size>:<max_pg_size>] [-4|-6] [-N] [-M <age>]
       [-A string] [-k string] [-S <version>] [--sni] [-C <warn_age>[,<crit_age>]]
       [-T <content-type>] [-j method]

check_imap: Plugin ini menguji sambungan IMAP dengan hos yang ditentukan.

Usage:
check_imap -H host -p port [-w <warning time>] [-c <critical time>] [-s <send string>]
[-e <expect string>] [-q <quit string>][-m <maximum bytes>] [-d <delay>]
[-t <timeout seconds>] [-r <refuse state>] [-M <mismatch state>] [-v] [-4|-6] [-j]
[-D <warn days cert expire>[,<crit days cert expire>]] [-S <use SSL>] [-E]

check_ldap: Plugin ini menguji perkhidmatan LDAP. Ia boleh diuji dengan carian yang diberikan.

Usage:
 check_ldap -H <host> -b <base_dn> [-p <port>] [-a <attr>] [-D <binddn>]
       [-P <password>] [-w <warn_time>] [-c <crit_time>] [-t timeout]
       [-2|-3] [-4|-6]

check_ldaps: Plugin ini menguji perkhidmatan LDAPS. Ia boleh diuji dengan carian yang diberikan.

Usage:
 check_ldaps -H <host> -b <base_dn> [-p <port>] [-a <attr>] [-D <binddn>]
       [-P <password>] [-w <warn_time>] [-c <crit_time>] [-t timeout]
       [-2|-3] [-4|-6]

check_mysql: Plugin ini menguji sambungan ke pelayan MySQL.

Usage:
 check_mysql [-d database] [-H host] [-P port] [-s socket]
       [-u user] [-p password] [-S] [-l] [-a cert] [-k key]
       [-C ca-cert] [-D ca-dir] [-L ciphers] [-f optfile] [-g group]

check_mysql_query: Plugin ini menyemak hasil pertanyaan terhadap tahap ambang.

Usage:
 check_mysql_query -q SQL_query [-w warn] [-c crit] [-H host] [-P port] [-s socket]
       [-d database] [-u user] [-p password] [-f optfile] [-g group]

check_pgsql: Menguji sama ada Pangkalan Data PostgreSQL menerima sambungan.

Usage:
check_pgsql [-H <host>] [-P <port>] [-c <critical time>] [-w <warning time>]
 [-t <timeout>] [-d <database>] [-l <logname>] [-p <password>]
[-q <query>] [-C <critical query range>] [-W <warning query range>]

check_pop: Plugin ini menguji sambungan POP dengan hos yang ditentukan.

Usage:
check_pop -H host -p port [-w <warning time>] [-c <critical time>] [-s <send string>]
[-e <expect string>] [-q <quit string>][-m <maximum bytes>] [-d <delay>]
[-t <timeout seconds>] [-r <refuse state>] [-M <mismatch state>] [-v] [-4|-6] [-j]
[-D <warn days cert expire>[,<crit days cert expire>]] [-S <use SSL>] [-E]

check_radius: Ujian untuk melihat sama ada pelayan RADIUS menerima sambungan.

Usage:
check_radius -H host -F config_file -u username -p password
			[-P port] [-t timeout] [-r retries] [-e expect]
			[-n nas-id] [-N nas-ip-addr]

check_simap: Plugin ini menguji sambungan IMAP dengan hos yang ditentukan.

Usage:
check_simap -H host -p port [-w <warning time>] [-c <critical time>] [-s <send string>]
[-e <expect string>] [-q <quit string>][-m <maximum bytes>] [-d <delay>]
[-t <timeout seconds>] [-r <refuse state>] [-M <mismatch state>] [-v] [-4|-6] [-j]
[-D <warn days cert expire>[,<crit days cert expire>]] [-S <use SSL>] [-E]

check_smtp: Plugin ini akan cuba membuka sambungan SMTP dengan hos.

Usage:
check_smtp -H host [-p port] [-4|-6] [-e expect] [-C command] [-R response] [-f from addr]
[-A authtype -U authuser -P authpass] [-w warn] [-c crit] [-t timeout] [-q]
[-F fqdn] [-S] [-D warn days cert expire[,crit days cert expire]] [-v] 

check_snmp: Periksa status mesin jauh dan dapatkan maklumat sistem melalui SNMP.

Usage:
check_snmp -H <ip_address> -o <OID> [-w warn_range] [-c crit_range]
[-C community] [-s string] [-r regex] [-R regexi] [-t timeout] [-e retries]
[-l label] [-u units] [-p port-number] [-d delimiter] [-D output-delimiter]
[-m miblist] [-P snmp version] [-N context] [-L seclevel] [-U secname]
[-a authproto] [-A authpasswd] [-x privproto] [-X privpasswd] [-4|6]

check_spop: Plugin ini menguji sambungan POP dengan hos yang ditentukan.

Usage:
check_spop -H host -p port [-w <warning time>] [-c <critical time>] [-s <send string>]
[-e <expect string>] [-q <quit string>][-m <maximum bytes>] [-d <delay>]
[-t <timeout seconds>] [-r <refuse state>] [-M <mismatch state>] [-v] [-4|-6] [-j]
[-D <warn days cert expire>[,<crit days cert expire>]] [-S <use SSL>] [-E]

check_ssh: Cuba hubungkan ke pelayan SSH di pelayan dan pelabuhan yang ditentukan.

Usage:
check_ssh  [-4|-6] [-t <timeout>] [-r <remote version>] [-p <port>] <host>

check_ssmtp: Plugin ini menguji sambungan SSMTP dengan hos yang ditentukan.

Usage:
check_ssmtp -H host -p port [-w <warning time>] [-c <critical time>] [-s <send string>]
[-e <expect string>] [-q <quit string>][-m <maximum bytes>] [-d <delay>]
[-t <timeout seconds>] [-r <refuse state>] [-M <mismatch state>] [-v] [-4|-6] [-j]
[-D <warn days cert expire>[,<crit days cert expire>]] [-S <use SSL>] [-E]

check_tcp: Plugin ini menguji sambungan TCP dengan hos yang ditentukan.

Usage:
check_tcp -H host -p port [-w <warning time>] [-c <critical time>] [-s <send string>]
[-e <expect string>] [-q <quit string>][-m <maximum bytes>] [-d <delay>]
[-t <timeout seconds>] [-r <refuse state>] [-M <mismatch state>] [-v] [-4|-6] [-j]
[-D <warn days cert expire>[,<crit days cert expire>]] [-S <use SSL>] [-E]

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.

Farms

Pada tab ini terdapat senarai ladang dan perkhidmatan menggunakan pemeriksaan kesihatan Farm Guardian ini.

Ladang dan perkhidmatan boleh terlepas dari pemeriksaan kesihatan Farm Guardian ini mengklik ikon sampah atau memilih item yang dikehendaki dan pergi Tindakan> Padam.

Berkongsi pada:

Dokumentasi di bawah syarat-syarat Lesen Dokumentasi Bebas GNU.

Adakah artikel ini berguna?

Artikel yang berkaitan