Naemon là bộ giám sát mới hướng đến mục tiêu nhanh, ổn định và sáng tạo, đồng thời cung cấp cho bạn cái nhìn rõ ràng về trạng thái mạng và ứng dụng của mình. Đây là giải pháp thay thế cho máy chủ Nagios, rất ổn định và sử dụng bảng điều khiển tuyệt vời có tên là thruk. Việc thiết lập naemon rất dễ dàng và có trạng thái trực tiếp được tích hợp sẵn. Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách cài đặt và cấu hình naemon trong môi trường sản xuất cùng với pnp4nagios cho đồ thị. Naemon rất ổn định, tôi sẽ chỉ cho bạn cách duy trì cấu hình trong môi trường quy mô lớn.
Trong hướng dẫn này, tôi sẽ sử dụng bốn Máy chủ
Cài đặt kho lưu trữ:
bật kho lưu trữ epel:
Cài đặt gói Naemon:
Naemon sử dụng cùng một plugin Nagios và nrpe để giám sát máy chủ. Bây giờ chúng ta sẽ cài đặt chúng:
Chúng ta sẽ thêm các quy tắc tường lửa:
Cài đặt pnp4nagios.
Đang tải pnp4nagios.
Khởi động lại và kích hoạt dịch vụ.
bạn sẽ có thể truy cập URL từ http://192.168.1.170/thruk
Tên người dùng mặc định là thrukadmin, mật khẩu là thrukadmin.
Trong trường hợp bạn muốn thay đổi mật khẩu thrukadmin, hãy chạy:
Sao lưu nrpe.cfg:
Thay thế nội dung của tệp nrpe.conf bằng nội dung bên dưới:
Trong allowed_host, hãy thêm địa chỉ ipaddress của máy chủ naemon vào đây, địa chỉ này là 192.168.1.170.
Bây giờ chúng ta cần khởi động lại dịch vụ nrpe:
Sao lưu nrpe.cfg:
Thay thế nội dung của tệp nrpe.conf bằng nội dung bên dưới:
Bây giờ chúng ta cần khởi động lại dịch vụ thenrpe:
Cài đặt Nscp trên Windows
https://www.nsclient.org/download/
Sau khi tải xuống, vui lòng làm theo ảnh chụp màn hình cài đặt
Chọn chung.
Chọn hoàn tất:
Chọn đường dẫn mặc định:
Bây giờ, trong mục máy chủ được phép, vui lòng thêm máy chủ naemon. Ở đây trong thiết lập của chúng tôi là 192.168.1.170.
Đảm bảo bạn cung cấp mật khẩu phức tạp. Đối với ví dụ này, tôi đã sử dụng mật khẩu là "howtoforge". Tiếp theo, hãy kiểm tra bật nsclient và nrpe.
Sau khi cài đặt hoàn tất, hãy đảm bảo dịch vụ đã được thiết lập và chạy.
Bây giờ chúng ta sẽ xác thực từ máy chủ naemon để đảm bảo chúng ta có thể truy cập được.
Trong môi trường sản xuất, chúng ta sẽ cần giám sát mức sử dụng CPU, bộ nhớ và ổ cứng, cùng với kiểm tra tình trạng hoạt động của máy chủ.
Thêm các dòng sau vào nrpe conf /etc/nrpe.d/base.cfg
Lưu và khởi động lại tệp, sau đó khởi động lại nrpe.
Trình cắm bộ nhớ sẽ không khả dụng làm trình cắm mặc định. Chúng tôi sẽ sử dụng trình cắm bên dưới.
Thêm nội dung bên dưới.
Trong hướng dẫn này, tôi sẽ sử dụng bốn Máy chủ
- 192.168.1.170 - Máy chủ Naemon - centos 7
- 192.168.1.21 - máy khách nrpe - centos 6
- 192.168.1.182 - máy khách nrpe - ubuntu
- 192.168.1.75 - máy khách nscp - windows server 2012R2
Cài đặt Naemon Server
Tôi đang sử dụng máy chủ CentOS 7 với tối thiểu cài đặt, SELinux đã tắt và tường lửa đã bật.
Mã:
[root@naemon ~]# sestatusTrạng thái SELinux: đã tắt[root@naemon ~]#
Mã:
[root@naemon ~]# yum -y install https://labs.consol.de/repo/stable/rhel7/x86_64/labs-consol-stable.rhel7.noarch.rpm
Mã:
yum -y install epel-release
Mã:
[root@naemon ~]# yum install naemon*
Mã:
[root@naemon ~]# yum install nagios-plugins nagios-plugins-all nagios-plugins-nrpe nrpe -y
Mã:
[root@naemon ~]# firewall-cmd --add-service=http --permanentsuccess[root@naemon ~]# firewall-cmd --add-service=https --permanentsuccess[root@naemon ~]# firewall-cmd --reloadsuccess[root@naemon ~]# firewall-cmd --list-allpublic (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:[root@naemon ~]#
Mã:
yum install gcc-c++ rrdtool perl-Time-HiRes perl-rrdtool php-gd php php-cli wget
Mã:
[root@naemon ~]# wget https://svwh.dl.sourceforge.net/project/pnp4nagios/PNP-0.6/pnp4nagios-0.6.25.tar.gz [root@naemon ~]# tar -zxvf pnp4nagios-0.6.25.tar.gz [root@naemon ~]# cd pnp4nagios-0.6.25/[root@naemon pnp4nagios-0.6.25]# ./configure --with-nagios-user=naemon --with-nagios-group=naemon[root@naemon pnp4nagios-0.6.25]# make all[root@naemon pnp4nagios-0.6.25]# make fullinstall[root@naemon pnp4nagios-0.6.25]# make install-webconf[root@naemon pnp4nagios-0.6.25]# make install-config[root@naemon pnp4nagios-0.6.25]# make install-init
Mã:
[root@naemon ~]# systemctl enable httpd && systemctl restart httpd[root@naemon ~]# systemctl enable naemon && systemctl restart naemon[root@naemon ~]# systemctl enable thruk && systemctl restart thruk[root@naemon ~]# systemctl enable npcd && systemctl restart npcd
Tên người dùng mặc định là thrukadmin, mật khẩu là thrukadmin.
Trong trường hợp bạn muốn thay đổi mật khẩu thrukadmin, hãy chạy:
Mã:
[root@naemon ~]# htpasswd /etc/thruk/htpasswd thrukadmin
Cài đặt Máy khách giám sát để giám sát các nút
Cài đặt máy khách nrpe để giám sát máy chủ Linux192.168.1.21 - máy khách nrpe - centos 6
Cài đặt plugin Nagios và máy khách nrpe:
Mã:
[root@centos6 ~]# yum install nagios-plugins nagios-plugins-all nagios-plugins-nrpe nrpe -y
Mã:
[root@centos6 ~]# cp /etc/nagios/nrpe.cfg /etc/nagios/nrpe.cfg.bkp
Mã:
[root@centos6 ~]# cat /etc/nagios/nrpe.cfglog_facility=daemonpid_file=/var/run/nrpe/nrpe.pidnrpe_user=nrpenrpe_group=nrpeallowed_hosts=127.0.0.1,192.168.1.170dont_blame_nrpe=1debug=0command_timeout=60connection_timeout=300include_dir=/etc/nrpe.d/[root@centos6 ~]#
Bây giờ chúng ta cần khởi động lại dịch vụ nrpe:
Mã:
[root@centos6 ~]# service nrpe restart [root@centos6 ~]# chkconfig nrpe on
192.168.1.182 - máy khách nrpe - ubuntu
Mã:
root@ubuntu:~# apt-get install nagios-nrpe-server nagios-plugins -y
Mã:
[root@ubuntu ~]# cp /etc/nagios/nrpe.cfg /etc/nagios/nrpe.cfg.bkp
Mã:
root@ubuntu:~# cat /etc/nagios/nrpe.cfglog_facility=daemonpid_file=/var/run/nagios/nrpe.pidnrpe_user=nagiosnrpe_group=nagiosallowed_hosts=127.0.0.1,192.168.1.170dont_blame_nrpe=1debug=0command_timeout=60connection_timeout=300include_dir=/etc/nagios/nrpe.d/root@ubuntu:~#
Mã:
root@ubuntu:~# systemctl restart nagios-nrpe-server.service root@ubuntu:~# systemctl enable nagios-nrpe-server.service
192.168.1.75 - máy khách nscp - windows server 2012R2
Tải xuống nscp từ trang web này:https://www.nsclient.org/download/
Sau khi tải xuống, vui lòng làm theo ảnh chụp màn hình cài đặt
Chọn chung.
Chọn hoàn tất:
Chọn đường dẫn mặc định:
Bây giờ, trong mục máy chủ được phép, vui lòng thêm máy chủ naemon. Ở đây trong thiết lập của chúng tôi là 192.168.1.170.
Đảm bảo bạn cung cấp mật khẩu phức tạp. Đối với ví dụ này, tôi đã sử dụng mật khẩu là "howtoforge". Tiếp theo, hãy kiểm tra bật nsclient và nrpe.
Sau khi cài đặt hoàn tất, hãy đảm bảo dịch vụ đã được thiết lập và chạy.
Bây giờ chúng ta sẽ xác thực từ máy chủ naemon để đảm bảo chúng ta có thể truy cập được.
Xác thực nrpe và nscp từ Máy chủ Naemon để kiểm tra kết nối
Mã:
[root@naemon ~]# /usr/lib64/nagios/plugins/check_nrpe -H 192.168.1.182NRPE v2.15[root@naemon ~]# /usr/lib64/nagios/plugins/check_nrpe -H 192.168.1.21NRPE v2.15[root@naemon ~]#
Mã:
[root@naemon ~]# /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[root@naemon ~]#
Giám sát máy chủ
Chúng ta sẽ giám sát hiệu suất của máy chủ trong hướng dẫn này.Trong môi trường sản xuất, chúng ta sẽ cần giám sát mức sử dụng CPU, bộ nhớ và ổ cứng, cùng với kiểm tra tình trạng hoạt động của máy chủ.
Thêm các dòng sau vào nrpe conf /etc/nrpe.d/base.cfg
192.168.1.21 - máy khách nrpe - centos 6
Mã:
[root@centos6 ~]# cat /etc/nrpe.d/base.cfglệnh[check_disks]=/usr/lib64/nagios/plugins/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$lệnh[check_disk]=/usr/lib64/nagios/plugins/check_disk -X nfs -X cifs -X none -X tmpfs -w $ARG1$ -c $ARG2$lệnh[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$
Mã:
[root@centos6 ~]# /etc/init.d/nrpe restartĐang tắt máy nrpe: [FAILED]Đang khởi động nrpe: [OK][root@centos6 ~]#
Mã:
[root@centos6 ~]# cd /usr/lib64/nagios/plugins/ [root@centos6 plugins]# vim check_memory
Mã:
#! /usr/bin/perl -w##Bao gồm dữ liệu Perf#Các plugin nagios KHÔNG CÓ BẢO HÀNH HOÀN TOÀN. Bạn có thể phân phối lại#các bản sao của plugin theo các điều khoản của Giấy phép Công cộng GNU.#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 except ($opt_w);$opt_c = shift except ($opt_c);if (! $opt_c && ! $opt_w) { print "Cảnh báo và cảnh báo nghiêm trọng phải được chỉ định\n"; exit 3;}if ($opt_c $opt_c){print "Mức sử dụng bộ nhớ là: QUAN TRỌNG: ${ram_percent}% đã sử dụng | used=$ram_percent;$opt_w;$opt_c\n";exit 2;}elsif ($ram_percent > $opt_w) {print "Mức sử dụng bộ nhớ là: CẢNH BÁO: ${ram_percent}% đã sử dụng | used=$ram_percent;$opt_w;$opt_c\n";exit 1;}else{print "Mức sử dụng bộ nhớ là: $result: ${ram_percent}% đã sử dụng | used=$ram_percent;$opt_w;$opt_c\n";exit 0;}sub print_usage () { print "Mức sử dụng:\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