Pengantar
Terlepas dari teknologi basis data, perlu adanya pengaturan pemantauan, baik untuk mendeteksi masalah dan mengambil tindakan, atau sekadar mengetahui status sistem kami saat ini.
Untuk tujuan ini ada beberapa alat, berbayar dan gratis. Di blog ini kita akan fokus pada satu secara khusus:Nagios Core.
Apa itu Nagios Core?
Nagios Core adalah sistem Open Source untuk memantau host, jaringan, dan layanan. Ini memungkinkan untuk mengonfigurasi peringatan dan memiliki status berbeda untuknya. Ini memungkinkan penerapan plugin, yang dikembangkan oleh komunitas, atau bahkan memungkinkan kita untuk mengonfigurasi skrip pemantauan kita sendiri.
Bagaimana Cara Menginstal Nagios?
Dokumentasi resmi menunjukkan kepada kita cara menginstal Nagios Core pada sistem CentOS atau Ubuntu.
Mari kita lihat contoh langkah-langkah yang diperlukan untuk instalasi di CentOS 7.
Paket diperlukan
[[email protected] ~]# yum install -y wget httpd php gcc glibc glibc-common gd gd-devel make net-snmp unzip
Unduh Nagios Core, Plugin Nagios, dan NRPE
[[email protected] ~]# wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.4.2.tar.gz
[[email protected] ~]# wget http://nagios-plugins.org/download/nagios-plugins-2.2.1.tar.gz
[[email protected] ~]# wget https://github.com/NagiosEnterprises/nrpe/releases/download/nrpe-3.2.1/nrpe-3.2.1.tar.gz
Tambahkan Pengguna dan Grup Nagios
[[email protected] ~]# useradd nagios
[[email protected] ~]# groupadd nagcmd
[[email protected] ~]# usermod -a -G nagcmd nagios
[[email protected] ~]# usermod -a -G nagios,nagcmd apache
Penginstalan Nagios
[[email protected] ~]# tar zxvf nagios-4.4.2.tar.gz
[[email protected] ~]# cd nagios-4.4.2
[[email protected] nagios-4.4.2]# ./configure --with-command-group=nagcmd
[[email protected] nagios-4.4.2]# make all
[[email protected] nagios-4.4.2]# make install
[[email protected] nagios-4.4.2]# make install-init
[[email protected] nagios-4.4.2]# make install-config
[[email protected] nagios-4.4.2]# make install-commandmode
[[email protected] nagios-4.4.2]# make install-webconf
[[email protected] nagios-4.4.2]# cp -R contrib/eventhandlers/ /usr/local/nagios/libexec/
[[email protected] nagios-4.4.2]# chown -R nagios:nagios /usr/local/nagios/libexec/eventhandlers
[[email protected] nagios-4.4.2]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Penginstalan Plugin Nagios dan NRPE
[[email protected] ~]# tar zxvf nagios-plugins-2.2.1.tar.gz
[[email protected] ~]# cd nagios-plugins-2.2.1
[[email protected] nagios-plugins-2.2.1]# ./configure --with-nagios-user=nagios --with-nagios-group=nagios
[[email protected] nagios-plugins-2.2.1]# make
[[email protected] nagios-plugins-2.2.1]# make install
[[email protected] ~]# yum install epel-release
[[email protected] ~]# yum install nagios-plugins-nrpe
[[email protected] ~]# tar zxvf nrpe-3.2.1.tar.gz
[[email protected] ~]# cd nrpe-3.2.1
[[email protected] nrpe-3.2.1]# ./configure --disable-ssl --enable-command-args
[[email protected] nrpe-3.2.1]# make all
[[email protected] nrpe-3.2.1]# make install-plugin
Kami menambahkan baris berikut ke akhir file kami /usr/local/nagios/etc/objects/command.cfg untuk menggunakan NRPE saat memeriksa server kami:
define command{
command_name check_nrpe
command_line /usr/local/nagios/libexec/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
Nagios dimulai
[[email protected] nagios-4.4.2]# systemctl start nagios
[[email protected] nagios-4.4.2]# systemctl start httpd
Akses web
Kami membuat pengguna untuk mengakses antarmuka web dan kami dapat memasuki situs.
[[email protected] nagios-4.4.2]# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
http://IP_Address/nagios/
Akses Web NagiosBagaimana Mengkonfigurasi Nagios?
Sekarang setelah kita menginstal Nagios, kita dapat melanjutkan dengan konfigurasi. Untuk ini kita harus pergi ke lokasi yang sesuai dengan instalasi kita, dalam contoh kita /usr/local/nagios/etc.
Ada beberapa file konfigurasi berbeda yang perlu Anda buat atau edit sebelum mulai memantau apa pun.
[[email protected] etc]# ls /usr/local/nagios/etc
cgi.cfg htpasswd.users nagios.cfg objects resource.cfg
- cgi.cfg: File konfigurasi CGI berisi sejumlah arahan yang memengaruhi pengoperasian CGI. Ini juga berisi referensi ke file konfigurasi utama, sehingga CGI mengetahui bagaimana Anda telah mengonfigurasi Nagios dan di mana definisi objek Anda disimpan.
- htpasswd.users: File ini berisi pengguna yang dibuat untuk mengakses antarmuka web Nagios.
- nagios.cfg: File konfigurasi utama berisi sejumlah arahan yang memengaruhi cara daemon Nagios Core beroperasi.
- objek: Saat Anda menginstal Nagios, beberapa contoh file konfigurasi objek ditempatkan di sini. Anda dapat menggunakan file sampel ini untuk melihat cara kerja pewarisan objek, dan mempelajari cara menentukan definisi objek Anda sendiri. Objek adalah semua elemen yang terlibat dalam logika pemantauan dan pemberitahuan.
- resource.cfg: Ini digunakan untuk menentukan file sumber daya opsional yang dapat berisi definisi makro. Makro memungkinkan Anda untuk mereferensikan informasi host, layanan, dan sumber lain dalam perintah Anda.
Di dalam objek, kita dapat menemukan template, yang dapat digunakan saat membuat objek baru. Sebagai contoh, kita dapat melihat bahwa dalam file /usr/local/nagios/etc/objects/templates.cfg kita, terdapat sebuah template bernama linux-server, yang akan digunakan untuk menambahkan server kita.
define host {
name linux-server ; The name of this host template
use generic-host ; This template inherits other values from the generic-host template
check_period 24x7 ; By default, Linux hosts are checked round the clock
check_interval 5 ; Actively check the host every 5 minutes
retry_interval 1 ; Schedule host check retries at 1 minute intervals
max_check_attempts 10 ; Check each Linux host 10 times (max)
check_command check-host-alive ; Default command to check Linux hosts
notification_period workhours ; Linux admins hate to be woken up, so we only notify during the day
; Note that the notification_period variable is being overridden from
; the value that is inherited from the generic-host template!
notification_interval 120 ; Resend notifications every 2 hours
notification_options d,u,r ; Only send notifications for specific host states
contact_groups admins ; Notifications get sent to the admins by default
register 0 ; DON'T REGISTER THIS DEFINITION - ITS NOT A REAL HOST, JUST A TEMPLATE!
}
Dengan menggunakan template ini, host kita akan mewarisi konfigurasi tanpa harus menentukannya satu per satu di setiap server yang kita tambahkan.
Kami juga memiliki perintah, kontak, dan jangka waktu yang telah ditentukan sebelumnya.
Perintah akan digunakan oleh Nagios untuk pemeriksaannya, dan itulah yang kami tambahkan di dalam file konfigurasi setiap server untuk memantaunya. Misalnya, PING:
define command {
command_name check_ping
command_line $USER1$/check_ping -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ -p 5
}
Kami memiliki kemungkinan untuk membuat kontak atau grup, dan menentukan peringatan mana yang ingin saya jangkau orang atau grup mana.
define contact {
contact_name nagiosadmin ; Short name of user
use generic-contact ; Inherit default values from generic-contact template (defined above)
alias Nagios Admin ; Full name of user
email [email protected] ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ******
}
Untuk cek dan peringatan kami, kami dapat mengonfigurasi pada jam dan hari apa kami ingin menerimanya. Jika kita memiliki layanan yang tidak kritis, kita mungkin tidak ingin bangun di waktu subuh, jadi alangkah baiknya untuk waspada hanya di jam kerja untuk menghindari hal ini.
define timeperiod {
name workhours
timeperiod_name workhours
alias Normal Work Hours
monday 09:00-17:00
tuesday 09:00-17:00
wednesday 09:00-17:00
thursday 09:00-17:00
friday 09:00-17:00
}
Mari kita lihat sekarang bagaimana cara menambahkan peringatan ke Nagios kita.
Kami akan memantau server PostgreSQL kami, jadi pertama-tama kami menambahkannya sebagai host di direktori objek kami. Kami akan membuat 3 file baru:
[[email protected] ~]# cd /usr/local/nagios/etc/objects/
[[email protected] objects]# vi postgres1.cfg
define host {
use linux-server ; Name of host template to use
host_name postgres1 ; Hostname
alias PostgreSQL1 ; Alias
address 192.168.100.123 ; IP Address
}
[[email protected] objects]# vi postgres2.cfg
define host {
use linux-server ; Name of host template to use
host_name postgres2 ; Hostname
alias PostgreSQL2 ; Alias
address 192.168.100.124 ; IP Address
}
[[email protected] objects]# vi postgres3.cfg
define host {
use linux-server ; Name of host template to use
host_name postgres3 ; Hostname
alias PostgreSQL3 ; Alias
address 192.168.100.125 ; IP Address
}
Kemudian kita harus menambahkannya ke file nagios.cfg dan di sini kita memiliki 2 pilihan.
Tambahkan host kita (file cfg) satu per satu menggunakan variabel cfg_file (opsi default) atau tambahkan semua file cfg yang kita miliki di dalam direktori menggunakan variabel cfg_dir.
Kami akan menambahkan file satu per satu mengikuti strategi default.
cfg_file=/usr/local/nagios/etc/objects/postgres1.cfg
cfg_file=/usr/local/nagios/etc/objects/postgres2.cfg
cfg_file=/usr/local/nagios/etc/objects/postgres3.cfg
Dengan ini kami memiliki host kami dipantau. Sekarang kita tinggal menambahkan layanan apa yang ingin kita pantau. Untuk ini kami akan menggunakan beberapa pemeriksaan yang sudah ditentukan (check_ssh dan check_ping), dan kami akan menambahkan beberapa pemeriksaan dasar sistem operasi seperti beban dan ruang disk, antara lain, menggunakan NRPE.
Unduh Whitepaper Hari Ini Pengelolaan &Otomatisasi PostgreSQL dengan ClusterControlPelajari tentang apa yang perlu Anda ketahui untuk menerapkan, memantau, mengelola, dan menskalakan PostgreSQLUnduh WhitepaperApa itu NRPE?
Pelaksana Plugin Jarak Jauh Nagios. Alat ini memungkinkan kita untuk menjalankan plugin Nagios pada host jarak jauh dengan cara yang setransparan mungkin.
Untuk menggunakannya, kita harus menginstal server di setiap node yang ingin kita pantau, dan Nagios kita akan terhubung sebagai klien ke masing-masing node, menjalankan plugin yang sesuai.
Bagaimana cara menginstal NRPE?
[[email protected] ~]# wget https://github.com/NagiosEnterprises/nrpe/releases/download/nrpe-3.2.1/nrpe-3.2.1.tar.gz
[[email protected] ~]# wget http://nagios-plugins.org/download/nagios-plugins-2.2.1.tar.gz
[[email protected] ~]# tar zxvf nagios-plugins-2.2.1.tar.gz
[[email protected] ~]# tar zxvf nrpe-3.2.1.tar.gz
[[email protected] ~]# cd nrpe-3.2.1
[[email protected] nrpe-3.2.1]# ./configure --disable-ssl --enable-command-args
[[email protected] nrpe-3.2.1]# make all
[[email protected] nrpe-3.2.1]# make install-groups-users
[[email protected] nrpe-3.2.1]# make install
[[email protected] nrpe-3.2.1]# make install-config
[[email protected] nrpe-3.2.1]# make install-init
[[email protected] ~]# cd nagios-plugins-2.2.1
[[email protected] nagios-plugins-2.2.1]# ./configure --with-nagios-user=nagios --with-nagios-group=nagios
[[email protected] nagios-plugins-2.2.1]# make
[[email protected] nagios-plugins-2.2.1]# make install
[[email protected] nagios-plugins-2.2.1]# systemctl enable nrpe
Kemudian kita edit file konfigurasi /usr/local/nagios/etc/nrpe.cfg
server_address=<Local IP Address>
allowed_hosts=127.0.0.1,<Nagios Server IP Address>
Dan kami memulai kembali layanan NRPE:
[[email protected] ~]# systemctl restart nrpe
Kami dapat menguji koneksi dengan menjalankan yang berikut dari server Nagios kami:
[[email protected] ~]# /usr/local/nagios/libexec/check_nrpe -H <Node IP Address>
NRPE v3.2.1
Bagaimana cara memantau PostgreSQL?
Saat memantau PostgreSQL, ada dua area utama yang harus diperhatikan:sistem operasi dan database.
Untuk sistem operasi, NRPE memiliki beberapa pemeriksaan dasar yang dikonfigurasi seperti ruang disk dan beban, antara lain. Pemeriksaan ini dapat diaktifkan dengan sangat mudah dengan cara berikut.
Di node kami, kami mengedit file /usr/local/nagios/etc/nrpe.cfg dan pergi ke tempat baris berikut:
command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10
command[check_load]=/usr/local/nagios/libexec/check_load -r -w 15,10,05 -c 30,25,20
command[check_disk]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /
command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z
command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200
Nama dalam tanda kurung siku adalah nama yang akan kita gunakan di server Nagios untuk mengaktifkan pemeriksaan ini.
Di Nagios kami, kami mengedit file dari 3 node:
/usr/local/nagios/etc/objects/postgres1.cfg
/usr/local/nagios/etc/objects/postgres2.cfg
/usr/local/nagios/etc/objects/postgres3.cfg
Kami menambahkan cek ini yang kami lihat sebelumnya, meninggalkan file kami sebagai berikut:
define host {
use linux-server
host_name postgres1
alias PostgreSQL1
address 192.168.100.123
}
define service {
use generic-service
host_name postgres1
service_description PING
check_command check_ping!100.0,20%!500.0,60%
}
define service {
use generic-service
host_name postgres1
service_description SSH
check_command check_ssh
}
define service {
use generic-service
host_name postgres1
service_description Root Partition
check_command check_nrpe!check_disk
}
define service {
use generic-service
host_name postgres1
service_description Total Processes zombie
check_command check_nrpe!check_zombie_procs
}
define service {
use generic-service
host_name postgres1
service_description Total Processes
check_command check_nrpe!check_total_procs
}
define service {
use generic-service
host_name postgres1
service_description Current Load
check_command check_nrpe!check_load
}
define service {
use generic-service
host_name postgres1
service_description Current Users
check_command check_nrpe!check_users
}
Dan kami memulai kembali layanan nagios:
[[email protected] ~]# systemctl start nagios
Pada titik ini, jika kita pergi ke bagian layanan di antarmuka web Nagios kita, kita akan memiliki sesuatu seperti berikut:
Peringatan Host NagiosDengan cara ini kami akan membahas pemeriksaan dasar server kami di tingkat sistem operasi.
Kami memiliki lebih banyak cek yang dapat kami tambahkan dan kami bahkan dapat membuat cek kami sendiri (kita akan melihat contohnya nanti).
Sekarang mari kita lihat bagaimana memonitor mesin database PostgreSQL kita menggunakan dua plugin utama yang dirancang untuk tugas ini.
Check_postgres
Salah satu plugin paling populer untuk memeriksa PostgreSQL adalah check_postgres dari Bucardo.
Mari kita lihat cara menginstalnya dan cara menggunakannya dengan database PostgreSQL kami.
Paket diperlukan
[[email protected] ~]# yum install perl-devel
Pemasangan
[[email protected] ~]# wget http://bucardo.org/downloads/check_postgres.tar.gz
[[email protected] ~]# tar zxvf check_postgres.tar.gz
[[email protected] ~]# cp check_postgres-2.23.0/check_postgres.pl /usr/local/nagios/libexec/
[[email protected] ~]# chown nagios.nagios /usr/local/nagios/libexec/check_postgres.pl
[[email protected] ~]# cd /usr/local/nagios/libexec/
[[email protected] libexec]# perl /usr/local/nagios/libexec/check_postgres.pl --symlinks
Perintah terakhir ini membuat tautan untuk menggunakan semua fungsi pemeriksaan ini, seperti check_postgres_connection, check_postgres_last_vacuum, atau check_postgres_replication_slots.
[[email protected] libexec]# ls |grep postgres
check_postgres.pl
check_postgres_archive_ready
check_postgres_autovac_freeze
check_postgres_backends
check_postgres_bloat
check_postgres_checkpoint
check_postgres_cluster_id
check_postgres_commitratio
check_postgres_connection
check_postgres_custom_query
check_postgres_database_size
check_postgres_dbstats
check_postgres_disabled_triggers
check_postgres_disk_space
…
Kami menambahkan file konfigurasi NRPE kami (/usr/local/nagios/etc/nrpe.cfg) baris untuk menjalankan pemeriksaan yang ingin kami gunakan:
command[check_postgres_locks]=/usr/local/nagios/libexec/check_postgres_locks -w 2 -c 3
command[check_postgres_bloat]=/usr/local/nagios/libexec/check_postgres_bloat -w='100 M' -c='200 M'
command[check_postgres_connection]=/usr/local/nagios/libexec/check_postgres_connection --db=postgres
command[check_postgres_backends]=/usr/local/nagios/libexec/check_postgres_backends -w=70 -c=100
Dalam contoh kami, kami menambahkan 4 pemeriksaan dasar untuk PostgreSQL. Kami akan memantau Locks, Bloat, Connection dan Backends.
Dalam file yang sesuai dengan database kami di server Nagios (/usr/local/nagios/etc/objects/postgres1.cfg), kami menambahkan entri berikut:
define service {
use generic-service
host_name postgres1
service_description PostgreSQL locks
check_command check_nrpe!check_postgres_locks
}
define service {
use generic-service
host_name postgres1
service_description PostgreSQL Bloat
check_command check_nrpe!check_postgres_bloat
}
define service {
use generic-service
host_name postgres1
service_description PostgreSQL Connection
check_command check_nrpe!check_postgres_connection
}
define service {
use generic-service
host_name postgres1
service_description PostgreSQL Backends
check_command check_nrpe!check_postgres_backends
}
Dan setelah memulai ulang kedua layanan (NRPE dan Nagios) di kedua server, kami dapat melihat peringatan kami dikonfigurasi.
Nagios check_postgres AlertsDalam dokumentasi resmi plugin check_postgres, Anda dapat menemukan informasi tentang apa lagi yang harus dipantau dan bagaimana melakukannya.
Periksa_pgaktivitas
Sekarang giliran check_pgactivity, yang juga populer untuk memantau database PostgreSQL kami.
Pemasangan
[[email protected] ~]# wget https://github.com/OPMDG/check_pgactivity/releases/download/REL2_3/check_pgactivity-2.3.tgz
[[email protected] ~]# tar zxvf check_pgactivity-2.3.tgz
[[email protected] ~]# cp check_pgactivity-2.3check_pgactivity /usr/local/nagios/libexec/check_pgactivity
[[email protected] ~]# chown nagios.nagios /usr/local/nagios/libexec/check_pgactivity
Kami menambahkan file konfigurasi NRPE kami (/usr/local/nagios/etc/nrpe.cfg) baris untuk menjalankan pemeriksaan yang ingin kami gunakan:
command[check_pgactivity_backends]=/usr/local/nagios/libexec/check_pgactivity -h localhost -s backends -w 70 -c 100
command[check_pgactivity_connection]=/usr/local/nagios/libexec/check_pgactivity -h localhost -s connection
command[check_pgactivity_indexes]=/usr/local/nagios/libexec/check_pgactivity -h localhost -s invalid_indexes
command[check_pgactivity_locks]=/usr/local/nagios/libexec/check_pgactivity -h localhost -s locks -w 5 -c 10
Dalam contoh kita, kita akan menambahkan 4 pemeriksaan dasar untuk PostgreSQL. Kami akan memantau Backend, Koneksi, Indeks Tidak Valid, dan kunci.
Dalam file yang sesuai dengan database kami di server Nagios (/usr/local/nagios/etc/objects/postgres2.cfg), kami menambahkan entri berikut:
define service {
use generic-service ; Name of service template to use
host_name postgres2
service_description PGActivity Backends
check_command check_nrpe!check_pgactivity_backends
}
define service {
use generic-service ; Name of service template to use
host_name postgres2
service_description PGActivity Connection
check_command check_nrpe!check_pgactivity_connection
}
define service {
use generic-service ; Name of service template to use
host_name postgres2
service_description PGActivity Indexes
check_command check_nrpe!check_pgactivity_indexes
}
define service {
use generic-service ; Name of service template to use
host_name postgres2
service_description PGActivity Locks
check_command check_nrpe!check_pgactivity_locks
}
Dan setelah memulai ulang kedua layanan (NRPE dan Nagios) di kedua server, kami dapat melihat peringatan kami dikonfigurasi.
Nagios check_pgactivity AlertsPeriksa Log Kesalahan
Salah satu pemeriksaan yang paling penting, atau yang paling penting, adalah memeriksa log kesalahan kami.
Di sini kita dapat menemukan berbagai jenis kesalahan seperti FATAL atau kebuntuan, dan ini adalah titik awal yang baik untuk menganalisis masalah apa pun yang kita miliki di database kita.
Untuk memeriksa log kesalahan kami, kami akan membuat skrip pemantauan kami sendiri dan mengintegrasikannya ke dalam nagios kami (ini hanya sebuah contoh, skrip ini akan menjadi dasar dan memiliki banyak ruang untuk perbaikan).
Skrip
Kami akan membuat file /usr/local/nagios/libexec/check_postgres_log.sh di server PostgreSQL3 kami.
[[email protected] ~]# vi /usr/local/nagios/libexec/check_postgres_log.sh
#!/bin/bash
#Variables
LOG="/var/log/postgresql-$(date +%a).log"
CURRENT_DATE=$(date +'%Y-%m-%d %H')
ERROR=$(grep "$CURRENT_DATE" $LOG | grep "FATAL" | wc -l)
#States
STATE_CRITICAL=2
STATE_OK=0
#Check
if [ $ERROR -ne 0 ]; then
echo "CRITICAL - Check PostgreSQL Log File - $ERROR Error Found"
exit $STATE_CRITICAL
else
echo "OK - PostgreSQL without errors"
exit $STATE_OK
fi
Yang penting dari skrip adalah membuat output yang sesuai dengan setiap status dengan benar. Output ini dibaca oleh Nagios dan setiap nomor sesuai dengan status:
0=OK
1=WARNING
2=CRITICAL
3=UNKNOWN
Dalam contoh kami, kami hanya akan menggunakan 2 status, OK dan CRITICAL, karena kami hanya tertarik untuk mengetahui apakah ada kesalahan tipe FATAL di log kesalahan kami pada jam saat ini.
Teks yang kami gunakan sebelum keluar akan ditampilkan oleh antarmuka web nagios kami, jadi harus sejelas mungkin untuk menggunakan ini sebagai panduan untuk masalah tersebut.
Setelah kami menyelesaikan skrip pemantauan kami, kami akan melanjutkan untuk memberikan izin eksekusi, menetapkannya ke nagios pengguna dan menambahkannya ke server database kami NRPE serta ke Nagios kami:
[[email protected] ~]# chmod +x /usr/local/nagios/libexec/check_postgres_log.sh
[[email protected] ~]# chown nagios.nagios /usr/local/nagios/libexec/check_postgres_log.sh
[[email protected] ~]# vi /usr/local/nagios/etc/nrpe.cfg
command[check_postgres_log]=/usr/local/nagios/libexec/check_postgres_log.sh
[[email protected] ~]# vi /usr/local/nagios/etc/objects/postgres3.cfg
define service {
use generic-service ; Name of service template to use
host_name postgres3
service_description PostgreSQL LOG
check_command check_nrpe!check_postgres_log
}
Mulai ulang NRPE dan Nagios. Kemudian kita bisa melihat cek kita di antarmuka Nagios:
Peringatan Skrip NagiosSeperti yang kita lihat dalam keadaan KRITIS, jadi jika kita masuk ke log, kita bisa melihat yang berikut:
2018-08-30 02:29:49.531 UTC [22162] FATAL: Peer authentication failed for user "postgres"
2018-08-30 02:29:49.531 UTC [22162] DETAIL: Connection matched pg_hba.conf line 83: "local all all peer"
Untuk informasi lebih lanjut tentang apa yang dapat kami pantau di database PostgreSQL kami, saya sarankan Anda memeriksa blog kinerja dan pemantauan kami atau webinar Kinerja Postgres ini.
Keamanan dan Performa
Saat mengonfigurasi pemantauan apa pun, baik menggunakan plugin atau skrip kita sendiri, kita harus sangat berhati-hati dengan 2 hal yang sangat penting - keamanan dan kinerja.
Saat kami menetapkan izin yang diperlukan untuk pemantauan, kami harus seketat mungkin, membatasi akses hanya secara lokal atau dari server pemantauan kami, menggunakan kunci aman, mengenkripsi lalu lintas, memungkinkan koneksi seminimal mungkin agar pemantauan berfungsi.
Sehubungan dengan kinerja, pemantauan diperlukan, tetapi juga diperlukan untuk menggunakannya dengan aman untuk sistem kami.
Kita harus berhati-hati untuk tidak menghasilkan akses disk yang terlalu tinggi, atau menjalankan kueri yang berdampak negatif pada kinerja database kita.
Jika kami memiliki banyak transaksi per detik yang menghasilkan gigabyte log, dan kami terus mencari kesalahan terus-menerus, itu mungkin bukan yang terbaik untuk database kami. Jadi kita harus menjaga keseimbangan antara apa yang kita pantau, seberapa sering, dan dampaknya terhadap kinerja.
Kesimpulan
Ada beberapa cara untuk menerapkan pemantauan, atau untuk mengonfigurasinya. Kita bisa melakukannya sekompleks atau sesederhana yang kita inginkan. Tujuan blog ini adalah untuk memperkenalkan Anda dalam pemantauan PostgreSQL menggunakan salah satu alat open source yang paling banyak digunakan. Kami juga telah melihat bahwa konfigurasinya sangat fleksibel dan dapat disesuaikan dengan kebutuhan yang berbeda.
Dan jangan lupa bahwa kita selalu dapat mengandalkan komunitas, jadi saya meninggalkan beberapa tautan yang dapat sangat membantu.
Forum dukungan:https://support.nagios.com/forum/
Masalah umum:https://github.com/NagiosEnterprises/nagioscore/issues
Plugin Nagios:https://exchange.nagios.org/directory/Plugins
Plugin Nagios untuk ClusterControl:https://severalnines.com/blog/nagios-plugin-clustercontrol