Cách giám sát cảnh báo Zabbix 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ừ 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 :
- Hai server Ubuntu 16.04 được cài đặt theo hướng dẫn cài đặt server ban đầu Ubuntu 16.04 , bao gồm user không phải root có quyền sudo và firewall .
-  Trên  server  Ubuntu đầu tiên, là nơi bạn sẽ chạy Zabbix, hãy cài đặt các thành phần sau:- Apache, MySQL và PHP, theo hướng dẫn Cách cài đặt ngăn xếp Linux, Apache, MySQL, PHP (LAMP) trên Ubuntu 16.04 .
- Zabbix Server, được cài đặt theo hướng dẫn Cách cài đặt và cấu hình Zabbix để giám sát an toàn server từ xa trên Ubuntu 16.04 và các yêu cầu của nó.
 
-  Trên  server  Ubuntu thứ hai, là nơi  ta  sẽ cài đặt Alerta trong hướng dẫn này, hãy cài đặt các thành phần sau:- Nginx, được cài đặt theo hướng dẫn Cách cài đặt Nginx trên Ubuntu 16.04 .
- MongoDB, được cài đặt theo hướng dẫn Cách cài đặt MongoDB trên Ubuntu 16.04 .
 
- Nếu bạn muốn an toàn giao diện web Alerta như đã giải thích ở bước 6, bạn cần một GitHub account đó là một phần của một tổ chức GitHub. Làm theo hướng dẫn này để tạo tổ chức GitHub.
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 chiếc 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 apt-get install python-pip python-dev 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 Tường lửa không phức tạp (UFW), hãy cấu hình nó để cho phép kết nối với cổng 8080 :
- sudo ufw allow 8080/tcp   
Bạn có thể tìm hiểu thêm về UFW trong Cách  cài đặt  Tường lửa với UFW trên Ubuntu 16.04 .
  Đến đâ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 API Alerta.
Đầ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 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 nano /var/www/html/config.js  
Và đặt endpoint thành /api :
    '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 nano /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:
from alerta.app import app Tiếp theo,  ta  cần cấu hình chính  server  uWSGI. Tạo file  cấu hình /etc/uwsgi.ini và mở nó trong  editor :
- sudo nano /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 :
[uwsgi] chdir = /var/www mount = /api=wsgi.py callable = app manage-script-name = true  master = true processes = 5 logger = syslog:alertad  socket = /tmp/uwsgi.sock chmod-socket = 664 uid = www-data gid = www-data 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 nano /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 :
[Unit] Description=uWSGI service for Alerta After=syslog.target  [Service] ExecStart=/usr/local/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: enabled)        Active: active (running) since Fri 2017-06-09 07:02:14 UTC; 4s ago      Main PID: 19807 (uwsgi)        Status: "uWSGI is ready"         Tasks: 8        Memory: 29.7M           CPU: 477ms        CGroup: /system.slice/alerta-app.service                ├─19807 /usr/local/bin/uwsgi --ini /etc/uwsgi.ini                ├─19819 /usr/local/bin/uwsgi --ini /etc/uwsgi.ini                ├─19820 /usr/local/bin/uwsgi --ini /etc/uwsgi.ini                ├─19821 /usr/local/bin/uwsgi --ini /etc/uwsgi.ini                ├─19822 /usr/local/bin/uwsgi --ini /etc/uwsgi.ini                └─19823 /usr/local/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 nano /etc/nginx/sites-available/alerta 
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.
server {     listen  80;     server_name  your_alerta_server_ip;      location /api { try_files $uri @api; }     location @api {     include uwsgi_params;         uwsgi_pass unix:/tmp/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;     }  }  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.
 Bây giờ kích hoạt trang web bằng cách tạo một  softlink  từ file  này đến folder  sites-enabled , mà Nginx đọc từ đó trong khi khởi động:
- sudo ln -s /etc/nginx/sites-available/alerta /etc/nginx/sites-enabled/ 
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. 
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 nano /etc/alertad.conf 
Thêm mã sau vào file :
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. 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:
- Điền tên ứng dụng với Alerta hoặc tên mô tả phù hợp.
-  Đối với URL Trang chủ , hãy sử dụng http:// your_alerta_server_ip /.
-  Điền vào URL gọi lại Ủy quyền bằng http:// your_alerta_server_ip /.
- Bấm Đăng ký ứng dụng để lưu cài đặt.
- Sao chép các giá trị Client ID và Client 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 nano /etc/alertad.conf 
Thêm các cài đặt sau vào cuối file :
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 nano /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:
    ...         '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 :
- nano ~/.alerta.conf 
Dán phần sau vào file :
[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:
Outputf12558eb-e333-4a10-9c08-7d63f8b0442c (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: 
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 
Ubuntu 16.04 đi kèm với Python 3 được cài đặt và sử dụng python3 làm file  binary . Tại thời điểm xuất bản, các tập lệnh Alerta cho Zabbix yêu cầu Python 2.  Ta  cũng  cần  cài đặt Git để có thể truy xuất mã nguồn từ GitHub. Chạy lệnh sau để cài đặt các gói phần mềm này:
- sudo apt-get install python python-setuptools git 
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:
OutputAlertScriptsPath=/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 loại phương tiện mới bằng cách nhấp vào nút Thêm .
Sau đó xác minh cấu hình cho user và lưu cài đặt 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 messageresource={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 operationsresource={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://your_zabbix_server_ip/zabbix/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.
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. Đối với Loại hoạt động , hãy chọn Gửi tin nhắn khôi phục từ hộp thả xuống.
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.
Đế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 .
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.
Các tin liên quan
Cách cài đặt và cấu hình Zabbix để giám sát an toàn server từ xa trên Ubuntu 16.042017-06-08
how-to-config-an-orientdb-cluster-on-ubuntu-16-04
2017-06-02
Cách cài đặt và cấu hình OpenLDAP và phpLDAPadmin trên Ubuntu 16.04
2017-06-01
Cách bật SFTP mà không cần truy cập Shell trên Ubuntu 16.04
2017-05-31
Cách tạo Go Executables cho nhiều nền tảng trên Ubuntu 16.04
2017-05-30
Cách cài đặt Concourse CI trên Ubuntu 16.04
2017-05-26
Cách giám sát server và dịch vụ bằng Icinga trên Ubuntu 16.04
2017-05-05
Cách thiết lập đồng bộ hóa thời gian trên Ubuntu 16.04
2017-04-28
Cách quản lý log với Graylog 2 trên Ubuntu 16.04
2017-04-25
Cách cài đặt Webmin trên Ubuntu 16.04
2017-04-21
 

