Pemantauan | Farmguardians | Kemas kini

DIPOS oleh Zevenet | 13 Mac 2020

Secara lalai, Zevenet menjalankan pemeriksaan kesihatan mudah ke belakang atau pelayan sejati, tetapi kadang-kadang pemeriksaan ini tidak mencukupi untuk menentukan sama ada backends berfungsi dengan baik. Atas sebab ini, Zevenet melaksanakan perkhidmatan yang mengeksekusi dan mengurus pemeriksaan kesihatan lanjut melalui daemon yang menggunakan plugin yang dinamakan Farmguardian.

Tugas utama Farmguardian adalah bekerja sebagai alat pemantauan lanjutan untuk backend aplikasi, untuk tujuan ini, Farm Guardian membaca konfigurasi ladang dan memperoleh daftar backend, dan dibantu oleh plugin memeriksa status kesihatan backend, Farm Guardian mengemas kini backend status untuk ladang yang diberikan sekiranya pengimbang beban harus menghantar lalu lintas ke backend tersebut.

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

Tetapan Global

Di bahagian Global, terdapat tetapan pemeriksaan kesihatan untuk pemeriksaan kesihatan Farmguardian tertentu, seperti yang ditunjukkan di bawah.
Bidang tab ini tidak boleh diedit jika cek dimuatkan dalam sistem, jika anda mahu mengubah suai pemeriksaan itu, anda harus Buat Farmguardian baru yang membolehkan salinan param itu dan menambah semakan yang diinginkan sebagai templat dan mengubah suai yang baru.

  • Nama. Nama pengenalpastian semasa pemeriksaan Farm Guardian, ia tidak dapat diedit.
  • Deskripsi. Bidang ini mengandungi penerangan singkat tentang pemeriksaan Farmguardian.
  • Perintah. Tetapkan arahan yang dijalankan untuk menyemak status backends.
  • Jeda. Masa dalam seketika antara batch pemeriksaan kesihatan terhadap semua bahagian belakang. Perhatikan bahawa setiap masa selang waktu, cek petani akan berhenti dan dilancarkan semula, jadi ia mesti cukup tinggi untuk dapat memeriksa semua backends (timeout * nº backends + 1)
  • 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 mana-mana pelanggan.
  • Balak. Membolehkan atau melumpuhkan log setiap pemeriksa ladang. Dengan log dilumpuhkan hanya perubahan status backend ditunjukkan dalam fail log.

Konfigur pemeriksaan kesihatan

Semua plugin Farmguardian yang ada boleh didapati di bawah direktori / usr / local / zevenet / app / libexec / di dalam pengimbang beban.

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 belakang dan akan menguruskan output kesalahan 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 Farmguardian melaksanakan plugin, ia boleh menggunakan beberapa pemalar atau token sebagai hujah, seperti:

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

Pemalar ini boleh digunakan untuk setiap plugin, Farmguardian akan menggunakannya untuk menjalankan pemeriksaan kesihatan dengan parameter sebenar di tempatnya.

Farms

Pada tab ini, terdapat senarai ladang dan perkhidmatan menggunakan pemeriksaan kesihatan Farmguardian ini.

Ladang dan perkhidmatan boleh ditugaskan atau dikeluarkan dari pemeriksaan kesihatan Farmguardian ini menggunakan pelbagai pilihan dengan ikon anak panah tunggal atau anak panah berganda untuk membolehkan atau melumpuhkan semua ladang.

Berkongsi pada:

Dokumentasi di bawah syarat-syarat Lesen Dokumentasi Bebas GNU.

Adakah artikel ini berguna?

Artikel yang berkaitan