Cách cài đặt máy chủ giám sát Naemon sẵn sàng sản xuất

theanh

Administrator
Nhân viên
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ủ
  • 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 ~]#
Cài đặt kho lưu trữ:
Mã:
[root@naemon ~]# yum -y install https://labs.consol.de/repo/stable/rhel7/x86_64/labs-consol-stable.rhel7.noarch.rpm
bật kho lưu trữ epel:
Mã:
yum -y install epel-release
Cài đặt gói Naemon:
Mã:
[root@naemon ~]# yum install 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:
Mã:
[root@naemon ~]# yum install nagios-plugins nagios-plugins-all nagios-plugins-nrpe nrpe -y
Chúng ta sẽ thêm các quy tắc tường lửa:
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 ~]#
Cài đặt pnp4nagios.
Mã:
yum install gcc-c++ rrdtool perl-Time-HiRes perl-rrdtool php-gd php php-cli wget
Đang tải pnp4nagios.
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
Khởi động lại và kích hoạt dịch vụ.
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
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:
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ủ Linux

192.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
Sao lưu nrpe.cfg:
Mã:
[root@centos6 ~]# cp /etc/nagios/nrpe.cfg /etc/nagios/nrpe.cfg.bkp
Thay thế nội dung của tệp nrpe.conf bằng nội dung bên dưới:
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 ~]#
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:
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
Sao lưu nrpe.cfg:
Mã:
[root@ubuntu ~]# cp /etc/nagios/nrpe.cfg /etc/nagios/nrpe.cfg.bkp
Thay thế nội dung của tệp nrpe.conf bằng nội dung bên dưới:
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:~#
Bây giờ chúng ta cần khởi động lại dịch vụ thenrpe:
Mã:
root@ubuntu:~# systemctl restart nagios-nrpe-server.service root@ubuntu:~# systemctl enable nagios-nrpe-server.service
Cài đặt Nscp trên Windows

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$
Lưu và khởi động lại tệp, sau đó khởi động lại nrpe.
Mã:
[root@centos6 ~]# /etc/init.d/nrpe restartĐang tắt máy nrpe: [FAILED]Đang khởi động nrpe: [OK][root@centos6 ~]#
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.
Mã:
[root@centos6 ~]# cd /usr/lib64/nagios/plugins/ [root@centos6 plugins]# vim check_memory
Thêm nội dung bên dưới.
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
 
Back
Bên trên