Thứ tư, 31/05/2017 | 00:00 GMT+7

Cách theo dõi cảnh báo Zabbix 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ừ hệ thống giám sát Zabbix.

Yêu cầu

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

Bước 1 - Cài đặt Server API của Alerta

Alerta bao gồm một server và một giao diện web. Server Alerta chịu trách nhiệm lưu trữ và xử lý các cảnh báo, đồng thời phân phát JSON thông qua một API. Giao diện web Alerta cho phép bạn xem danh sách cảnh báo trong trình duyệt, vì vậy bạn không cần phải tự diễn giải JSON. Ta sẽ cài đặt cả hai thành phần trên server nơi ta đã cài đặt MongoDB và Nginx. Ta sẽ gọi máy này là server Alerta trong suốt hướng dẫn này. Đăng nhập vào máy này với quyền là user không phải root của bạn:

  • ssh sammy@your_alerta_server_ip

Trước khi có thể cài đặt bất kỳ thành phần Alerta nào, ta cần cài đặt pip , trình quản lý gói Python và các file phát triển Python. Ta cũng cần cài đặt Git để có thể truy xuất mã nguồn của Alerta từ GitHub.

Chạy lệnh sau để cài đặt các gói phần mềm này:

  • sudo yum install python-pip python-devel gcc git

Sau khi các gói này cài đặt, ta đã sẵn sàng cài đặt Alerta.

Đầu tiên, ta sẽ cài đặt server của Alerta bằng cách sử dụng pip :

  • sudo pip install alerta-server

Kiểm tra cài đặt bằng cách chạy server Alerta ở chế độ phát triển:

  • sudo alertad

Bạn sẽ thấy thông tin như :

Output
* Running on http://0.0.0.0:8080/ (Press CTRL+C to quit)

Lưu ý: Nếu bạn đang sử dụng FirewallD, hãy cấu hình nó để cho phép kết nối với cổng 8080 :

  • sudo firewall-cmd --zone=public --permanent --add-port=8080/tcp
  • sudo firewall-cmd --reload

Bạn có thể tìm hiểu thêm về Firewalld trong Cách cài đặt firewall bằng FirewallD trên CentOS 7 .

Như vậy, bạn có thể mở http:// your_alerta_server_ip :8080 trong trình duyệt của bạn và xem trang web API Alerta, trang này sẽ hiển thị cho bạn một số ví dụ sử dụng.

Khi bạn đã xác minh server đang chạy, hãy dừng server bằng cách nhấn CTRL+C Ta sẽ sớm cấu hình nó như một dịch vụ.

Server API Alerta đã được cài đặt, vì vậy hãy cài đặt console web.

Bước 2 - Cài đặt giao diện user Web Alerta

Alerta có một console hiển thị các thông báo trong trình duyệt của bạn. Nó hiển thị các thông báo cảnh báo trong các bảng, vì vậy bạn có thể đọc và sắp xếp chúng một cách dễ dàng. Bạn có thể cấu hình dạng xem để đáp ứng nhu cầu của bạn : bạn có thể lọc thư hoặc sắp xếp chúng theo bất kỳ trường nào. Ngoài ra, bạn có thể xem thông tin chi tiết cho từng tin nhắn. Ta sẽ cài đặt điều này trên cùng một server mà ta đã cài đặt server APIAlerta.

Đầu tiên hãy lấy mã nguồn từ Github:

  • git clone https://github.com/alerta/angular-alerta-webui.git

Sau đó, sao chép các file ứng dụng vào folder web server của bạn:

  • sudo mkdir -p /var/www/html/
  • sudo cp -r angular-alerta-webui/app/* /var/www/html/

Theo mặc định, giao diện web của Alerta được cấu hình để giao tiếp với API server phát triển, đang chạy trên cổng 8080 . Ta sẽ cài đặt điều này để sử dụng trong production bằng cách cung cấp API của Server Alerta tại điểm cuối /api trên server của ta và cung cấp nội dung tĩnh của console web từ cùng một domain , điều này cho phép ta tránh các sự cố với CORS hoặc nội dung hỗn hợp HTTPS lỗi.

Mở file cấu hình config.js :

  • sudo vi /var/www/html/config.js

Và đặt endpoint thành /api :

/var/www/html/config.js
    'use strict';      angular.module('config', [])       .constant('config', {         'endpoint'    : "/api",         'provider'    : "basic", // google, github, gitlab, keycloak or basic     ... 

Để các tùy chọn khác ở giá trị mặc định của chúng. Ta sẽ thay đổi một số trong số chúng sau trong hướng dẫn này khi ta cấu hình ủy quyền OAuth.

Bây giờ tất cả các thành phần Alerta cần thiết đã được cài đặt. Ta chỉ cần cài đặt chúng để làm việc cùng nhau.

Bước 3 - Chạy Alerta với uWSGI Behind Nginx.

Ta có thể sử dụng server phát triển alertad cho một số thử nghiệm nhanh, nhưng nó không tốt cho việc sử dụng production , vì vậy hãy khắc phục điều đó. Vì Alerta được viết bằng Python nên ta cần sử dụng server WSGI để chạy nó. Trong hướng dẫn này, ta sẽ chạy Alerta như một ứng dụng uWSGI được hỗ trợ bởi Nginx, tại http:// your_alerta_server_ip /api .

Trước tiên, hãy cài đặt server ứng dụng uWSGI bằng trình quản lý gói Python:

  • sudo pip install uwsgi

Tiếp theo, tạo file wsgi.py , file mà server ứng dụng sử dụng để giao tiếp với ứng dụng của ta . Mở file trong editor :

  • sudo vi /var/www/wsgi.py

Thêm dòng sau vào file , dòng này cho uWSGI biết cách gọi ứng dụng Alerta:

/var/www/wsgi.py
from alerta.app import app 

Tiếp theo, ta cần cấu hình chính server uWSGI. Tạo một folder nơi uWSGI có thể lưu trữ file socket của nó và đảm bảo tiến trình Nginx có thể truy cập nó:

  • sudo mkdir /var/run/alerta
  • sudo chown -R nginx.nginx /var/run/alerta/

Sau đó, tạo file cấu hình /etc/uwsgi.ini và mở nó trong editor :

  • sudo vi /etc/uwsgi.ini

Tệp này chỉ định vị trí của ứng dụng, cùng với các tùy chọn socket để tương tác với Nginx.

Thêm các dòng sau vào file :

/etc/uwsgi.ini
[uwsgi] chdir = /var/www mount = /api=wsgi.py callable = app manage-script-name = true  master = true processes = 5 logger = syslog:alertad  socket = /var/run/alerta/uwsgi.sock chmod-socket = 664 uid = nginx gid = nginx vacuum = true  die-on-term = true 

Bạn có thể xem danh sách tham khảo đầy đủ về các tùy chọn uWSGI trong tài liệu .

Tiếp theo, ta sẽ tạo một đơn vị Systemd cho ứng dụng này để ta có thể điều khiển nó bằng lệnh systemctl .

  • sudo vi /etc/systemd/system/alerta-app.service

Tệp đơn vị này cần một số chỉ thị cấu hình mô tả đơn vị và xác định hành vi của nó. Thêm các dòng sau vào file :

/etc/systemd/system/alerta-app.service
[Unit] Description=uWSGI service for Alerta After=syslog.target  [Service] ExecStart=/usr/bin/uwsgi --ini /etc/uwsgi.ini RuntimeDirectory=uwsgi Restart=always KillSignal=SIGQUIT Type=notify StandardError=syslog NotifyAccess=all  [Install] WantedBy=multi-user.target 

Bạn có thể tìm thêm thông tin về các cài đặt này và cách làm việc với các đơn vị Systemd trong hướng dẫn Systemd này .

Đến đây bạn có thể chạy dịch vụ uWSGI:

  • sudo systemctl start alerta-app

Bạn có thể kiểm tra trạng thái bằng lệnh:

  • systemctl status alerta-app

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

Output
alerta-app.service - uWSGI service for Alerta Loaded: loaded (/etc/systemd/system/alerta-app.service; disabled; vendor preset: disabled) Active: active (running) since Fri 2017-04-07 12:15:21 EEST; 2min 25s ago Main PID: 15935 (uwsgi) Status: "uWSGI is ready" CGroup: /system.slice/alerta-app.service ├─15935 /usr/bin/uwsgi --ini /etc/uwsgi.ini ├─15946 /usr/bin/uwsgi --ini /etc/uwsgi.ini ├─15947 /usr/bin/uwsgi --ini /etc/uwsgi.ini ├─15948 /usr/bin/uwsgi --ini /etc/uwsgi.ini ├─15949 /usr/bin/uwsgi --ini /etc/uwsgi.ini └─15950 /usr/bin/uwsgi --ini /etc/uwsgi.ini

Như bạn thấy , dịch vụ bị tắt theo mặc định, nghĩa là nó sẽ không tự động khởi động. Kích hoạt nó:

  • sudo systemctl enable alerta-app

Cuối cùng, ta phải cấu hình Nginx để chuyển hướng tất cả các yêu cầu cho your_alerta_server_ip /api đến server uWSGI đang chạy và phục vụ giao diện user web với Nginx.

Thay vì sửa đổi file cấu hình Nginx mặc định, ta sẽ đặt cấu hình Alerta trong file riêng của nó.

  • sudo vi /etc/nginx/conf.d/alerta.conf

Thêm nội dung sau vào file . Đảm bảo thay thế giá trị cho server_name bằng địa chỉ IP của server Alerta của bạn.

/etc/nginx/conf.d/alerta.conf
server {     listen  80;     server_name  your_alerta_server_ip;      location /api { try_files $uri @api; }     location @api {     include uwsgi_params;         uwsgi_pass unix:/var/run/alerta/uwsgi.sock;         proxy_set_header Host $host:$server_port;         proxy_set_header X-Real-IP $remote_addr;         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;     }      location / {         root /var/www/html;     }      error_page  500 502 503 504  /50x.html;     location = /50x.html {         root  /usr/share/nginx/html;     } }  

Bạn có thể tìm thêm thông tin về các khối server Nginx trong hướng dẫn này.

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

Tiếp theo, kiểm tra cấu hình Nginx đảm bảo không có lỗi chính tả hoặc cấu hình sai:

  • sudo nginx -t

Bạn sẽ thấy kết quả sau, miễn là không có lỗi nào với cấu hình của bạn:

Output
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful

Nếu bạn thấy điều gì đó khác, hãy giải quyết các lỗi và thử lại.

Đến đây bạn có thể reload Nginx để áp dụng cài đặt mới:

  • sudo nginx -s reload

Mở liên kết http:// your_alerta_server_ip trong trình duyệt của bạn và xem console Alerta.

 Control panel  Alerta

Nếu bạn cài đặt Alerta trên một server có thể truy cập công cộng, bạn nên cấu hình nó để yêu cầu xác thực. Hãy xem xét một số phương pháp để làm điều đó.

Bước 4 - Bảo mật Alerta với Xác thực Cơ bản

Theo mặc định, bất kỳ ai biết địa chỉ của server Alerta đều có thể xem bất kỳ thư nào. Nó có thể chấp nhận được đối với môi trường thử nghiệm, nhưng không được chấp nhận đối với production . Để thực thi xác thực, hãy mở file cấu hình alertad.conf :

  • sudo vi /etc/alertad.conf

Thêm mã sau vào file :

/etc/alertad.conf
AUTH_REQUIRED = True SECRET_KEY = 'secret_key' 

Đặt SECRET_KEY thành một chuỗi ngẫu nhiên mà bạn chọn. Lưu file , thoát khỏi editor và khởi động lại dịch vụ uWSGI:

  • sudo systemctl restart alerta-app

Reload trang web Giao diện user Web Alerta và chọn liên kết Đăng nhập trong menu. Bạn sẽ thấy thông báo "Vui lòng đăng nhập để tiếp tục". Nhấp vào liên kết Tạo account và tạo account mới. Sau khi hoàn tất quy trình, bạn sẽ có quyền truy cập vào console Alerta.

Sau khi cài đặt xác thực , bạn cần khóa API để truy cập API Alerta. Chọn menu Cấu hình và chọn khóa API .

Nhập tên của ứng dụng yêu cầu quyền truy cập vào API. Đối với hướng dẫn này, hãy nhập zabix . Sau đó, chọn đọc-ghi từ menu thả xuống và nhấp vào nút Tạo khóa API mới . Khóa mới sẽ được tạo và bạn sẽ thấy chi tiết của nó. Sao chép khóa này; bạn cần nó sau này.

Ngoài ra, bạn có thể cài đặt xác thực OAuth và sử dụng thông tin đăng nhập GitHub hoặc Google của bạn để đăng nhập vào giao diện user Alerta. Nếu xác thực Cơ bản là đủ, bạn có thể bỏ qua bước tiếp theo.

Bước 5 - Bảo mật Alerta bằng OAuth (tùy chọn)

Giao diện user Web của Alerta hỗ trợ xác thực OAuth cho Google, GitHub, Gitlab và Keycloak. Ta sẽ cấu hình đăng nhập qua account GitHub , vì vậy bạn cần một account để tiếp tục.

Đầu tiên, đăng ký một ứng dụng mới với GitHub. Đăng nhập vào account GitHub của bạn và chuyển đến trang Ứng dụng mới. .

Điền vào biểu mẫu với các chi tiết sau:

  1. Điền tên ứng dụng với Alerta hoặc tên mô tả phù hợp.
  2. Đối với URL Trang chủ , hãy sử dụng http:// your_alerta_server_ip / .
  3. Điền vào URL gọi lại Ủy quyền bằng http:// your_alerta_server_ip / .
  4. Bấm Đăng ký ứng dụng để lưu cài đặt.
  5. Sao chép các giá trị Client IDClient Secret được cung cấp trên màn hình tiếp theo.

Tiếp theo, chỉnh sửa cấu hình Alerta để cài đặt xác thực OAuth. Mở file cấu hình:

  • sudo vi /etc/alertad.conf

Thêm các cài đặt sau vào cuối file :

/etc/alertad.conf
OAUTH2_CLIENT_ID = 'your_github_client_id' OAUTH2_CLIENT_SECRET = 'your_github_client_secret' ALLOWED_GITHUB_ORGS = ['your_github_organization'] 

Sử dụng ID ứng dụng client GitHub, Bí mật ứng dụng client GitHub và Tổ chức GitHub cho các giá trị này, tương ứng.

Cảnh báo : Nếu bạn bỏ qua tùy chọn tổ chức GitHub khỏi lệnh, mọi user GitHub sẽ có thể đăng nhập vào console Alerta của bạn. Tạo tổ chức GitHub và thêm user thích hợp vào tổ chức để hạn chế quyền truy cập.

Lưu file , thoát khỏi editor và khởi động lại dịch vụ uWSGI:

  • sudo systemctl restart alerta-app

Sau đó, thay đổi nhà cung cấp xác thực cho giao diện web. Chỉnh sửa file cấu hình của nó:

  • sudo vi /var/www/html/config.js

Tìm phần sau và thay đổi nhà cung cấp từ basic thành github và nhập ID ứng dụng client GitHub của bạn:

/var/www/html/config.js
    ...         'provider'    : "github",         'client_id'   : "INSERT-CLIENT-ID-HERE",     ... 

Mở http:// your_alerta_server_ip để truy cập giao diện user Web Alerta. Lần này bạn sẽ thấy thông báo "Vui lòng đăng nhập để tiếp tục". Nhấp vào nút Đăng nhập để đăng nhập và bạn cần cho phép ứng dụng truy cập vào account GitHub của bạn . Khi bạn cho phép truy cập, bạn sẽ đăng nhập.

Bây giờ ta có thể chạy một bài kiểm tra đơn giản để kiểm tra xem Alerta có được cài đặt và hoạt động chính xác hay không.

Bước 6 - Gửi tin nhắn kiểm tra

Ta sẽ sử dụng công cụ dòng lệnh hợp nhất của Alerta để gửi cảnh báo thử nghiệm. Đầu tiên, hãy cài đặt ứng dụng dòng lệnh:

  • sudo pip install alerta

Sau đó, tạo file cấu hình xác định điểm cuối API Alerta mà bạn đã cấu hình trước đó, cùng với khóa API bạn muốn sử dụng. Tạo một file mới trong editor :

  • vi ~/.alerta.conf

Dán phần sau vào file :

~ / .alerta.conf
[DEFAULT] endpoint = http://your_alerta_server_ip/api key=your_alerta_api_key 

Sử dụng khóa API bạn đã cài đặt ở Bước 4 cho tùy chọn key .

Bây giờ ta có thể gửi một cảnh báo kiểm tra:

  • alerta send --resource webserver01 --event down --environment Production --service Website01 --severity major --text "Web server 01 is down." --value ERROR

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

Output
1015fca2-eff6-441d-8c66-6abf9368b830 (indeterminate -> major)

Truy cập http:// your_alerta_server_ip trong trình duyệt của bạn và bạn sẽ thấy một thông báo trên trang tổng quan giống như trong hình sau:

Alerta hiển thị cảnh báo kiểm tra

Bạn có thể bấm vào tin nhắn để xem chi tiết.

Server Alerta của bạn đang hoạt động và đang chờ tin nhắn mới. Hãy cấu hình hệ thống giám sát Zabbix của ta để gửi cảnh báo đến Alerta.

Bước 7 - Cài đặt Zabbix-Alerta Gateway

Trong bước này, ta sẽ sửa đổi hệ thống giám sát Zabbix của bạn để gửi tin nhắn thông báo đến Alerta.

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

  • ssh sammy@your_zabbix_server_ip

Theo mặc định, Zabbix có thể gửi thông báo bằng e-mail, SMS hoặc tin nhắn Jabber, nhưng bạn có thể thêm trình xử lý thông báo mới bằng cách sử dụng tập lệnh. Các nhà phát triển Alerta cung cấp một tập lệnh thông báo được tạo sẵn. Để cài đặt nó, hãy sao chép repository zabbix-alerta và cài đặt nó bằng cách sử dụng lệnh cài đặt :

  • git clone https://github.com/alerta/zabbix-alerta.git
  • cd zabbix-alerta
  • sudo python setup.py install

Sau đó, tạo một softlink cho tập lệnh zabbix-alerta trong folder nơi Zabbix lưu trữ các tập lệnh cảnh báo. Bạn có thể tìm thấy đường dẫn của nó trong file cấu hình /etc/zabbix/zabbix_server.conf :

  • sudo grep -e '^AlertScriptsPath' /etc/zabbix/zabbix_server.conf

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

Output
AlertScriptsPath=/usr/lib/zabbix/alertscripts

Theo mặc định, Zabbix tìm kiếm các tập lệnh trong /usr/lib/zabbix/alertscripts . Thực thi lệnh sau để tạo softlink :

  • sudo ln -s `which zabbix-alerta` /usr/lib/zabbix/alertscripts

Hãy cấu hình tích hợp Alerta. Đăng nhập vào giao diện web Zabbix của bạn tại http:// your_zabbix_server_ip /zabbix/ .

Trong menu chính, nhấp vào Quản trị , chọn Loại phương tiện và nhấp vào nút Tạo loại phương tiện ở góc trên cùng bên phải.

Điền vào biểu mẫu với các chi tiết sau:

  • Đối với Tên , nhập Alerta .
  • Đối với Loại , hãy chọn Tập lệnh từ menu thả xuống.
  • Đối với tên Tập lệnh , hãy nhập zabbix-alerta .
  • Đối với các tham số Tập lệnh , hãy nhập các giá trị sau:
    • {ALERT.SENDTO}
    • {ALERT.SUBJECT}
    • {ALERT.MESSAGE}
  • Đảm bảo hộp kiểm Đã bật được chọn.

Nhấp vào nút Thêm để tạo loại phương tiện mới.

Sau đó, thêm phương tiện mới cho account user của bạn. Chọn Quản trị trong menu chính, sau đó chọn User . Nhấp vào tên user của bạn và chọn tab Phương tiện . Nhập các chi tiết sau

  • Đối với Type, chọn Alerta.
  • Đối với Gửi tới , hãy nhập http:// your_alerta_server_ip /api; your_api_key .

Sử dụng khóa API bạn đã tạo ở Bước 4.

Lưu cấu hình bằng cách nhấp vào nút Cập nhật .

Bây giờ, hãy cấu hình một hành động để gửi tin nhắn. Chọn Cấu hình trong menu chính, sau đó chọn Hành động . Nhấp vào nút Tạo Hành động .

Trên tab Hành động , đặt giá trị của trường Tên thành Forward to Alerta .

Trên tab Hoạt động , hãy đặt các tùy chọn sau:

  • Đặt chủ đề Mặc định thành {TRIGGER.STATUS}: {TRIGGER.NAME}
  • Đối với tin nhắn Mặc định , hãy nhập văn bản sau:
Default message
resource={HOST.NAME1} event={ITEM.KEY1} environment=Production severity={TRIGGER.SEVERITY} status={TRIGGER.STATUS} ack={EVENT.ACK.STATUS} service={TRIGGER.HOSTGROUP.NAME} group=Zabbix value={ITEM.VALUE1} text={TRIGGER.STATUS}: {TRIGGER.NAME} tags={EVENT.TAGS} attributes.ip={HOST.IP1} attributes.thresholdInfo={TRIGGER.TEMPLATE.NAME}: {TRIGGER.EXPRESSION} type=zabbixAlert dateTime={EVENT.DATE}T{EVENT.TIME}Z

Zabbix sẽ gửi tin nhắn ở định dạng được chỉ định khi phát hiện ra sự cố. Nó sẽ thay thế các biểu thức trong ngoặc nhọn bằng các giá trị tương ứng. Tất cả các trường này là cần thiết để Alerta nhận được cảnh báo và hiển thị chính xác.

Tiếp theo, tạo một hoạt động mới bằng cách nhấn mới trong lĩnh vực hoạt động. Nhập các giá trị sau vào biểu mẫu:

  • Đối với Gửi cho user , hãy nhập Your user name .
  • Đối Gửi tin duy nhất, chọn Alerta từ hộp thả xuống.

Sau đó chọn tab Hoạt động khôi phục và thay đổi thông báo Mặc định thành như sau:

Recovery operations
resource={HOST.NAME1} event={ITEM.KEY1} environment=Production severity={TRIGGER.SEVERITY} status={TRIGGER.STATUS} ack={EVENT.ACK.STATUS} service={TRIGGER.HOSTGROUP.NAME} group=Zabbix value={ITEM.VALUE1} text={TRIGGER.STATUS}: {ITEM.NAME1} tags={EVENT.RECOVERY.TAGS} attributes.ip={HOST.IP1} attributes.thresholdInfo={TRIGGER.TEMPLATE.NAME}: {TRIGGER.EXPRESSION} attributes.moreInfo=<a href="http://x.x.x.x/tr_events.php?triggerid={TRIGGER.ID}&eventid={EVENT.RECOVERY.ID}">Zabbix console</a> type=zabbixAlert dateTime={EVENT.RECOVERY.DATE}T{EVENT.RECOVERY.TIME}Z

Tin nhắn này tương tự như tin nhắn trước đó. Thông báo này sẽ được gửi khi sự cố biến mất.

Hoàn thành cấu hình bằng cách nhấp vào nút Thêm .

Zabbix đã sẵn sàng gửi cảnh báo đến Alerta. Hãy tạo một cái.

Bước 8 - Tạo thông báo kiểm tra để xác minh tích hợp Zabbix-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, Zabbix 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 Zabbix.

Đăng nhập vào server Zabbix của bạn nếu bạn chưa kết nối.

Tiếp theo, xác định bạn có bao nhiêu dung lượng trống trên server . 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 1.5G 18G 9% /

Ta quan tâm đến số lượng không gian trống. Trong trường hợp này, dung lượng trống là 18GB . 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 16G /tmp/temp.img

Trong vòng vài phút, Zabbix sẽ kích hoạt cảnh báo về dung lượng ổ đĩa trống và sẽ chạy hành động mà ta đã cấu hình , gửi 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ừ Zabbix

Đế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, Zabbix sẽ gửi thông báo khôi phục. Cảnh báo sẽ không xuất hiện khỏi trang tổng quan 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, hiển thị cảnh báo không gian trống đã giải quyết.

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ài đặt và cấu hình Alerta, đồng thời cài đặt Zabbix để gửi thông báo vào đó. Kết quả là bây giờ bạn có một công cụ tiện lợi để theo dõi các cảnh báo. Trong tương lai, bạn có thể thêm các nguồn thông báo khác, từ đó hợp nhất và tập trung thông tin từ các hệ thống giám sát khác nhau.


Tags:

Các tin liên quan

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
Cách cấu hình một client FreeIPA trên CentOS 7
2017-03-24
Cách theo dõi các chỉ số hệ thống bằng TICK Stack trên CentOS 7
2017-03-12
Cách thiết lập xác thực đa yếu tố cho SSH trên CentOS 7
2017-03-08
Cách cài đặt và bảo mật message broker MQTT Mosquitto trên CentOS 7
2017-01-23
Cách thay đổi thư mục dữ liệu MariaDB thành vị trí mới trên CentOS 7
2016-12-19
Cách cài đặt và cấu hình Ansible trên CentOS 7
2016-12-19