Monitoring | Penjaga Pertanian | Memperbarui

DIPOSTING OLEH Zevenet | 3 Mei 2022

Secara default, Zevenet menjalankan pemeriksaan kesehatan sederhana ke backend atau server nyata di HTTP farms, tetapi terkadang cek ini tidak cukup untuk menentukan bahwa backend bekerja dengan benar. Karena alasan ini, Zevenet mengimplementasikan layanan yang mengeksekusi dan mengelola pemeriksaan kesehatan lanjutan melalui daemon yang menggunakan plugin yang disebut Penjaga Pertanian.

Tugas utama Farm Guardian adalah bekerja sebagai alat pemantauan canggih untuk aplikasi, untuk ini, Farm Guardian membaca konfigurasi farm dan mendapatkan daftar backend, dan dibantu oleh plugin memeriksa status kesehatan backend, Farm Guardian memperbarui status backend untuk tambak yang diberikan mengizinkan atau tidak mengizinkan penyeimbang muatan mengirimkan lalu lintas ke backend tersebut.

Dari bagian ini, Anda dapat mengonfigurasi cek Farmguardian. Anda dapat melihat dua bagian Aksi serta Pertanian.

Pengaturan global

Di bagian Global, terdapat pengaturan health check dari health check Farmguardian tertentu, seperti yang ditunjukkan di bawah ini.
Bidang-bidang pada bagian ini tidak dapat diedit jika cek sudah dikonfigurasikan sebelumnya dalam sistem, jika Anda ingin memodifikasi cek itu, Anda harus Membuat cek Farmguard baru menambahkan param salin dengan nama cek yang diinginkan dan memodifikasi yang baru.

  • Nama. Nama identifikasi cek Farm Guardian saat ini.
  • Deskripsi. Bidang ini berisi beberapa deskripsi tentang cek.
  • perintah. Periksa perintah dan parameter yang akan dieksekusi secara teratur terhadap setiap backend.
  • Selang. Waktu dalam detik antara batch pemeriksaan kesehatan terhadap semua backend.
  • Potong Koneksi. Ketika opsi ini diaktifkan, koneksi saat ini dari backend yang terdeteksi memerah, memaksa koneksi ulang segera ke backend yang tersedia. Jika dinonaktifkan, koneksi saat ini akan terkuras tanpa memutus pengguna.
  • Log. Mengaktifkan atau menonaktifkan log dari setiap pemeriksaan kesehatan Farm Guardian. Dengan log dinonaktifkan hanya perubahan status backend yang ditampilkan dalam file log.

Konfigurasikan pemeriksaan kesehatan

Plugin yang digunakan oleh Farm Guardian dapat ditemukan di bawah direktori / usr / lib / nagios / plugins /.

Farm Guardian menggunakan plugin untuk mengonfigurasi pemeriksaan kesehatan tingkat lanjut untuk mendeteksi apakah server nyata tertentu berfungsi seperti yang diharapkan menggunakan opsi yang disesuaikan. Ada banyak pemeriksaan kesehatan untuk setiap jenis protokol, layanan, atau aplikasi. Plugin yang paling penting dijelaskan di bawah ini.

check_ftp: Plugin ini menguji koneksi FTP dengan host 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 perintah fping untuk melakukan ping ke host yang ditentukan untuk pemeriksaan cepat.

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

check_http: Plugin ini menguji layanan HTTP pada host yang ditentukan. Ia dapat menguji protokol biasa (HTTP) dan secure (HTTPS), mengikuti pengalihan, mencari string dan ekspresi reguler, memeriksa waktu koneksi, dan melaporkan waktu kedaluwarsa sertifikat, kode pengembalian HTTP, dll.

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 koneksi IMAP dengan host 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 layanan LDAP. Itu dapat diuji dengan pencarian 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 layanan LDAPS. Itu dapat diuji dengan pencarian 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 koneksi ke server 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 memeriksa hasil kueri terhadap level 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: Tes apakah Database PostgreSQL menerima koneksi.

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 koneksi POP dengan host 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: Tes untuk melihat apakah server RADIUS menerima koneksi.

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 koneksi IMAP yang aman dengan host 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 mencoba membuka koneksi SMTP dengan host.

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 jarak jauh dan dapatkan informasi 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 koneksi POP aman dengan host 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: Cobalah untuk terhubung ke server SSH di server dan port yang ditentukan.

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

check_ssmtp: Plugin ini menguji koneksi SSMTP dengan host 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 koneksi TCP dengan host 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 informasi lebih lanjut, jalankan perintah berikut di bawah jalur plugin:

plugin_name --help

Farm Guardian akan menggunakan plugin ini untuk memeriksa status kesehatan backend dan akan mengelola output kesalahan eksekusi dari plugin yang dieksekusi untuk menentukan status backend sebagai berikut:

Jika kesalahan output == 0 maka backendnya OK> $? = 0

Jika kesalahan keluaran <> 0 maka backend TIDAK OK> $? <> 0

Plugin khusus

Plugin ini dapat dikonfigurasikan dan sepenuhnya dapat diprogram oleh sysadmin agar dapat disesuaikan dengan protokol atau aplikasi apa pun.

Contoh ini menunjukkan plugin khusus 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

Konstanta

Saat Farm Guardian menjalankan plugin, ia dapat menggunakan beberapa konstanta atau token sebagai argumen, seperti:

  • HOST: Farm Guardian akan mengurus perubahan konstanta ini dengan alamat IP server sebenarnya.
  • PORT: Farm Guardian akan mengurus perubahan konstanta ini dengan port server sebenarnya.

Konstanta ini dapat digunakan untuk setiap plugin, Farm Guardian akan menggunakannya untuk menjalankan pemeriksaan kesehatan dengan parameter nyata di tempat.

Pertanian

Pada bagian ini ada daftar peternakan dan layanan menggunakan cek kesehatan Farm Guardian ini.

Kebun dan layanan dapat dilepaskan dari pemeriksaan kesehatan Farm Guardian ini dengan mengklik ikon tempat sampah.

Bagikan ke:

Dokumentasi di bawah ketentuan Lisensi Dokumentasi Bebas GNU.

Apakah artikel ini berguna?

Artikel terkait