Bài viết này mình sẽ hướng dẫn cài đặt Zabbix kết hợp Grafana. Zabbix là phần mềm giám sát mã nguồn mở cho các mạng và các ứng dụng. Nó cung cấp giám sát thời gian thực của hàng ngàn các chỉ số thu thập được từ các máy chủ, máy ảo, và các loại khác của thiết bị mạng.
Chuẩn bị:
+ Cài đặt sẵn 2 máy Centos 7.0.
1. Cài đặt LAMP Server
Bước 1: Cài đặt Apache
Chúng tôi sẽ cài đặt Apache bằng yum
1 |
yum install httpd |
Sau khi apache đã được cài đặt, hãy khởi động dịch vụ
1 |
systemctl start httpd |
Bây giờ chúng tôi sẽ kiểm tra máy chủ apache của chúng tôi để xem nó hoạt động đúng hay không. Để kiểm tra máy chủ apache, hãy mở trình duyệt web ưa thích của bạn và nhập địa chỉ IP máy chủ của bạn.
1 |
http://10.10.10.8 |
Nếu các bạn không truy cập vào được địa chỉ localhost thì làm bước sau
Mở port 80,443
1 |
iptables -A INPUT -p tcp --match multiport --dports 80,443 -j ACCEPT |
Tắt Firewall
1 2 3 |
firewall-cmd --zone=public --add-port=80/tcp --permanent firewall-cmd --zone=public --add-port=443/tcp --permanent firewall-cmd --reload |
Bước 2: Cài đặt MariaDB
Chúng tôi sẽ cài đặt MariaDB bằng yum
1 |
yum install mariadb-server mariadb |
Bây giờ, bắt đầu máy chủ sau khi nó được cài đặt
1 |
systemctl start mariadb |
Theo mặc định, mật khẩu gốc không được thiết lập trong MariaDB. Vì vậy, chúng tôi cần phải bảo mật cơ sở dữ liệu của chúng tôi bằng cách chỉ định một mật khẩu mà nếu không, có thể bật ra được mối đe dọa an ninh và có thể dẫn đến truy cập trái phép. Để bảo mật cơ sở dữ liệu của chúng tôi, hãy chạy lệnh sau.
1 |
mysql_secure_installation |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
Enter current password for root (enter for none): Enter Change the root password? [Y/n] Y New password: Re-enter new password: Password updated successfully! Remove anonymous users? [Y/n] Y Disallow root login remotely? [Y/n] Y Remove test database and access to it? Y Reload privilege tables now? [Y/n] Y Cleaning up... All done! If you've completed all of the above steps, your MariaDB installation should now be secure. Thanks for using MariaDB! |
Bây giờ, khởi động lại dịch vụ cơ sở dữ liệu của bạn để thực hiện các thay đổi.
1 |
systemctl restart maridb |
Bước 3: Cài đặt PHP
PHP (viết tắt là Hypertex Preprocessor), là một ngôn ngữ kịch bản mã nguồn mở được sử dụng rộng rãi để phát triển web. Nó chạy các kịch bản lệnh, kết nối với cơ sở dữ liệu để xử lý yêu cầu dữ liệu. PHP có thể được cài đặt chỉ với yum.
1 |
yum install php php-mysql php-gd php-pear |
Kiểm tra cài đặt PHP của chúng tôi, chúng tôi sẽ tạo một tệp có tên là thư mục test.php /var/www/html
1 |
vi /var/www/html/test.php |
1 2 3 |
<?php phpinfo(); ?> |
Khởi động lại máy chủ apache và sau đó mở trình duyệt web. Bây giờ nhập url sau
1 |
http://10.10.10.8/test.php |
2. Cài đặt Zabbix Server 3.4.10
Chúng tôi cũng cần một số plugin PHP bổ sung được cài đặt. Để cài đặt plugin php cần thiết, mở terminal và chạy lệnh sau:
1 |
yum -y install php-mysql php-gd php-xml php-bcmath |
Bước 1: Cài Zabbix Server
Download gói cài đặt Zabbix
1 |
yum -y install http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm |
Sau khi thêm kho lưu trữ, mình sẽ cài đặt máy chủ zabbix, zabbix-agent để tý mình test host và các gói cần thiết khác.
1 |
yum -y install zabbix-get zabbix-server-mysql zabbix-web-mysql zabbix-agent |
Bước 2 – Cấu hình cơ sở dữ liệu MariaDB cho Zabbix
Đầu tiên , chúng tôi tạo ra một cơ sở dữ liệu MariaDB mới và đưa vào đó một số thông tin cơ bản. Sao đó, tạo một người dùng (user) cụ thể cho cơ sở dữ liệu này để Zabbix không đăng nhập vào MariaDB với tài khoản gốc.
Đăng nhập vào MariaDB với người dùng (user) là root bằng cách sử dụng mật khẩu root mà bạn thiết lập trong khi cài đặt MariaDB:
1 |
mysql -u root -p |
Đầu tiên, tạo cơ sở dữ liệu Zabbix với sự hỗ trợ UTF-8:.
1 |
create database zabbix character set utf8; |
Tiếp theo, tạo một người dùng (user) Zabbix server sẽ sử dụng, cung cấp cho nó truy cập vào cơ sở dữ liệu mới, và thiết lập mật khẩu:
1 |
grant all privileges on zabbix.* to zabbix@localhost identified by 'your_password';(pass của mình đặt: 123456) |
Thực hiện lệnh sau để đảm bảo các quyền được thiết lập lại từ đầu cho người dùng (user) mới.
1 2 |
flush privileges; quit; |
Di chuyển tới thư mục cài đặt zabbix:
1 |
cd /usr/share/doc/zabbix-server-mysql-3.* |
Chạy lệnh sau để thiết lập lược đồ (schema)và nhập dữ liệu vào cơ sở dữ liệu zabbix. Chúng tôi sẽ sử dụng zcat từ khi dữ liệu trong file đã được nén lại.
1 |
zcat create.sql.gz | mysql -p -uzabbix zabbix |
Nhập mật khẩu cho người dùng (user) zabbix mà bạn đã cấu hình trước đó khi được nhắc nhở.
Lưu ý: Không nhập mật khẩu cho người dùng (user) root, nếu không sẽ báo lổi “ERROR 1045 (28000): Access denied for user ‘zabbix’@’localhost’ (using password: YES)”
Để cho Zabbix server sử dụng cơ sở dữ liệu đã khai báo ở trên, bạn cần thiết lập mật khẩu mới trong file cấu hình của Zabbix server:
1 |
vi /etc/zabbix/zabbix_server.conf |
Tìm đến dòng thay thế dòng # DBPassword= bằng:
1 |
DBPassword=your_zabbix_mysql_password |
Bước 3 – Cấu hình PHP cho Zabbix
1 |
vi /etc/httpd/conf.d/zabbix.conf |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<Directory "/usr/share/zabbix"> Options FollowSymLinks AllowOverride None Require all granted Require ip 127.0.0.1 10.0.0.0/24 <IfModule mod_php5.c> php_value max_execution_time 300 php_value memory_limit 128M php_value post_max_size 16M php_value upload_max_filesize 2M php_value max_input_time 300 php_value always_populate_raw_post_data -1 php_value date.timezone Asia/Ho_Chi_Minh </IfModule> </Directory> |
Khởi động lại Apache
1 |
systemctl restart httpd |
Sau đó khởi động Zabbix server bằng lệnh:
1 |
systemctl start zabbix-server |
Kiểm tra trạng thái của nó
1 |
systemctl status zabbix-server |
1 2 3 4 5 6 |
Output ● zabbix-server.service - Zabbix Server Loaded: loaded (/usr/lib/systemd/system/zabbix-server.service; disabled; vendor preset: disabled) Active: :active (running) since Fri 2016-08-05 07:16:35 UTC; 2s ago Process: 10033 ExecStart=/usr/sbin/zabbix_server -c $CONFFILE (code=exited, status=0/SUCCESS) ... |
Nếu lúc này bạn này thấy false thì thử tắt SELinux nhé:
1 |
vi /etc/selinux/config |
1 |
SELINUX=disabled |
Cuối cùng, cho phép Zabbix server bắt đầu vào lúc khởi động bằng lệnh:
1 |
systemctl enable zabbix-server |
Bước 4 – Cấu hình cài đặt cho giao diện Web Zabbix
Mở trình duyệt của bạn và đi đến địa chỉ http://your_zabbix_server_ip_address/zabbix/. Trên màn hình đầu tiên, bạn sẽ thấy một thông điệp chào mừng. Nhấn Next để tiếp tục..
Tất cả các giá trị trong bảng này phải cho thấy OK. Hãy chắc chắn di chuyển xuống và xem xét tất cả các điều kiện tiên quyết. Một khi bạn đã xác minh rằng tất cả mọi thứ đã sẵn sàng, nhấn Next để tiếp tục.
Màn hình tiếp theo yêu cầu thông tin kết nối cơ sở dữ liệu.
Nhập các thông tin MariaDB bạn cấu hình ở bước 2 và bấm Next để tiếp tục.
Trên màn hình tiếp theo, bạn có thể để lại các tùy chọn giá trị mặc định.
Name là tùy chọn; nó được sử dụng trong giao diện web để phân biệt máy chủ (đảm nhiệm Zabbix server) với các máy chủ khác.
Nhấn Next để tiếp tục bước.
Màn hình tiếp theo sẽ hiển thị tóm tắt quá trình cài đặt, do đó bạn có thể xác nhận tất cả mọi thứ là chính xác.
Nhấn Next để tiếp tục bước.
Các thiết lập giao diện web là hoàn tất! Quá trình này tạo ra tập tin cấu hình /etc/zabbix/web/zabbix.conf.php mà bạn có thể sao lưu và sử dụng trong tương lai. Nhấn Finish để đi đến màn hình đăng nhập. Người dùng mặc định là admin và mật khẩu là zabbix.