NỘI DUNG

Hosting tốc độ cao Vietnix - tốc độ tải trang trung bình dưới 1 giây
VPS siêu tốc Vietnix - trải nghiệm mượt mà, ổn định
15/06/2023
Lượt xem

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

15/06/2023
14 phút đọc
Lượt xem

Đánh giá

5/5 - (169 bình chọn)

Alerta là một ứng dụng web dùng để tổng hợp các cảnh báo từ nhiều hệ thống giám sát, đồng thời hiển thị trực quan trên một màn hình duy nhất. Alerta có thể được tích hợp với nhiều công cụ như Nagios, Zabbix, Sensu,… nên được sử dụng rất phổ biến. Bài viết này sẽ hướng dẫn cách theo dõi cảnh báo Nagios với Alerta trên CentOS 7.

Điều kiện để theo dõi cảnh báo Nagios với Alerta trên CentOS 7

Để bắt đầu hướng dẫn, bạn cần có hai server CentOS 7, một user non-root có quyền sudo và một tường lửa.

Điều kiện để theo dõi cảnh báo Nagios với Alerta trên CentOS 7
Điều kiện để theo dõi cảnh báo Nagios với Alerta trên CentOS 7
  • Trong một server CentOS, bạn sẽ chạy Nagios và cài đặt các thành phần sau: Apache, MySQL, PHP. Đồng thời server này cũng sẽ cài đặt Nagios 4 và các thành phần tiên quyết để cấu hình.
  • Ở server thứ hai, bạn sẽ cài đặt Alerta, NginxMongoDB.

Bước 1: Cài đặt module Nagios-to-Alerta Event Broker

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

Trước tiên, đăng nhập vào server Nagios bằng user non-root:

ssh vietnix@your_nagios_server_ip

Nagios-to-Alerta không có các package hệ thống được cấu hình sẵn nên bạn cần phải build từ mã nguồn ngoài. Bây giờ hãy cài đặt một số công cụ phát triển và file từ mã nguồn có trên GitHub.

Chạy lệnh sau để cài đặt Git:

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

Sau đó clone mã nguồn từ GitHub:

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

Thay đổi thư mục nagios-alerta mới, vào trong thư mục rồi biên dịch module bằng lệnh make:

cd nagios-alerta
make nagios4

Output:

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 output không hiển thị như ở trên thì hãy thử kiểm tra xem các công cụ cần thiết đã được cài đặt đầy đủ chưa.

Bây giờ cài đặt module bằng lệnh sau:

sudo make install

Output sẽ cho biết module đã được cài đặt trong thư mục /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'

Nếu bạn đang tìm kiếm một giải pháp VPS tin cậy để triển khai hệ thống giám sát cảnh báo Nagios bằng Alerta trên CentOS 7, hãy tham khảo sử dụng dịch vụ VPS của Vietnix.

Vietnix cung cấp các gói VPS đa dạng, phù hợp với mọi nhu cầu và ngân sách. Dựa trên yêu cầu của bạn, bạn có thể lựa chọn giữa các gói VPS của Vietnix như VPS Giá Rẻ, VPS Phổ Thông, VPS Cao Cấp, VPS NVMe.

Lựa chọn Vietnix, bạn sẽ được hỗ trợ 247 từ đội ngũ chuyên gia giàu kinh nghiệm. Đảm bảo sự ổn định, bảo mật và hiệu suất của hệ thống VPS của bạn.

Truy cập ngay các trang dịch vụ VPS của Vietnix để tìm hiểu thêm thông tin chi tiết.

Bước 2: Cấu hình module Nagios-to-Alerta

Ở bước tiếp theo ta sẽ cấu hình cho Nagios gửi các thông báo đến Alerta.

Đầu tiên bạn cần enable module Alerta vừa cài đặt trong file cấu hình của Nagios. Mở file bằng text editor bất kỳ:

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

Sau đó tìm phần có chứa các directive về “broker_module“:

...
# 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 phải cung cấp hai tham số sau:

  1. URL: Địa chỉ dùng để giao tiếp với API Alerta.
  2. key: API key dùng để xác thực Alerta và đăng event.

Thêm dòng dưới đây vào file để tích hợp Alerta:

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

Có một vài tham số khác bạn có thể tham khảo như sau:

  • env: Chỉ định tên môi trường, mặc định là Production.
  • hard_only: Chỉ chuyển tiếp các kết quả ở trạng thái Hard, bạn có thể đặt giá trị thành 1 để enable chế độ. Các loại trạng thái khác của Nagios State có thể được xem tại: https://assets.nagios.com/downloads/nagioscore/docs/nagioscore/4/en/statetypes.html.
  • debug: Bật chế độ debug cho module, có thể bật bằng cách đặt giá trị thành 1.

Nếu muốn sử dụng mọi option ở trên thì bạn có thể thay thế thành dòng sau:

...
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
...

Sau đó lưu rồi đóng lại file.

Để xác định các cảnh báo dựa vào tên dịch vụ và môi trường, bạn cần thiết lập thêm tên dịch vụ và môi trường bằng các biến đối tượng tùy chỉnh Nagios, cụ thể là các biến _Environment_Service trong cấu hình.

Mở file cấu hình đối tượng host Nagios mặc định trong thư mục /usr/local/nagios/etc/objects:

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

Ta sẽ đánh dấu mọi cảnh báo từ host này là loại Productions và gọi dịch vụ mặc định Nagios. Tìm dòng chứa định nghĩa host như sau:

...
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
        }

...

Sau đó thêm giá trị _Environment_Service vào cấu hình:

...
        host_name               localhost
        alias                         localhost
        address                    127.0.0.1
        _Environment           Production
        _Service                   Nagios
        }
...

Bây giờ hãy đánh dấu mọi event liên quan đến việc thiếu dung lượng trên phân vùng hệ thống thành cảnh báo System. Tìm phần định nghĩa kiểm tra dung lượng trống ở trong file như sau:

...
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%!/
        }
...

Sau đó thêm biến _Service:

...
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 rồi đóng lại file sau khi hoàn tất. Cuối cùng là restart lại Nagios để áp dụng các thay đổi mới:

sudo systemctl restart nagios.service

Kiểm tra trạng thái xem dịch vụ có đang chạy không:

systemctl status nagios.service
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 các thông báo ngay khi bất kỳ hệ thống hay dịch vụ nào gặp lỗi. Ở bước cuối cùng, chúng ta sẽ thử tạo một event để kiểm tra.

Bước 3: Tạo Alert kiểm tra Nagios-Alerta

Theo mặc định thì Nagios sẽ theo dõi dung lượng trống trên server. Ta sẽ tạo một file tạm thời có kích thước đủ lớn để kích hoạt cảnh báo dung lượng hệ thống của Nagios.

Trước tiên, kiểm tra xem server còn bao nhiêu dung lượng trống bằng lệnh sau:

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

Trong trường hợp này thì server còn trống 16GB. Bạn có thể dùng lệnh fallocate để tạo một file mới chiếm hơn 80% dung lượng đĩa hiện có nhằm mục đích kích hoạt cảnh báo:

fallocate -l 14G /tmp/temp.img

Sau đó vài phút, Nagios sẽ hiển thị cảnh báo về dung lượng còn trống và gửi thông báo đến Alerta. Bạn có thể kiểm tra các thông báo mới trong dashboard Alerta như sau:

Thông báo dung lượng còn trống trên Alerta
Thông báo dung lượng còn trống trên Alerta

Như vậy là các cảnh báo đang hoạt động bình thường. Bây giờ hãy xóa file vừa tạo để khôi phục lại dung lượng trên server:

rm -f /tmp/temp.img

Sau đó vài phút, Nagios sẽ tiếp tục gửi thông báo hồi phục. Bạn có thể xem các event đã đóng trên dashboard bằng cách chọn vào Closed. Bên cạnh đó bạn có thể nhấn vào từng hàng event để xem chi tiết hơn.

Danh sách event đã đóng trên Alerta
Danh sách event đã đóng trên Alerta

Vietnix hiện đang là một trong những nhà cung cấp dịch vụ hosting, VPS tốc độ cao uy tín chuyên nghiệp hàng đầu tại Việt Nam với những thành tựu nổi bật sau đây:

  • Hơn 11 năm kinh nghiệm trong lĩnh vực hosting, VPS.
  • Đồng hành cùng sự thành công của hơn 50.000 khách hàng cá nhân và doanh nghiệp.
  • Đã thành công kích hoạt hơn 100.000 dịch vụ và đạt được tỷ lệ đánh giá 5 sao từ 97% khách hàng.
  • Sự tin tưởng và hài lòng của khách hàng còn được chứng minh bởi việc 89% khách hàng đã duy trì sử dụng dịch vụ của Vietnix đến hiện tại.
  • Năm 2022, Vietnix vinh dự nhận giải thưởng Thương hiệu Việt Nam xuất sắc.

Với những thành tựu này, Vietnix tự tin là đối tác VPS đáng tin cậy, mang đến cho bạn dịch vụ VPS tốc độ và trải nghiệm tuyệt vời nhất. Liên hệ ngay với chúng tôi để được hỗ trợ.

  • Địa chỉ: 265 Hồng Lạc, Phường 10, Quận Tân Bình, Thành Phố Hồ Chí Minh
  • Hotline: 1800 1093
  • Email: sales@vietnix.com.vn

Lời kết

Bài viết này đã hướng dẫn cách cấu hình Nagios để gửi thông báo đến server chạy Alerta. Alerta là một công cụ cho phép theo dõi các cảnh báo từ nhiều hệ thống khác nhau. Nếu đang sử dụng nhiều công cụ theo dõi thì bạn cũng có thể tổng hợp thông báo từ nhiều nguồn vào một trang theo dõi duy nhất. Cảm ơn bạn đã theo dõi bài viết.

THEO DÕI VÀ CẬP NHẬT CHỦ ĐỀ BẠN QUAN TÂM

Đăng ký ngay để nhận những thông tin mới nhất từ blog của chúng tôi. Đừng bỏ lỡ cơ hội truy cập kiến thức và tin tức hàng ngày

Chọn chủ đề :

Hưng Nguyễn

Co-Founder
tại

Kết nối với mình qua

Kết nối với mình qua

Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận

Tăng tốc độ website - Nâng tầm giá trị thương hiệu

Banner group
Tăng tốc tải trang

95 điểm

Nâng cao trải nghiệm người dùng

Tăng 8% tỷ lệ chuyển đổi

Thúc đẩy SEO, Google Ads hiệu quả

Tăng tốc ngay

SẢN PHẨM NỔI BẬT

Black Friday Hosting & VPS

Chương trình bắt đầu sau

Giảm giá 40% hosting VPS

50 coupon mỗi ngày

Gia hạn giá không đổi

NHẬN DEAL NGAY
Pattern

7 NGÀY DÙNG THỬ HOSTING

NẮM BẮT CƠ HỘI, THÀNH CÔNG DẪN LỐI

Cùng trải nghiệm dịch vụ hosting tốc độ cao được hơn 100,000 khách hàng sử dụng

Icon
ĐĂNG KÝ NHẬN TÀI LIỆU THÀNH CÔNG
Cảm ơn bạn đã đăng ký nhận tài liệu mới nhất từ Vietnix!
ĐÓNG

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1
Icon
XÁC NHẬN ĐĂNG KÝ DÙNG THỬ THÀNH CÔNG
Cảm ơn bạn đã đăng ký thông tin thành công. Đội ngũ CSKH sẽ liên hệ trực tiếp để kích hoạt dịch vụ cho bạn nhanh nhất!
ĐÓNG