NỘI DUNG
1. Giới thiệu về Zabbix
Zabbix là một phần mềm mã nguồn mở được công bố lần đầu 2001, có chức năng giám sát các dịch vụ mạng và tài nguyên công nghệ khác như máy chủ, phần cứng,.. một cách nhanh chóng, hiệu quả. Kết quả phân tích, thống kê số liệu được thể hiện một cách trực quan; các thông báo về vấn đề tiềm ẩn được cập nhật chính xác và kịp thời.
Tính đến nay, Zabbix là nền tảng được nhiều công ty có quy mô lớn sử dụng khi nó có thể theo dõi và thu thập chỉ số thực từ hàng triệu server trên toàn thế giới.
Zabbix cung cấp cho người dùng cả phiên bản tính phí và trả phí, đây là một chiến lược giúp hệ thống trở lên thân thiện với mọi phân khúc khách hàng.
Các công việc mà Zabbix thực hiện
- Giám sát phần cứng: Zabbix thực hiện giám sát các vấn đề như nhiệt độ máy chủ, công tắc bộ định tuyến, … thông qua SNMP.
- Giám sát hệ thống: Là việc theo dõi các số liệu về dung lượng, tốc độ của hạ tầng như CPU, Ram, ổ cứng,… nhằm đảm bảo tài nguyên của bạn luôn đủ để sử dụng. Tránh trường hợp gây mất ổn định, hoặc khởi động lại hệ thống. Như hosting chạy trên hệ điều hành windows chỉ nên sử dụng đến giới hạn tài nguyên 80% để đảm bảo mọi hoạt động diễn ra bình thường
- Giám sát mạng: thường sử dụng với các công ty sử dụng giải pháp mạng điện toán đám mây.
Ngoài ra Zabbix còn giám sát được rất nhiều dịch vụ khác..
2. Cài đặt Zabbix 5.4 trên Ubuntu 20
Để cài đặt Zabbix bạn thực hiện tuần tự các bước như sau.
Bước 1. Cài đặt Zabbix repository
Ở bước này bạn chỉ cần copy các lênh bên dưới để bắt đầu cài đặt.
wget https://repo.zabbix.com/zabbix/5.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.4-1+ubuntu20.04_all.deb dpkg -i zabbix-release_5.4-1+ubuntu20.04_all.deb apt update
Bước 2: Cài đặt Zabbix server, frontend, agent
Sau đó bạn hãy cài đặt một số dịch vụ cần thiết như là zabbix-server-mysql, zabbix-frontend-php…
apt install zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-sql-scripts zabbix-agent
Bước 3: Cài đặt và cấu hình máy chủ cơ sở dữ liệu
Để Zabbix hoạt động thì bắt buộc phải có một máy chủ cơ sở dữ liệu. Zabbix có hỗ trợ cả PostgreSQL. Nhưng vì mình quen dùng MySQL nên sẽ cài đặt MySQL làm máy chủ cơ sở dữ liệu. Và trong bài này mình sẽ hướng dẫn cài đặt MySQL và MariaDB. Tuy nhiên bạn chỉ lựa chọn 1 cái để cài thôi nhé.
1. Cài đặt sử dụng MariaDB
- Cài đặt MariaDB
apt -y install software-properties-common curl
curl -LsS -O https://downloads.mariadb.com/MariaDB/mariadb_repo_setup
bash mariadb_repo_setup
apt -y install mariadb-server mariadb-client
- Khởi động MariaDB
systemctl status mariadb
systemctl enable mariadb
systemctl restart mariadb
- Cấu hình MariaDB
mysql_secure_installation
2. Cài đặt sử dụng MySQL
- Cài đặt MySQL
apt install mysql-server
- Khởi động mysql
systemctl enable mysql systemctl restart mysql systemctl status mysql
- Cấu hình MySQL
sudo mysql_secure_installation
Bước 4: Tạo Database cho Zabbix
Khi máy chủ MySQL đã sẵn sàng. Bạn hãy tạo một username và userdb như sau. Lưu ý hãy thay password
bằng mật khẩu bạn đặt.
# mysql -uroot -p password mysql> create database zabbix character set utf8 collate utf8_bin; mysql> create user zabbix@localhost identified by 'password'; mysql> grant all privileges on zabbix.* to zabbix@localhost; mysql> quit;
Bước 5: Import Database
Bạn hãy nhập lệnh bên dưới để nhập cơ sở dữ liệu vào database vừa tạo.
zcat /usr/share/doc/zabbix-sql-scripts/mysql/create.sql.gz | mysql -uzabbix -p zabbix
Bước 6: Cấu hình Database vào Zabbix server
Bạn hãy mở file /etc/zabbix/zabbix_server.conf
, uncomment và sửa dòng DBPassword.
Bước 7: Cấu hình PHP cho Zabbix frontend
Bạn hãy mở file /etc/zabbix/nginx.conf
sau đó uncomment dòng listen và server_name
Bước 8: Khởi động Zabbix server và agent
# systemctl restart zabbix-server zabbix-agent nginx php7.4-fpm # systemctl enable zabbix-server zabbix-agent nginx php7.4-fpm
Bước 9: Mở port Firewall
Bạn cần mở port firewall cho các dịch vụ.
- Đối với Firewalld
firewall-cmd --add-service={http,https} --permanent firewall-cmd --add-port={10051/tcp,10050/tcp} --permanent firewall-cmd --reload
- Đối với CSF
Nếu máy chủ cài đặt CSF thì bạn mở file /etc/csf/csf.conf
và thêm port vào Allow incoming TCP ports với port 10050. 10051. và thực hiện restart CSF bằng lệnh csf -r
Bước 10: Cấu hình Zabbix frontend
Đầu tiên mình sẽ tạo một Virtua Host cho domain. Để khi truy cập từ hostname cũng sẽ hoạt động. Mình sẽ sử dụng lệnh vi để soạn thảo. Và tạo file với tên zabbix.conf
vi /etc/nginx/sites-available/zabbix.conf
Sau đó bạn copy tất cả các cấu hình bên dưới dán vào file vừa tạo. Và lưu ý hãy thay dòng server_name
bằng tên hostname của bạn.
server {
listen 80;
server_name monitor.dotrungquan.info;
#charset koi8-r;
access_log /var/log/nginx/zabbix.domain.local.access.log;
error_log /var/log/nginx/zabbix.domain.local.error.log;
location / {
root /usr/share/zabbix/;
index index.php index.html index.htm;
# include the "?$args" part so non-default permalinks doesn't break when using query string
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
root /usr/share/zabbix/;
fastcgi_index index.php;
# With php-fpm (or other unix sockets):
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
include fastcgi_params;
}
}
Tạo symlink
ln -s /etc/nginx/sites-available/zabbix.conf /etc/nginx/sites-enabled/
Khởi động lại dịch vụ nginx
systemctl restart nginx
Sau đó bạn hãy truy cập vào http://server_ip_or_name
để thiết lập ở giao diện.
Giao diện thiết lập Zabbix, bạn hãy click Next step để thực hiện theo hướng dẫn trên màn hình.
Zabbix check một số yêu cầu, nếu hiện OK có nghĩa mọi thứ đã hoạt động bình thường.
Ở bước này bạn nhập vào Passwd User Zabbix đã tạo ở Bước 4 vào.
Phần Name bạn có thể đặt tên bất kỳ.
Phần time zone bạn hãy chọn múi giờ mà bạn sử dụng. Ở đây mình chọn múi giờ +7
Tiếp tục nhấn Next step
Màn hình thông báo cấu hình thành công. Và bây giờ bạn có thể truy cập vào bên trong Zabbix
Ở khung đăng nhập, bạn hãy nhập vào thông tin mặc định của Zabbix là:
- username: Admin
- Password: zabbix
Khi đăng nhập thành công. Bạn sẽ thấy giao diện như ảnh bên dưới.
Như vậy đã hoàn tất bước cài đặt Zabbix 5.4 lên máy chủ Ubuntu 20. Ở các bài viết tiếp theo mình sẽ hướng dẫn bạn cách sử dụng Zabbix để monitor và alert.
- Nguồn tham khảo: https://www.zabbix.com/download