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

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

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 Nagios-to-Alerta Gateway

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 apt-get install -y git curl gcc make libcurl4-openssl-dev

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 '/home/sammy/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 '/home/sammy/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 '/home/sammy/nagios-alerta/src' [ -d /usr/lib/nagios ] || mkdir /usr/lib/nagios install -m 0644 alerta-neb.o /usr/lib/nagios make[1]: Leaving directory '/home/sammy/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 Nagios-to-Alerta Gateway

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

Kiểm tra file log Nagios đảm bảo rằng dịch vụ đang chạy bình thường:

  • tail /usr/local/nagios/var/nagios.log

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

Output
... [1505804481] [alerta] Initialising Nagios-Alerta Gateway module, v3.5.0 [1505804481] [alerta] debug is on [1505804481] [alerta] states=Hard (only) [1505804481] [alerta] Forward service checks, host checks and downtime to http://your_alerta_server_ip/api [1505804481] Event broker module '/usr/lib/nagios/alerta-neb.o' initialized successfully. [1505804481] Successfully launched command file worker with pid 25416

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 Elasticsearch, Logstash và Kibana (ELK Stack) trên Ubuntu 14.04
2017-12-01
Cách cài đặt và sử dụng TensorFlow trên Ubuntu 16.04
2017-12-01
Cách cài đặt Elasticsearch, Logstash và Kibana (ELK Stack) trên Ubuntu 14.04
2017-12-01
Cách cài đặt Jenkins trên Ubuntu 16.04
2017-11-29
Cách tạo thiết lập tính khả dụng cao với Heartbeat và IP nổi trên Ubuntu 16.04
2017-11-22
Cách cài đặt phpIPAM trên Ubuntu 16.04
2017-11-22
Cách sử dụng Logrotate và S3cmd để lưu trữ log vào bộ nhớ đối tượng trên Ubuntu 16.04
2017-11-09
Cách quản lý các tệp log bằng Logrotate trên Ubuntu 16.04
2017-11-09
Cách tạo VPN điểm-điểm với WireGuard trên Ubuntu 16.04
2017-11-09
Cách đánh giá trang web bằng Firefox, Siege và Sproxy trên Ubuntu 16.04
2017-11-07