Cách giám sát Zabbix Alerts với Alerta trên Ubuntu 16.04
Giới thiệu
Alerta là một ứng dụng web được sử dụng để hợp nhất và hủy cảnh báo 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 duy nhất. 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ẽ thiết lập Alerta và định dạng nó để hiển thị thông báo từ hệ thống giám sát Zabbix.
Điều kiện tiên quyết
Để làm theo hướng dẫn, bạn cần:
- Hai Ubuntu 16.04 servers được thiết lập theo hướng dẫn này, gồm một sudo non-root user và một tường lửa.
- Trên Ubuntu server đầu tiên, nơi bạn chạy Zabbix, hãy cài đặt các thành phần sau:
- Apache, MySQL, và PHP, theo hướng dẫn này.
- Zabbix Server.
- Trên máy chủ Ubuntu thứ hai, nơi chúng ta 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 này.
- MongoDB, được cài đặt theo hướng dẫn này.
- Nếu muốn bảo vệ giao diện web Alerta như được giải thích trong Bước 6, bạn cần một tài khoản GitHub thuộc tổ chức GitHub.
Bước 1— Cài đặt Alerta's API Server
Alerta bao gồm một server và một giao diện web. Alerta server chịu trách nhiệm lưu trữ, xử lý cảnh báo và phân phát JSON thông qua API. Giao diện web Alerta cho phép bạn xem danh sách cảnh báo trong trình duyệt, do đó bạn không phải tự giải thích JSON. Chúng ta sẽ cài đặt cả hai thành phần trên máy chủ đã cài đặt MongoDB và Nginx. Chúng ta gọi máy này là "Alerta server" trong suốt hướng dẫn này. Đăng nhập vào máy này với tư cách là non-root user:
ssh sammy@your_alerta_server_ip
Trước khi thể cài đặt bất kỳ thành phần Alerta nào, chúng ta cần cài đặt pip, trình quản lý gói Python và các tệp phát triển Python. Chúng ta cũng sẽ cần Git cài đặt để lấy 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
Khi các gói này được cài đặt, chúng ta sẵn sàng cài đặt Alerta.
Trước tiên, sẽ cài đặt máy chủ Alerta bằng pip
:
sudo pip install alerta-server
Kiểm tra cài đặt bằng cách chạy Alerta server ở chế độ phát triển:
sudo alertad
Bạn sẽ thấy một điều gì đó 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 Uncomplicated Firewall (UFW),định dạng nó để cho phép kết nối đến cổng 8080
:
sudo ufw allow 8080/tcp
Bạn có thể tìm hiểu thêm về UFW tại đây.
Bây giờ bạn có thể mở http://your_alerta_server_ip:8080 trong trình duyệt của mình và xem trang web Alerta API, trang này sẽ hiển thị cho bạn một số ví dụ sử dụng.
Khi đã xác minh server đang chạy, hãy dừng server bằng cách nhấn Ctrl+C. Chúng ta sẽ sớm định cấu hình nó như một dịch vụ.
API Alerta server được cài đặt, vì vậy hãy cài đặt bảng điều khiển web.
Bước 2 - Cài đặt giao diện người dùng Web Alerta
Alerta có bảng điều khiển hiển thị thông báo trong trình duyệt của bạn. Nó hiển thị thông báo cảnh báo trong 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ể định cấu hình chế độ xem để đáp ứng nhu cầu của mình: lọc tin nhắn 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. Chúng ta sẽ cài đặt nó trên cùng một server, nơi đã cài đặt Alerta API server.
Đầu tiên lấy mã nguồn từ Github:
git clone https://github.com/alerta/angular-alerta-webui.git
Sau đó sao chép các tệp ứng dụng vào thư mục 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 định dạng để giao tiếp với development server API đang chạy trên cổng 8080. Chúng ta sẽ thiết lập điều này để sử dụng sản phẩm bằng cách cung cấp API của Alerta Server tại điểm cuối /api trên server của chúng ta và phân phát nội dung tĩnh của giao diện điều khiển web từ cùng một miền, cho phép tránh các sự cố với CORS hoặc lỗi nội dung hỗn hợp HTTPS.
Mở tệp 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 ở các giá trị mặc định của chúng. Chúng ta sẽ thay đổi một vài trong số chúng sau trong hướng dẫn này khi định 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. Chúng ta chỉ cần thiết lập chúng để làm việc cùng nhau.
Bước 3 - Chạy Alerta với uWSGI sau Nginx.
Chúng ta có thể sử dụng alertad
development server cho một số kiểm tra nhanh, nhưng không tốt cho việc sử dụng sản xuất, vì vậy hãy sửa lỗi đó. Vì Alerta được viết bằng Python, nên cần sử dụng một WSGI server để chạy nó. Trong hướng dẫn này, chúng ta sẽ chạy Alerta như là một ứng dụng uWSGI được ủy quyền sau Nginx, tại http://your_alerta_server_ip/api
.
Trước tiên, cài đặt uWSGI application server bằng cách sử dụng trình quản lý gói Python:
sudo pip install uwsgi
Tiếp theo, tạo tệp wsgi.py, mà application server sử dụng để giao tiếp với ứng dụng. Mở tệp trong trình chỉnh sửa của bạn:
sudo nano /var/www/wsgi.py
Thêm dòng sau vào tệp, thông báo cho uWSGI cách gọi ứng dụng Alerta:
from alerta.app import app
Tiếp theo, chúng ta cần định cấu hình chính uWSGI server. Tạo tập tin cấu hình /etc/uwsgi.ini và mở nó trong trình soạn thảo của bạn:
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 tệp:
[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 đủ các tùy chọn uWSGI trong tài liệu.
Tiếp theo, chúng ta sẽ tạo một đơn vị Systemd cho ứng dụng này để có thể kiểm soát 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 tệp:
[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ây giờ 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 cách chạy:
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ư có thể thấy, dịch vụ bị tắt theo mặc định, có nghĩa là dịch vụ sẽ không tự động khởi động. Hãy kích hoạt nó:
sudo systemctl enable alerta-app
Cuối cùng, phải định dạng Nginx để chuyển hướng các yêu cầu cho your_alerta_server_ip/api
đến uWSGI server đang chạy và phục vụ web front-end với Nginx.
Thay vì sửa đổi tệp cấu hình Nginx mặc định, chúng ta sẽ đặt cấu hình Alerta trong tệp riêng của nó.
sudo nano /etc/nginx/sites-available/alerta
Thêm các nội dung sau vào tệp. Hãy chắc chắn thay thế giá trị cho server_name bằng địa chỉ IP của Alerta server 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ây giờ kích hoạt trang bằng cách tạo một liên kết tượng trưng từ tệp này đến thư mục sites-enabled, mà Nginx đọc từ khi khởi động:
sudo ln -s /etc/nginx/sites-available/alerta /etc/nginx/sites-enabled/
Lưu tệp và thoát khỏi trình chỉnh sửa.
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 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 thấy điều gì đó khác, hãy giải quyết các lỗi và thử lại.
Bây giờ bạn có thể tải lại Nginx để áp dụng các 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 trang tổng quan Alerta.
Nếu bạn cài đặt Alerta trên server có thể truy cập công cộng, bạn nên định cấu hình nó để yêu cầu xác thực. Hãy xem xét một vài phương pháp để làm điều đó.
Bước 4 - Bảo mật Alerta bằng Basic Authentication
Theo mặc định, bất kỳ ai biết địa chỉ Alerta server đề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 cho sản xuất. Để thực thi xác thực, hãy mở tệp cấu hình alertad.conf:
sudo nano /etc/alertad.conf
Thêm mã sau vào tệp:
AUTH_REQUIRED = True
SECRET_KEY = 'secret_key'
Đặt SECRET_KEY thành chuỗi ngẫu nhiên bạn chọn. Lưu tệp, thoát trình chỉnh sửa và khởi động lại dịch vụ uWSGI:
sudo systemctl restart alerta-app
Tải lại trang web Alerta Web UI. 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 Create an account và tạo tài khoản mới. Khi bạn hoàn tất quy trình, bạn sẽ có quyền truy cập vào bảng điều khiển Alerta.
Khi bật xác thực, bạn cần có API key để truy cập API Alerta. Chọn menu Configuration và chọn API keys.
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 read-write từ trình đơn thả xuống và nhấp vào nút Create new API Key. 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 sẽ cần nó sau này.
Ngoài ra, bạn có thể thiết lập xác thực OAuth và sử dụng thông tin đăng nhập GitHub hoặc Google của mình để đăng nhập vào giao diện người dùng 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 với OAuth (tùy chọn)
Alerta's Web UI hỗ trợ xác thực OAuth cho Google, GitHub, Gitlab và Keycloak. Chúng ta sẽ định dạng đăng nhập qua tài khoản GitHub, vì vậy bạn sẽ cần một tài khoản để tiếp tục.
Đầu tiên, đăng ký một ứng dụng mới với GitHub. Đăng nhập vào tài khoản GitHub của bạn và điều hướng đến trang Ứng dụng mới.
Điền vào mẫu với các chi tiết sau:
- Điền vào Application name với Alerta hoặc tên mô tả phù hợp.
- Đối với Homepage URL, sử dụng
http://your_alerta_server_ip/
. - Điền vào Authorization callback URL với
http://your_alerta_server_ip/
. - Nhấp vào Register application để 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 kế tiếp.
Tiếp theo, chỉnh sửa cấu hình Alerta để bật xác thực OAuth. Mở tệp cấu hình:
sudo nano /etc/alertad.conf
Thêm các cài đặt sau vào cuối tệp:
OAUTH2_CLIENT_ID = 'your_github_client_id'
OAUTH2_CLIENT_SECRET = 'your_github_client_secret'
ALLOWED_GITHUB_ORGS = ['your_github_organization']
Sử dụng GitHub Client ID, GitHub Client Secret, và GitHub Organization 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 từ lệnh, bất kỳ GitHub user nào cũng có thể đăng nhập vào bảng điều khiển Alerta của bạn. Tạo một tổ chức GitHub thêm các user thích hợp vào tổ chức để hạn chế quyền truy cập.
Lưu tệp, thoát trình chỉnh sửa 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 tệp 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 GitHub Client ID của bạn:
...
'provider' : "github",'client_id' : "INSERT-CLIENT-ID-HERE", ...
Mở http://your_alerta_server_ip
để truy cập vào Alerta Web UI. 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 Login để đăng nhập và bạn sẽ được yêu cầu cho phép ứng dụng truy cập tài khoản GitHub của bạn.
Bây giờ chúng ta có thể chạy một thử nghiệm đơn giản để kiểm tra xem Alerta có được thiết lập và hoạt động đúng hay không.
Bước 6 - Gửi thông báo thử nghiệm
Chúng ta sẽ sử dụng công cụ dòng lệnh thống nhất của Alerta để gửi cảnh báo kiểm tra. Trước tiên, cài đặt ứng dụng dòng lệnh:
sudo pip install alerta
Sau đó, tạo tệp cấu hình xác định điểm cuối API Alerta đã định dạng trước đó, cùng với API key bạn muốn sử dụng. Tạo tệp mới trong trình chỉnh sửa của bạn:
nano ~/.alerta.conf
Dán thông tin sau vào tệp:
[DEFAULT]
endpoint = http://your_alerta_server_ip/apikey = your_alerta_api_key
Sử dụng API key đã thiết lập trong Bước 4 cho tùy chọn key.
Bây giờ chúng ta có thể gửi thông 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 output tương tự như sau:
Output
f12558eb-e333-4a10-9c08-7d63f8b0442c (indeterminate -> major)
Truy cập http://your_alerta_server_ip
trong trình duyệt của bạn và sẽ thấy thông báo trên trang tổng quan trông giống như thông báo trong hình sau:
Bạn có thể nhấp vào tin nhắn để xem chi tiết.
Alerta server đang bật và chờ tin nhắn mới. Hãy định dạng hệ thống giám sát Zabbix để gửi cảnh báo tới Alerta.
Bước 7 - Cài đặt Cổng Zabbix-Alerta
Trong bước này, chúng ta sẽ sửa đổi hệ thống giám sát Zabbix để gửi tin nhắn thông báo tới Alerta.
Đăng nhập vào máy chủ Zabbix với tư cách là non-root user:
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 nhị phân. Tại thời điểm công bố, các tập lệnh Alerta đối với Zabbix yêu cầu Python 2. Chúng ta cũng cần Git được cài đặt để có thể lấy 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 gửi thông báo bằng e-mail, tin nhắn 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 sẵn sàng. Để cài đặt nó, hãy sao chép kho lưu trữ zabbix-alerta và cài đặt nó bằng cách sử dụng tập 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 liên kết tượng trưng cho tập lệnh zabbix-alerta trong thư mục nơi Zabbix lưu trữ tập lệnh cảnh báo. Bạn có thể tìm đường dẫn của nó trong tập tin cấu hình /etc/zabbix/zabbix_server.conf:
sudo grep -e '^AlertScriptsPath' /etc/zabbix/zabbix_server.conf
Bạn sẽ thấy output 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 hiện lệnh sau để tạo liên kết tượng trưng:
sudo ln -s `which zabbix-alerta` /usr/lib/zabbix/alertscripts
Hãy định dạng 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 Administration, chọn Media Types và nhấp vào nút Create Media Type ở 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 Name, nhập
Alerta
. - Đối với Type, chọn Script từ trình đơn thả xuống.
- Đối với Script name, nhập
zabbix-alerta
. - Đối với Script parameters, nhập các giá trị sau:
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}
- Đảm bảo chọn hộp đánh dấu Enabled.
Nhấp vào nút Add để tạo loại phương tiện mới.
Sau đó, thêm phương tiện mới cho tài khoản user của bạn. Chọn Administration trong menu chính, sau đó chọn Users. Nhấp vào tên user và chọn tab Media. Nhập các chi tiết sau
- Đối với Type, chọn Alerta.
- Đối với Send to, nhập
http://your_alerta_server_ip/api;your_api_key
.
Sử dụng API key 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 Add.
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 Update.
Bây giờ hãy định dạng hành động để gửi tin nhắn. Chọn Configuration trong menu chính, sau đó chọn Actions. Nhấp vào nút Create Action.
Trên tab Action, đặt giá trị của trường Name đến Forward to Alerta
.
Trên Operations tab, thiết lập các tùy chọn sau:
- Đặt Default subject vào
{TRIGGER.STATUS}: {TRIGGER.NAME}
- Đối với Default message, nhập đoạ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 theo dạng thức được chỉ định khi phát hiện sự cố. Nó sẽ thay thế các biểu thức trong dấu 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ảnh báo và hiển thị chính xác.
Tiếp theo, tạo thao tác mới bằng cách nhấp vào New trong trường Operations. Nhập các giá trị sau vào biểu mẫu:
- Đối với Send to Users, nhập
Your user name
. - Đối với Send only to, chọn Alerta từ trình đơn thả xuống.
Sau đó chọn tab Recovery operations và thay đổi thông báo Default thành các mục 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=your_zabbix_server_ip/zabbix/tr_events.php?triggerid={TRIGGER.ID}&eventid={EVENT.RECOVERY.ID}">Zabbix console
type=zabbixAlert
dateTime={EVENT.RECOVERY.DATE}T{EVENT.RECOVERY.TIME}Z
Tin nhắn này tương tự như thông báo trước. Thông báo này sẽ được gửi khi sự cố biến mất.
Tiếp theo, tạo thao tác mới bằng cách nhấp vào New trong trường Operations. Đối với Operation type, chọn Send recovery message từ hộp thả xuống.
Hoàn tất cấu hình bằng cách nhấp vào nút Add.
Zabbix đã sẵn sàng gửi cảnh báo tới Alerta. Hãy tạo một cái.
Bước 8 — Tạo Test Alert để 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ứ được kết nối. Theo mặc định, Zabbix theo dõi dung lượng đĩa trống trên máy chủ của bạn. Chúng ta sẽ tạo một tệp tạm thời đủ lớn để kích hoạt cảnh báo sử dụng hệ thống tệp của Zabbix.
Đăng nhập vào máy chủ Zabbix nếu bạn chưa kết nối.
Tiếp theo, xác định dung lượng trống trên máy chủ. Bạn có thể sử dụng lệnh df để tìm hiểu:
df -h
Bạn sẽ thấy output như sau:
Output
Filesystem Size Used Avail Use% Mounted on /dev/vda1 20G 1.5G 18G 9% /
Chúng ta quan tâm đến dung 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.
Sử dụng lệnh fallocate để tạo một tệp chiếm hơn 80% không gian đĩ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à chạy hành động đã định dạng, gửi thông báo thông báo đến Alerta. Bạn sẽ thấy thông báo mới này trong bảng điều khiển Alerta.
Bây giờ bạn đã biết các cảnh báo đang hoạt động, hãy xóa tệp tạm thời bạn đã tạo để lấy lại dung lượng đĩa:
rm -f /tmp/temp.img
Sau một phút Zabbix sẽ gửi tin nhắn khôi phục. Cảnh báo sẽ biến mất khỏi bảng điều khiển chính, nhưng bạn có thể xem tất cả các sự kiện đã đóng bằng cách chọn Closed.
Bạn có thể nhấp vào hàng Event để xem thêm chi tiết.
Kết luận
Trong hướng dẫn này, bạn đã cài đặt và định dạng Alerta và thiết lập Zabbix để gửi thông báo vào đó. Kết quả là, bây giờ bạn có công cụ thuận tiện để 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, qua đó hợp nhất và tập trung thông tin từ các hệ thống giám sát khác nhau.