GNU/Linux >> Belajar Linux >  >> Linux

Cara Memasang Server Pemantauan Naemon Siap Produksi

Naemon adalah rangkaian pemantauan baru yang bertujuan untuk menjadi cepat, stabil, dan inovatif sambil memberi Anda pandangan yang jelas tentang keadaan jaringan dan aplikasi Anda. Ini adalah pengganti server nagios dan sangat stabil dan menggunakan dasbor luar biasa yang disebut thruk. Menyiapkan naemon sangat mudah dan memiliki status live inbuild. Dalam tutorial ini, saya akan menunjukkan cara menginstal dan mengkonfigurasi naemon di lingkungan produksi bersama dengan pnp4nagios untuk grafik. Naemon sangat stabil, saya akan menunjukkan kepada Anda bagaimana mempertahankan konfigurasi dalam lingkungan skala besar.

Dalam tutorial ini, saya akan menggunakan empat Server

  • 192.168.1.170 - Server Naemon - centos 7
  • 192.168.1.21 - klien nrpe - centos 6
  • 192.168.1.182 - klien nrpe - ubuntu
  • 192.168.1.75 - klien nscp - server windows 2012R2

Instalasi Server Naemon

Saya menggunakan host CentOS 7 dengan penginstalan minimal, SELinux dinonaktifkan, dan firewall diaktifkan.

[[email protected] ~]# sestatus
SELinux status:                 disabled
[[email protected] ~]#

Memasang repo:

[[email protected] ~]# yum -y install https://labs.consol.de/repo/stable/rhel7/x86_64/labs-consol-stable.rhel7.noarch.rpm

mengaktifkan repo epel:

yum -y install epel-release

Menginstal paket Naemon:

[[email protected] ~]# yum install naemon*

Naemon menggunakan plugin dan nrpe Nagios yang sama untuk memantau host. Sekarang kita akan menginstalnya:

[[email protected] ~]# yum install nagios-plugins nagios-plugins-all nagios-plugins-nrpe nrpe -y

Kami akan menambahkan aturan firewall:

   
[[email protected] ~]# firewall-cmd --add-service=http --permanent
success
[[email protected] ~]# firewall-cmd --add-service=https --permanent
success
[[email protected] ~]# firewall-cmd --reload
success
[[email protected] ~]# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: eno16777736
  sources:
  services: dhcpv6-client http https ssh
  ports:
  protocols:
  masquerade: no
  forward-ports:
  sourceports:
  icmp-blocks:
  rich rules:

[[email protected] ~]#

    

Pemasangan pnp4nagios.

yum install gcc-c++ rrdtool perl-Time-HiRes perl-rrdtool php-gd php php-cli wget

Mengunduh pnp4nagios.

[[email protected] ~]# wget https://svwh.dl.sourceforge.net/project/pnp4nagios/PNP-0.6/pnp4nagios-0.6.25.tar.gz
    [[email protected] ~]# tar -zxvf pnp4nagios-0.6.25.tar.gz
    [[email protected] ~]# cd pnp4nagios-0.6.25/
[[email protected] pnp4nagios-0.6.25]# ./configure --with-nagios-user=naemon --with-nagios-group=naemon
[[email protected] pnp4nagios-0.6.25]# make all
[[email protected] pnp4nagios-0.6.25]# make fullinstall
[[email protected] pnp4nagios-0.6.25]# make install-webconf
[[email protected] pnp4nagios-0.6.25]# make install-config
[[email protected] pnp4nagios-0.6.25]# make install-init
    

Memulai ulang dan mengaktifkan layanan.

    [[email protected] ~]# systemctl enable httpd && systemctl restart httpd
[[email protected] ~]# systemctl enable naemon && systemctl restart naemon
[[email protected] ~]# systemctl enable thruk && systemctl restart thruk
[[email protected] ~]# systemctl enable npcd && systemctl restart npcd
    

Anda harus dapat mengakses URL dari http://192.168.1.170/thruk

Nama pengguna default adalah thrukadmin, kata sandi adalah thrukadmin.

Jika Anda ingin mengubah kata sandi thrukadmin, jalankan:

[[email protected] ~]# htpasswd /etc/thruk/htpasswd thrukadmin

Pemasangan Klien Pemantauan untuk memantau node

Instalasi klien nrpe untuk memantau host Linux

192.168.1.21 - klien nrpe - centos 6

Pemasangan plugin Nagios dan klien nrpe:

[[email protected] ~]# yum install nagios-plugins nagios-plugins-all nagios-plugins-nrpe nrpe -y

Ambil cadangan nrpe.cfg:

[[email protected] ~]# cp /etc/nagios/nrpe.cfg /etc/nagios/nrpe.cfg.bkp

Ganti konten file nrpe.conf dengan konten di bawah ini:

[[email protected] ~]# cat /etc/nagios/nrpe.cfg
log_facility=daemon
pid_file=/var/run/nrpe/nrpe.pid
nrpe_user=nrpe
nrpe_group=nrpe
allowed_hosts=127.0.0.1,192.168.1.170
dont_blame_nrpe=1
debug=0
command_timeout=60
connection_timeout=300
include_dir=/etc/nrpe.d/

[[email protected] ~]#
    

Di bawah allow_host tambahkan ipaddress server naemon di sini adalah 192.168.1.170.

Sekarang kita perlu me-restart layanan nrpe:

	[[email protected] ~]# service nrpe restart
	[[email protected] ~]# chkconfig nrpe on
	

192.168.1.182 - klien nrpe - ubuntu

[email protected]:~# apt-get install nagios-nrpe-server nagios-plugins -y

Ambil cadangan nrpe.cfg:

[[email protected] ~]# cp /etc/nagios/nrpe.cfg /etc/nagios/nrpe.cfg.bkp

Ganti konten file nrpe.conf dengan konten di bawah ini:

[email protected]:~# cat /etc/nagios/nrpe.cfg
log_facility=daemon
pid_file=/var/run/nagios/nrpe.pid
nrpe_user=nagios
nrpe_group=nagios
allowed_hosts=127.0.0.1,192.168.1.170
dont_blame_nrpe=1
debug=0
command_timeout=60
connection_timeout=300
include_dir=/etc/nagios/nrpe.d/
[email protected]:~#
    

Sekarang kita perlu memulai ulang layanan nrpe:

	[email protected]:~# systemctl restart nagios-nrpe-server.service
	[email protected]:~# systemctl enable nagios-nrpe-server.service
	

Instalasi Nscp di Windows

192.168.1.75 - klien nscp - windows server 2012R2

Unduh nscp dari situs web ini:

https://www.nsclient.org/download/

Setelah diunduh, ikuti tangkapan layar penginstalan

Pilih generik.

Pilih selesai:

Pilih jalur default:

Sekarang, di bawah host yang diizinkan, tambahkan host naemon. Di sini, di pengaturan kami, ini adalah 192.168.1.170.

Pastikan Anda memberikan kata sandi yang rumit. Untuk contoh ini, saya telah menggunakan kata sandi sebagai "howtoforge". Selanjutnya centang aktifkan nsclient dan nrpe.

Setelah penginstalan selesai, pastikan layanan aktif dan berjalan.

Kami sekarang akan memvalidasi dari naemon host, untuk memastikan kami dapat menjangkaunya.

Validasi nrpe dan nscp dari Server Naemon untuk memeriksa konektivitas

[[email protected] ~]# /usr/lib64/nagios/plugins/check_nrpe -H 192.168.1.182
NRPE v2.15
[[email protected] ~]# /usr/lib64/nagios/plugins/check_nrpe -H 192.168.1.21
NRPE v2.15
[[email protected] ~]#
	
[[email protected] ~]# /usr/lib64/nagios/plugins/check_nt -H 192.168.1.75 -p 12489 -v CLIENTVERSION -s 'howtoforge'
NSClient++ 0.5.0.62 2016-09-14
[[email protected] ~]#

	

Pemantauan Server

Kami akan memantau kinerja server dalam tutorial ini.

Dalam lingkungan produksi, kita perlu memantau penggunaan CPU, memori, dan harddisk, bersama dengan pemeriksaan pengaktifan host.

Menambahkan baris berikut di nrpe conf /etc/nrpe.d/base.cfg

192.168.1.21 - klien nrpe - centos 6

  [[email protected] ~]# cat /etc/nrpe.d/base.cfg
command[check_disks]=/usr/lib64/nagios/plugins/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$
command[check_disk]=/usr/lib64/nagios/plugins/check_disk -X nfs -X cifs -X none -X tmpfs -w $ARG1$ -c $ARG2$
command[memory]=/usr/lib64/nagios/plugins/check_memory -w $ARG1$ -c $ARG2$
command[load]=/usr/lib64/nagios/plugins/check_load -w $ARG1$ -c $ARG2$
command[check_total_procs]=/usr/lib64/nagios/plugins/check_procs -w $ARG1$ -c $ARG2$
command[check_procs_c]=/usr/lib64/nagios/plugins/check_procs -c $ARG1$ -C $ARG2$
command[check_procs_a]=/usr/lib64/nagios/plugins/check_procs -c $ARG1$ -a $ARG2$
  

Simpan dan mulai ulang file, lalu mulai ulang nrpe.

[[email protected] ~]# /etc/init.d/nrpe restart
Shutting down nrpe:                                        [FAILED]
Starting nrpe:                                             [  OK  ]
[[email protected] ~]#
 

Plugin memori tidak akan tersedia sebagai plugin default. Kami akan menggunakan plugin di bawah ini.

 [[email protected] ~]# cd  /usr/lib64/nagios/plugins/
 [[email protected] plugins]# vim check_memory

Tambahkan konten di bawah ini.

#! /usr/bin/perl -w
##Included Perf data
#The nagios plugins come with ABSOLUTELY NO WARRANTY. You may redistribute
#copies of the plugins under the terms of the GNU General Public License.
#
use strict;
use Getopt::Long;

my ($opt_f, $opt_h, $opt_c, $opt_w);
my ($result, $message, $ram_percent);

my $PROGNAME="check_memory";

$opt_f = "";

Getopt::Long::Configure('bundling');
GetOptions(
        "h"   => \$opt_h, "help"        => \$opt_h,
        "c=s" => \$opt_c, "Warning_Percentage"  => \$opt_c,
        "w=s" => \$opt_w, "Critical_Percentage" => \$opt_w,
);

if ($opt_h) {
        &print_help();
        exit 0;
}

$opt_w = shift unless ($opt_w);
$opt_c = shift unless ($opt_c);

if (! $opt_c && ! $opt_w) {
        print "Warning and Critical must be specified\n";
        exit 3;
}
if ($opt_c <= $opt_w){
        print "Critical must be greater than Warning CRITICAL: $opt_c WARNING: $opt_w\n";
        exit 3;
}



$result = 'OK';
open(FREE_M, "free -m|");
while (my $line = ){
        if ($line =~ /^Mem/){
                my ($junk,$total_mem,$used_mem,$free_mem,$shared_mem,$buffered_mem,$cached_mem)=split(/\s+/,$line);
                $ram_percent=int(($total_mem-($free_mem+$cached_mem+$buffered_mem))/$total_mem*100*100)/100;

        }
}
close(FREE_M);

if ($ram_percent > $opt_c){
print "Memory usage is: CRITICAL: ${ram_percent}% used | used=$ram_percent;$opt_w;$opt_c\n";
exit 2;
}elsif ($ram_percent > $opt_w) {
print "Memory usage is: WARNING: ${ram_percent}% used | used=$ram_percent;$opt_w;$opt_c\n";
exit 1;
}
else{
print "Memory usage is: $result: ${ram_percent}% used | used=$ram_percent;$opt_w;$opt_c\n";
exit 0;
}

sub print_usage () {
        print "Usage:\n";
        print "  $PROGNAME -f \n";
        print "  $PROGNAME -c \n";
        print "  $PROGNAME -w \n";
        print "  $PROGNAME [-h | --help]\n";
        print "  $PROGNAME [-V | --version]\n";
}

sub print_help () {
        print << EOF; 
$PROGNAME v1.0.01
The nagios plugins come with ABSOLUTELY NO WARRANTY. You may redistribute
copies of the plugins under the terms of the GNU General Public License.
EOF
        &print_usage();
        print "\n";
        exit 3;
}


Unduh tautan plugin check_memory

Anda harus memberikan izin eksekusi ke file:

  [[email protected] plugins]# chmod 755 check_memory

Menambahkan baris berikut di nrpe conf /etc/nagios/nrpe.d/base.cfg

192.168.1.182 - klien nrpe - ubuntu

Di sini jalur file berbeda:

Folder plugin adalah lib dan bukan lib64.

  [email protected]:~# cat /etc/nagios/nrpe.d/base.cfg
command[check_disks]=/usr/lib/nagios/plugins/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$
command[check_disk]=/usr/lib/nagios/plugins/check_disk -X nfs -X cifs -X none -X tmpfs -w $ARG1$ -c $ARG2$
command[memory]=/usr/lib/nagios/plugins/check_memory -w $ARG1$ -c $ARG2$
command[load]=/usr/lib/nagios/plugins/check_load -w $ARG1$ -c $ARG2$
command[check_total_procs]=/usr/lib/nagios/plugins/check_procs -w $ARG1$ -c $ARG2$
command[check_procs_c]=/usr/lib/nagios/plugins/check_procs -c $ARG1$ -C $ARG2$
command[check_procs_a]=/usr/lib/nagios/plugins/check_procs -c $ARG1$ -a $ARG2$
  

Tambahkan skrip check_memory yang sama di /usr/lib/nagios/plugins.

  [email protected]:~# vim /usr/lib/nagios/plugins/check_memory
[email protected]:~# chmod 755 /usr/lib/nagios/plugins/check_memory
[email protected]:~# systemctl restart nagios-nrpe-server.service
[email protected]:~#

Konfigurasi pada Server Naemon

Masuk sebagai pengguna naemon:

[[email protected] ~]# su - naemon
Last login: Thu Mar  9 17:11:39 CET 2017 on pts/0
-sh-4.2$

Ubah email admin di /etc/naemon/naemon.cfg

........
........
[email protected]
[email protected]
........
........

Sekarang kita akan mengkonfigurasi perintah kustom untuk melakukan pemeriksaan di /etc/naemon/conf.d

Buat perintah khusus yang disebut custom_commands.cfg dengan konten di bawah ini.

$ vim /etc/naemon/conf.d/custom_commands.cfg
## Host Alive check ##
# command 'check_icmp Host Alive'
define command{
    command_name                   host_alive
    command_line                   $USER1$/check_icmp -H $HOSTADDRESS$ -n 1 -w 3000.00,80% -c 5000.00,100%
    }
### Service Command ##
# command 'check_nrpe_disks'
define command{
    command_name                   check_nrpe_disks
    command_line                   $USER1$/check_nrpe -t 55 -u -H $HOSTADDRESS$ -c check_disks -a $ARG1$ $ARG2$ $ARG3$
    }

# command 'nrpe'
define command{
    command_name                   nrpe
    command_line                   $USER1$/check_nrpe -t 55 -u -H $HOSTADDRESS$ -c $ARG1$
    }

# NRPE With Arguements
define command{
    command_name                   check_nrpe_a
    command_line                   $USER1$/check_nrpe -t 55 -u -H $HOSTADDRESS$ -c $ARG1$ -a $ARG2$ $ARG3$ $ARG4$
    }
#####################################
# Windows NSClient++ Checks
# command 'check_nt'
define command{
    command_name                   nt
    command_line                   $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -v $ARG1$ $ARG2$ -s $USER4$
    }

Untuk tujuan keamanan, simpan kata sandi klien nscp di /etc/naemon/resource.cfg

...........
...........
$USER4$=howtoforge
...........
............

Sekarang kita perlu mendefinisikan konfigurasi host.

Kami membuat file bernama linux.cfg.

$ vim /etc/naemon/conf.d/linux.cfg
define host {
  host_name                      centos6.sunil.cc
  alias                          Centos
  address                        192.168.1.21
  use                            linux-server
  hostgroups                     linux-servers
}
define host {
  host_name                      ubuntu.sunil.cc
  alias                          Ubuntu
  address                        192.168.1.182
  use                            linux-server
  hostgroups                     linux-servers
}

Kami melakukan hal yang sama untuk host windows.

$ vim /etc/naemon/conf.d/windows.cfg
define host {
  host_name                      ad.sunil.cc
  alias                          My Windows Server
  address                        192.168.1.75
  use                            windows-server
}

define hostgroup {
  hostgroup_name                 windows-servers
  alias                          Windows Servers
}

Sekarang kita perlu mendefinisikan konfigurasi layanan.

$ vim linux_services.cfg
define service {
  service_description            Disks Status
  hostgroup_name                  linux-servers
  use                            generic-service                       
  check_command                  check_nrpe_a!check_disk!15%!5%
}
define service{
    use                            generic-service
    hostgroup_name                 linux-servers
    service_description            Load Average
    check_command                  check_nrpe_a!load!30,25,20!45,40,35
    }
define service{
    use                            generic-service
    hostgroup_name                 linux-servers
    service_description            Memory Usage
    check_command                  check_nrpe_a!memory!80!90
    }

Untuk Windows, kami membuat konfigurasi serupa.

$ vim window_services.cfg
define service{
    use                            generic-service
    hostgroup_name                 windows-servers
    service_description            Disk - C:
    check_command                  nt!USEDDISKSPACE!-l c -w 80 -c 90
     }
define service{
    use                            generic-service
    hostgroup_name                 windows-servers
    service_description            Load Average
    check_command                  nt!CPULOAD!-l 60,90,95
    }
define service{
    use                            generic-service
    hostgroup_name                 windows-servers
    service_description            Memory Usage
    check_command                  nt!MEMUSE!-w 90 -c 95
    }

Sekarang kita akan mengubah alamat email kontak.

$ vim contacts.cfg
define contact {
  contact_name                   naemonadmin                         ; Short name of user
  alias                          Naemon Admin                        ; Full name of user
  use                            generic-contact                     ; Inherit default values from generic-contact template (defined above)
  email                          [email protected]             ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ******
}

Kami sekarang menghapus konfigurasi yang tidak perlu yang tidak diperlukan.

$ mv switch.cfg switch.cfg.bkp
$ mv printer.cfg printer.cfg.bkp

Untuk memvalidasi konfigurasi.

$ naemon -v /etc/naemon/naemon.cfg

Naemon Core 1.0.6-pkg
Copyright (c) 2013-present Naemon Core Development Team and Community Contributors
Copyright (c) 2009-2013 Nagios Core Development Team and Community Contributors
Copyright (c) 1999-2009 Ethan Galstad
License: GPL

Website: http://www.naemon.org
Reading configuration data...
   Read main config file okay...
   Read object config files okay...

Running pre-flight check on configuration data...

Checking objects...
        Checked 20 services.
        Checked 4 hosts.
        Checked 1 contacts.
        Checked 2 host groups.
        Checked 0 service groups.
        Checked 1 contact groups.
        Checked 29 commands.
        Checked 5 time periods.
        Checked 0 host escalations.
        Checked 0 service escalations.
Checking for circular paths...
        Checked 4 hosts
        Checked 0 service dependencies
        Checked 0 host dependencies
        Checked 5 timeperiods
Checking global event handlers...
Checking obsessive compulsive processor commands...
Checking misc settings...

Total Warnings: 0
Total Errors:   0

Things look okay - No serious problems were detected during the pre-flight check
-sh-4.2$

Login sebagai root dan restart layanan naemon.

[[email protected] conf.d]# systemctl restart naemon
[[email protected] conf.d]# systemctl status naemon
? naemon.service - Naemon Monitoring Daemon
   Loaded: loaded (/usr/lib/systemd/system/naemon.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2017-03-09 19:14:36 CET; 7s ago
     Docs: http://naemon.org/documentation
  Process: 5112 ExecStart=/usr/bin/naemon --daemon /etc/naemon/naemon.cfg (code=exited, status=0/SUCCESS)
  Process: 5110 ExecStartPre=/usr/bin/chown -R naemon:naemon /var/run/naemon/ (code=exited, status=0/SUCCESS)
  Process: 5108 ExecStartPre=/usr/bin/mkdir /var/run/naemon (code=exited, status=1/FAILURE)
 Main PID: 5114 (naemon)
   CGroup: /system.slice/naemon.service
           ??5114 /usr/bin/naemon --daemon /etc/naemon/naemon.cfg
           ??5115 /usr/bin/naemon --worker /var/lib/naemon/naemon.qh
           ??5116 /usr/bin/naemon --worker /var/lib/naemon/naemon.qh
           ??5117 /usr/bin/naemon --worker /var/lib/naemon/naemon.qh
           ??5118 /usr/bin/naemon --worker /var/lib/naemon/naemon.qh
           ??5119 /usr/bin/naemon --daemon /etc/naemon/naemon.cfg

Mar 09 19:14:36 naemon.sunil.cc systemd[1]: Starting Naemon Monitoring Daemon...
Mar 09 19:14:36 naemon.sunil.cc systemd[1]: Failed to read PID from file /var/run/naemon/naemon.pid: Invalid argument
Mar 09 19:14:36 naemon.sunil.cc systemd[1]: Started Naemon Monitoring Daemon.
[[email protected] conf.d]#

Masuk ke dasbor dan Anda akan melihat layanan aktif dan berjalan.

Kami melihat bahwa layanan gagal untuk host Ubuntu.

It is seen that nrpe package compiled for ubuntu had enable arguments disabled for security vulnerabily and that is the reason it is failing

Kita perlu mengkompilasi ulang paket untuk mengaktifkan argumen, untuk mengelola penyetelan dari naemon.

Tautan di bawah ini menunjukkan kepada Anda bagaimana itu dapat dikompilasi ulang. Anda juga menemukan paket yang sudah dikompilasi dengan argumen aktifkan di situs ini. Saya akan menggunakan paket yang telah dikompilasi ini untuk tutorial ini.

https://www.claudiokuenzler.com/blog/626/nrpe-debian-jessie-command-ags-arguments-not-working-error
[email protected]:~# wget https://www.claudiokuenzler.com/downloads/nrpe/nagios-nrpe-server_2.15-1ubuntu2_amd64.xenial.deb

Instal paket.

[email protected]:~# dpkg -i nagios-nrpe-server_2.15-1ubuntu2_amd64.xenial.deb
(Reading database ... 79576 files and directories currently installed.)
Preparing to unpack nagios-nrpe-server_2.15-1ubuntu2_amd64.xenial.deb ...
Unpacking nagios-nrpe-server (2.15-1ubuntu2) over (2.15-1ubuntu1) ...
Setting up nagios-nrpe-server (2.15-1ubuntu2) ...
Processing triggers for systemd (229-4ubuntu16) ...
Processing triggers for ureadahead (0.100.0-19) ...
Processing triggers for man-db (2.7.5-1) ...
[email protected]:~#

Mulai ulang NRPE.

[email protected]:~# systemctl restart nagios-nrpe-server.service

Sekarang kami memantau semua host menggunakan naemon.

Konfigurasi pnp4nagios

Kita perlu mengonfigurasi pnp4nagios untuk grafik kinerja.

Sekarang kita akan menggunakan metode autentikasi yang sama seperti dasbor thruk, pertama-tama kita akan membuat cadangan file dan mengubah baris berikut.

[[email protected] conf.d]# cd /etc/httpd/conf.d/
[[email protected] conf.d]# cp pnp4nagios.conf pnp4nagios.conf.bkp
[[email protected] share]# cat /etc/httpd/conf.d/pnp4nagios.conf
# SAMPLE CONFIG SNIPPETS FOR APACHE WEB SERVER

Alias /pnp4nagios "/usr/local/pnp4nagios/share"

<Directory "/usr/local/pnp4nagios/share">
        AllowOverride None
        Order allow,deny
        Allow from all
        #
        # Use the same value as defined in nagios.conf
        #
        AuthName "Thruk Access"
        AuthType Basic
        AuthUserFile /etc/thruk/htpasswd
        Require valid-user
        
                # Turn on URL rewriting
                RewriteEngine On
                Options symLinksIfOwnerMatch
                # Installation directory
                RewriteBase /pnp4nagios/
                # Protect application and system files from being viewed
                RewriteRule "^(?:application|modules|system)/" - [F]
                # Allow any files or directories that exist to be displayed directly
                RewriteCond "%{REQUEST_FILENAME}" !-f
                RewriteCond "%{REQUEST_FILENAME}" !-d
                # Rewrite all other URLs to index.php/URL
                RewriteRule "^.*$" "index.php/$0" [PT]
        

[[email protected] share]#
[[email protected] conf.d]# systemctl restart httpd.service

Sekarang kita perlu mengubah halaman konfigurasi.

[[email protected] share]# cd /usr/local/pnp4nagios/share/
[[email protected] share]# mv install.php install.php.txt

Sekarang kita perlu mengubah file konfigurasi untuk pnp4nagios.

Ubah nagios menjadi naemon di file konfigurasi.

[[email protected] conf.d]# vi /usr/local/pnp4nagios/etc/config_local.php
............................
................................
$conf['nagios_base'] = "/naemon/cgi-bin";
..................................
............................

Aktifkan data kinerja dari 0 hingga 1.

[[email protected] conf.d]# vi /etc/naemon/naemon.cfg
.....................
.....................
process_performance_data=1
......................
......................

Tambahkan baris di bawah ini ke bagian bawah naemon.conf.

[[email protected] conf.d]# vi /etc/naemon/naemon.cfg
#
# service performance data
#
service_perfdata_file=/usr/local/pnp4nagios/var/service-perfdata
service_perfdata_file_template=DATATYPE::SERVICEPERFDATA\tTIMET::$TIMET$\tHOSTNAME::$HOSTNAME$\tSERVICEDESC::$SERVICEDESC$\tSERVICEPERFDATA::$SERVICEPERFDATA$\tSERVICECHECKCOMMAND::$SERVICECHECKCOMMAND$\tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYPE::$HOSTSTATETYPE$\tSERVICESTATE::$SERVICESTATE$\tSERVICESTATETYPE::$SERVICESTATETYPE$
service_perfdata_file_mode=a
service_perfdata_file_processing_interval=15
service_perfdata_file_processing_command=process-service-perfdata-file

#
#
# 
host_perfdata_file=/usr/local/pnp4nagios/var/host-perfdata
host_perfdata_file_template=DATATYPE::HOSTPERFDATA\tTIMET::$TIMET$\tHOSTNAME::$HOSTNAME$\tHOSTPERFDATA::$HOSTPERFDATA$\tHOSTCHECKCOMMAND::$HOSTCHECKCOMMAND$\tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYPE::$HOSTSTATETYPE$
host_perfdata_file_mode=a
host_perfdata_file_processing_interval=15
host_perfdata_file_processing_command=process-host-perfdata-file

Sekarang kita perlu menambahkan baris di bawah ini di custom_commands.conf.

[[email protected] conf.d]# vim /etc/naemon/conf.d/custom_commands.cfg
define command{
       command_name    process-service-perfdata-file
       command_line    /bin/mv /usr/local/pnp4nagios/var/service-perfdata /usr/local/pnp4nagios/var/spool/service-perfdata.$TIMET$
}

define command{
       command_name    process-host-perfdata-file
       command_line    /bin/mv /usr/local/pnp4nagios/var/host-perfdata /usr/local/pnp4nagios/var/spool/host-perfdata.$TIMET$
}

Sekarang kita membuat template untuk kinerja host dan grafik kinerja layanan.

$ cd /etc/naemon/conf.d/templates/
$ cat pnp.cfg
define host {
   name host-pnp
   process_perf_data 1
   action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=_HOST_' class='tips' rel='/pnp4nagios/index.php/popup?host=$HOSTNAME$&srv=_HOST_
   register 0
}

define service {
   name service-pnp
   process_perf_data 1
   action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=$SERVICEDESC$' class='tips' rel='/pnp4nagios/index.php/popup?host=$HOSTNAME$&srv=$SERVICEDESC$
   register 0
}

Sekarang untuk mengakses grafik kinerja untuk layanan yang Anda butuhkan, kami perlu memperbarui file service.cfg.

$ cat linux_services.cfg
define service {
  service_description            Disks Status
  hostgroup_name                  linux-servers
  use                            generic-service,service-pnp                       ; Name of service template to use
  check_command                  check_nrpe_a!check_disk!15%!5%
}
define service{
    use                            generic-service,service-pnp
    hostgroup_name                 linux-servers
    service_description            Load Average
    check_command                  check_nrpe_a!load!30,25,20!45,40,35
    }
define service{
    use                            generic-service,service-pnp
    hostgroup_name                 linux-servers
    service_description            Memory Usage
    check_command                  check_nrpe_a!memory!80!90
    }
$ cat window_services.cfg
define service{
    use                            generic-service,service-pnp
    hostgroup_name                 windows-servers
    service_description            Disk - C:
    check_command                  nt!USEDDISKSPACE!-l c -w 80 -c 90
     }
define service{
    use                            generic-service,service-pnp
    hostgroup_name                 windows-servers
    service_description            Load Average
    check_command                  nt!CPULOAD!-l 60,90,95
    }
define service{
    use                            generic-service,service-pnp
    hostgroup_name                 windows-servers
    service_description            Memory Usage
    check_command                  nt!MEMUSE!-w 90 -c 95
    }

Untuk memeriksa grafik host, kita perlu memasukkannya ke dalam file di bawah ini.

$ cat linux.cfg
define host {
  host_name                      centos6.sunil.cc
  alias                          Centos
  address                        192.168.1.21
  use                            linux-server,host-pnp
  hostgroups                     linux-servers
}
define host {
  host_name                      ubuntu.sunil.cc
  alias                          Ubuntu
  address                        192.168.1.182
  use                            linux-server,host-pnp
  hostgroups                     linux-servers
}
$ cat windows.cfg
define host {
  host_name                      ad.sunil.cc
  alias                          My Windows Server
  address                        192.168.1.75
  use                            windows-server,host-pnp
}

define hostgroup {
  hostgroup_name                 windows-servers
  alias                          Windows Servers
}

Validasi konfigurasi.

$ naemon -v /etc/naemon/naemon.cfg

Naemon Core 1.0.6-pkg
Copyright (c) 2013-present Naemon Core Development Team and Community Contributors
Copyright (c) 2009-2013 Nagios Core Development Team and Community Contributors
Copyright (c) 1999-2009 Ethan Galstad
License: GPL

Website: http://www.naemon.org
Reading configuration data...
   Read main config file okay...
   Read object config files okay...

Running pre-flight check on configuration data...

Checking objects...
        Checked 20 services.
        Checked 4 hosts.
        Checked 1 contacts.
        Checked 2 host groups.
        Checked 0 service groups.
        Checked 1 contact groups.
        Checked 31 commands.
        Checked 5 time periods.
        Checked 0 host escalations.
        Checked 0 service escalations.
Checking for circular paths...
        Checked 4 hosts
        Checked 0 service dependencies
        Checked 0 host dependencies
        Checked 5 timeperiods
Checking global event handlers...
Checking obsessive compulsive processor commands...
Checking misc settings...

Total Warnings: 0
Total Errors:   0

Things look okay - No serious problems were detected during the pre-flight check

Mulai ulang layanan.

[[email protected] ~]# systemctl enable npcd
npcd.service is not a native service, redirecting to /sbin/chkconfig.
Executing /sbin/chkconfig npcd on
[[email protected] ~]# systemctl restart npcd
[[email protected] ~]# systemctl restart naemon


Linux
  1. Cara Menginstal SQL Server di Windows 10

  2. Cara Menginstal ownCloud di CentOS 7

  3. Cara Menginstal lokasi di Server Ubuntu

  1. Cara Menginstal Drupal 8 Pada CentOS 7

  2. Cara Install Kolab 16 Groupware Server di CentOS 7 / RHEL 7

  3. Cara Menginstal AWX yang Mungkin di CentOS 7

  1. Cara Menginstal Pemantauan Server Nagios di Ubuntu 16.04

  2. Cara menginstal OpenLDAP di Ubuntu Server 22.04

  3. Cara Menginstal Lighttpd di Server Ubuntu