Thứ tư, 13/09/2017 | 00:00 GMT+7

Cách theo dõi cảnh báo Nagios với Alerta trên CentOS 7

Alerta là một ứng dụng web được sử dụng để hợp nhất và loại bỏ các cảnh báo trùng lặp từ nhiều hệ thống giám sát và trực quan hóa chúng trên một màn hình. Alerta có thể tích hợp với nhiều công cụ giám sát nổi tiếng như Nagios, Zabbix, Sensu, InfluxData Kapacitor và nhiều công cụ khác.

Trong hướng dẫn này, bạn sẽ cài đặt Alerta và cấu hình nó để hiển thị thông báo từ Nagios , hệ thống giám sát nguồn mở phổ biến.

Yêu cầu

Để làm theo hướng dẫn này, bạn cần :

Bước 1 - Cài đặt Mô-đun nhà broker sự kiện Nagios-to-Alerta

Bạn có thể mở rộng chức năng của Nagios với các module Nagios Event Broker (NEB). NEB là cơ chế tích hợp sự kiện của Nagios và các module NEB là thư viện được chia sẻ cho phép bạn tích hợp các dịch vụ khác với Nagios. Trong bước này, ta sẽ cài đặt Nagios vào Alerta Gateway , module NEB sẽ gửi thông báo đến Alerta.

Đăng nhập vào server Nagios của bạn với quyền là user không phải root của bạn:

  • ssh sammy@your_nagios_server_ip

Nagios to Alerta Gateway không có các gói hệ thống được cấu hình sẵn, vì vậy bạn sẽ phải xây dựng nó từ nguồn. Để làm điều đó, bạn cần cài đặt một số công cụ và file phát triển. Bạn cũng cần cài đặt Git để có thể tìm nạp mã nguồn từ GitHub.

  • sudo yum install -y git curl gcc make libcurl-devel

Với các yêu cầu được cài đặt, hãy sử dụng Git để sao chép mã nguồn từ repository GitHub của dự án:

  • git clone https://github.com/alerta/nagios-alerta.git

Sau đó thay đổi sang folder nagios-alerta :

  • cd nagios-alerta

Sau đó, biên dịch module nagios-alerta bằng cách sử dụng make :

  • make nagios4

Bạn sẽ thấy kết quả sau:

Output
cd ./src && make nagios4 make[1]: Entering directory `/root/nagios-alerta/src' gcc -fPIC -g -O2 -DHAVE_CONFIG_H -I../include -I../include/nagios4 -lcurl -o alerta-neb.o alerta-neb.c -shared -lcurl make[1]: Leaving directory `/root/nagios-alerta/src'

Nếu bạn thấy điều gì đó khác, hãy đảm bảo bạn đã cài đặt tất cả các yêu cầu .

Bây giờ chạy tác vụ cài đặt:

  • sudo make install

Bạn sẽ thấy kết quả này, cho biết module đã được cài đặt trong /usr/lib/nagios :

Output
cd ./src && make install make[1]: Entering directory `/root/nagios-alerta/src' [ -d /usr/lib/nagios ] || mkdir /usr/lib/nagios install -m 0644 alerta-neb.o /usr/lib/nagios make[1]: Leaving directory `/root/nagios-alerta/src'

Với module đã được cài đặt, ta có thể cấu hình Nagios để sử dụng module mới này.

Bước 2 - Cấu hình Mô-đun Nagios-to-Alerta

Hãy cấu hình Nagios để gửi tin nhắn thông báo đến Alerta.

Đầu tiên, kích hoạt module broker Alerta mới được cài đặt trong file cấu hình chính của Nagios. Mở file cấu hình Nagios trong editor :

  • sudo vi /usr/local/nagios/etc/nagios.cfg

Tìm phần chứa chỉ thị broker_module :

/usr/local/nagios/etc/nagios.cfg
... # EVENT BROKER MODULE(S) # This directive is used to specify an event broker module that should # by loaded by Nagios at startup.  Use multiple directives if you want # to load more than one module.  Arguments that should be passed to # the module at startup are separated from the module path by a space. # [...] #broker_module=/somewhere/module1.o #broker_module=/somewhere/module2.o arg1 arg2=3 debug=0 ... 

Để cấu hình module Alerta, bạn cần cung cấp hai đối số bắt buộc:

Thêm dòng này vào file để cấu hình tích hợp Alerta:

/usr/local/nagios/etc/nagios.cfg
... broker_module=/usr/lib/nagios/alerta-neb.o http://your_alerta_server_ip/api key=ALERTA_API_KEY ... 

Có một số đối số tùy chọn bổ sung mà bạn có thể chỉ định:

  • env : Điều này chỉ định tên môi trường. Tên môi trường mặc định là Production .
  • hard_only : Chỉ chuyển tiếp kết quả ở trạng thái Hard. Bạn có thể tìm thêm thông tin về Các loại trạng thái Nagios trong tài liệu Nagios . Đặt giá trị này thành 1 để bật chế độ này.
  • debug : - bật chế độ gỡ lỗi cho module . Đặt giá trị này thành 1 để bật chế độ này.

Để chỉ định tất cả các tùy chọn này, hãy sử dụng dòng này thay thế:

/usr/local/nagios/etc/nagios.cfg
... broker_module=/usr/lib/nagios/alerta-neb.o http://your_alerta_server_ip/api key=ALERTA_API_KEY env=Production hard_only=1 debug=1 ... 

Lưu file và thoát khỏi editor .

Để xác định cảnh báo theo môi trường và tên dịch vụ, bạn cần cài đặt môi trường và tên dịch vụ bằng cách sử dụngBiến đối tượng tùy chỉnh Nagios. Để thực hiện việc này, hãy sử dụng các _Environment_Service trong cấu hình của bạn. Hãy cấu hình chúng ngay bây giờ.

Mở file cấu hình đối tượng server lưu trữ Nagios mặc định, bạn sẽ tìm thấy file này trong folder /usr/local/nagios/etc/objects/ :

  • sudo vi /usr/local/nagios/etc/objects/localhost.cfg

Ta sẽ đánh dấu tất cả các cảnh báo với server này là cảnh báo Sản xuất và ta sẽ gọi dịch vụ mặc định là Nagios . Tìm định nghĩa server sau:

/usr/local/nagios/etc/objects/localhost.cfg
... define host{         use                     linux-server            ; Name of host template to use                                                         ; This host definition will inherit all variables that are defined                                                         ; in (or inherited by) the linux-server host template definition.         host_name               localhost         alias                   localhost         address                 127.0.0.1         }  ... 

Thêm _Environment_Service giá trị đối với cấu hình:

/usr/local/nagios/etc/objects/localhost.cfg
...         host_name               localhost         alias                   localhost         address                 127.0.0.1         _Environment            Production         _Service                Nagios         } ... 

Bây giờ, hãy đánh dấu tất cả các sự kiện liên quan đến việc thiếu dung lượng trên phần mềm hệ thống dưới dạng Cảnh báo hệ thống . Tìm phần này của file xác định cách kiểm tra dung lượng trống:

/usr/local/nagios/etc/objects/localhost.cfg
... define service{         use                             local-service         ; Name of service template to use         host_name                       localhost         service_description             Root Partition         check_command                   check_local_disk!20%!10%!/         } ... 

Sửa đổi nó để liên kết nó với dịch vụ System :

/usr/local/nagios/etc/objects/localhost.cfg
... define service{         use                             local-service         ; Name of service template to use         host_name                       localhost         service_description             Root Partition         check_command                   check_local_disk!20%!10%!/         _Service                        System         } ... 

Lưu file và thoát khỏi editor . Khởi động lại Nagios để áp dụng các cài đặt mới này:

  • sudo systemctl restart nagios.service

Đảm bảo rằng dịch vụ đang chạy bằng cách kiểm tra trạng thái của nó:

  • systemctl status nagios.service

Bạn sẽ thấy kết quả sau:

Output
... Jul 01 08:44:31 nagios nagios[8914]: [alerta] Initialising Nagios-Alerta Gateway module, v3.4.1 Jul 01 08:44:31 nagios nagios[8914]: [alerta] debug is off Jul 01 08:44:31 nagios nagios[8914]: [alerta] states=Hard/Soft Jul 01 08:44:31 nagios nagios[8914]: [alerta] Forward service checks, host checks and downtime to http://your_alerta_server_ip/api Jul 01 08:44:31 nagios nagios[8914]: Event broker module '/usr/lib/nagios/alerta-neb.o' initialized successfully. Jul 01 08:44:31 nagios nagios[8914]: Successfully launched command file worker with pid 8920

Bây giờ Nagios sẽ gửi thông báo ngay khi bất kỳ hệ thống hoặc dịch vụ nào hoạt động. Hãy tạo một sự kiện thử nghiệm.

Bước 3 - Tạo Thông báo Kiểm tra để Xác minh Tích hợp Nagios-Alerta

Hãy tạo một cảnh báo kiểm tra đảm bảo mọi thứ đều được kết nối. Theo mặc định, Nagios theo dõi dung lượng ổ đĩa trống trên server của bạn. Ta sẽ tạo một file tạm thời đủ lớn để kích hoạt cảnh báo sử dụng hệ thống file của Nagios.

Đầu tiên, xác định dung lượng trống bạn có trên server Nagios. Bạn có thể sử dụng lệnh df để tìm hiểu:

  • df -h

Bạn sẽ thấy kết quả như sau:

Output
Filesystem Size Used Avail Use% Mounted on /dev/vda1 20G 3.1G 16G 17% /

Nhìn vào số lượng không gian trống có sẵn. Trong trường hợp này, dung lượng trống là 16GB . Không gian trống của bạn có thể khác nhau.

Sử dụng lệnh fallocate để tạo file chiếm hơn 80% dung lượng đĩa có sẵn, đủ để kích hoạt cảnh báo:

  • fallocate -l 14G /tmp/temp.img

Trong vòng vài phút, Nagios sẽ kích hoạt cảnh báo về dung lượng ổ đĩa trống và sẽ gửi tin nhắn thông báo đến Alerta. Bạn sẽ thấy thông báo mới này trong console Alerta:

Alerta hiển thị cảnh báo dung lượng trống từ Nagios

Đến đây bạn biết các cảnh báo đang hoạt động, hãy xóa file tạm thời bạn đã tạo để bạn có thể lấy lại dung lượng đĩa của bạn :

  • rm -f /tmp/temp.img

Sau một phút, Nagios sẽ gửi tin nhắn khôi phục. Sau đó, cảnh báo sẽ không xuất hiện khỏi console Alerta chính, nhưng bạn có thể xem tất cả các sự kiện đã đóng bằng cách chọn Đã đóng .

Cảnh báo đã đóng của Alerta

Bạn có thể nhấp vào hàng sự kiện để xem thêm chi tiết.

Kết luận

Trong hướng dẫn này, bạn đã cấu hình Nagios để gửi thông báo đến một server khác đang chạy Alerta.

Alerta cung cấp cho bạn một nơi thuận tiện để theo dõi các cảnh báo từ nhiều hệ thống. Ví dụ: nếu một số phần trong cơ sở hạ tầng của bạn sử dụng Nagios và những phần khác sử dụng Zabbix, bạn có thể hợp nhất thông báo từ cả hai hệ thống vào một console .


Tags:

Các tin liên quan

Cách cài đặt MongoDB trên CentOS 7
2017-09-11
Cách cài đặt Nagios 4 và theo dõi server của bạn trên CentOS 7
2017-09-11
Cách cài đặt WordPress với Caddy trên CentOS 7
2017-08-04
Cách cài đặt và sử dụng Webmin trên CentOS 7
2017-07-13
Cách bật SFTP mà không cần quyền truy cập Shell trên CentOS 7
2017-06-01
Cách theo dõi cảnh báo Zabbix với Alerta trên CentOS 7
2017-05-31
Cách cài đặt Perlbrew và quản lý nhiều phiên bản Perl 5 trên CentOS 7
2017-05-31
Cách cấu hình NTP để sử dụng trong Dự án NTP Pool trên CentOS 7
2017-05-11
Cách lưu trữ một trang web với Caddy trên CentOS 7
2017-05-10
Cách cài đặt và cấu hình Ghost trên CentOS 7
2017-04-10