Hiện nay, với quy mô ngày càng mở rộng của các hệ thống mạng, sự gia tăng của các thiết bị mạng và máy chủ đặt ra yêu cầu cho người quản trị mạng phải tiến hành giám sát hoạt động thường xuyên để đảm bảo hệ thống được vận hành ổn định. Từ đây, người quản trị sẽ tiến hành xây dựng các hệ thống giám sát, giúp monitor hệ thống.
Hiện nay có nhiều phần mềm mã mở về giám sát hệ thống như: Nagios, Cacti, Zabbix, Zenoss,…Mỗi phần mềm có ưu nhược điểm khác nhau. Tùy theo nhu cầu mà người quản tị lựa chọn phần mềm giám sát thích hợp. Trong bài này, mình sẽ trình bày cách cấu hình và cài đặt phần mềm giám sát Zabbix trên CentOS 6.
A. Cài đặt dùng yum
– Yêu cầu hệ thống:
Hệ điều hành CentOS 6
Đã cài đặt apache,php,mysql
– Cấu hình:
Nếu hệ thống của bạn chưa kích hoạt sử dụng lệnh yum tải các gói từ EPEL thì làm như sau:
rpm -Uvh ftp://ftp.univie.ac.at/systems/linux/fedora/epel/beta/6/i386/epel-release-6-5.noarch.rpm
yum repolist
Tiến hành dùng lệnh yum để thực hiện cài đặt tự động các gói cần thiết từ EPEL
yum –enablerepo=epel -y install zabbix-server-mysql zabbix-agent zabbix-web-mysql
Sau khi đã sử dụng lệnh yum để cài đặt các gói cần thiết. Chúng ta tiến hành đăng nhập vào MySQL Server, tạo một database mới với tên là zabbix và thiết đặt mật khẩu cho zabbix@localhost
# mysql – u root –p
mysql> create database zabbix;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by ‘123456’
mysql> flush privileges;
mysql> exit
Ở trên mình đã thiết lập mật khẩu 123456 cho zabbix@localhost
Tiến hành Import các file cơ sở dữ liệu của Zabbix vào MySQL Server:
cd /usr/share/doc/zabbix-server-mysql-*/create/schema
cat mysql.sql | mysql -u root -p zabbix
Enter password:
cd ../data
cat data.sql | mysql -u root -p zabbix
Enter password:
cat images_mysql.sql | mysql -u root -p zabbix
Enter password:
Tiếp tục, mở file zabbix_server.conf lên
vi /etc/zabbix/zabbix_server.conf
Bỏ comment dòng 110 và thiết đặt pass là mật khẩu DB Zabbix
Mở file zabbix_agentd.conf
vi /etc/zabbix/zabbix_agentd.conf
Ở dòng 91, thay đổi thành hostname hệ thống của bạn
Mở file php.ini
vi /etc/php.ini
Thay đổi các giá trị phù hợp theo yêu cầu của Zabbix
max_execution_time = 600
max_input_time = 600
memory_limit = 256M
post_max_size = 32M
upload_max_filesize = 16M
date.timezone = Asia/Ho_Chi_Minh
Khởi động lại Webserver các dịch vụ của Zabbix
/etc/rc.d/init.d/zabbix-server start
/etc/rc.d/init.d/zabbix-agent start
/etc/rc.d/init.d/httpd restart
Thiết lập cho Zabbix hoạt động mỗi khi hệ thống reboot:
chkconfig zabbix-server on
chkconfig zabbix-agent on
Sau khi cấu hình xong các bước trên, ta tiến hành cài đặt Zabbix bằng giao diện web. Mở Trình duyệt lên và gõ http:///zabbix. Trong đó là địa chỉ IP của hệ thống.
Màn hình Introduction hiện ra, ta Next.
Chọn I Aggre và nhấn Next
Check lại các thông tin yêu cầu trước khi cài đặt Zabbix, sau đó nhấn Next.
Cấu hình các thông tin kết nối tới MySQL Server và tên của Database như hình dưới đây.
Cấu hình thông tin Hostname, Port, Name,….sau đó nhấn Next để tiếp tục
Thông tin trước khi cài đặt. Ta nhấn Next
Cài đặt xong, ta nhấn Next để qua bước tiếp theo
Màn hình thông báo cài đặt thành công. Nhấn Finish để kết thúc.
Quá trình cài đặt Zabbix như vậy là thành công. Bây giờ chúng ta sẽ tiến hành đăng nhập vào trang theo dõi với link http:///zabbix/index.php. Với Login Name: admin và Password: zabbix
II.Cài đặt manual
Đầu tiên bạn download source về tại đây và đặt trong /root/
Sau đó bạn cài gói epel, rồi cài các gói cần thiết :
rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-7.noarch.rpm
yum install fooyum install httpdchkconfig httpd on
service httpd startyum install phpyum install mysql-server mysql php-mysql
service mysqld startchkconfig mysqld on
Tiến hành cài đặt postfix, dùng postfix để gửi email (trước hết phải remove sendmail mặc định đã được cài)
yum remove sendmailyum install postfix
Bạn edit lại file main.cf, sửa thành các thông số giống như dưới đây :
vi /etc/postfix/main.cf
——————————————————————————
myhostname= zabbix.example.com
mydomain = example.com
myorigin = $mydomain
inet_interfaces = all
mydestination =
mynetworks = 192.168.19.0/24 , 192.168.73.0/24, 127.0.0.0/8
relay_domains = $mydestination
relayhost =
——————————————————————————chkconfig postfix on
/etc/init.d/postfix restart
Tiếp tục cài các gói khác :
yum install zlib-devel mysql-devel glibc-devel curl-devel gcc automake mysql libidn-devel openssl-devel net-snmp-devel rpm-devel OpenIPMI-develwget http://pkgs.repoforge.org/iksemel/iksemel-1.4-1.el6.rf.i686.rpm
wget http://pkgs.repoforge.org/iksemel/iksemel-devel-1.4-1.el6.rf.i686.rpmrpm -ivh iksemel-1.4-1.el6.rf.i686.rpm
rpm -ivh iksemel-devel-1.4-1.el6.rf.i686.rpmwget http://www.asic-linux.com.mx/~izto/checkinstall/files/rpm/checkinstall-1.6.1-1.i386.rpmrpm -ivh checkinstall-1.6.1-1.i386.rpm
Xong các gói hỗ trợ cho zabbix, bây giờ bắt đầu giải nén source zabbix-*(* là phiên bản bạn down về) đã down và nằm trong /root/, sau đó tạo user và group zabbix :
tar -zxvf zabbix-*.tar.gzgroupadd zabbixuseradd -g zabbix zabbixcd zabbix-*./configure –enable-server –with-mysql –with-net-snmp –with-jabber –with-libcurl –with-openipmi –enable-agentmake installuseradd -m -s /bin/bash zabbix
passwd zabbix
Edit cấu hình database của zabbix (các thông số này xíu nữa bạn sẽ dùng để tạo database, thường thì phải tạo database trước rồi mới config)
nano /usr/local/etc/zabbix_server.conf
—————————————————————
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
—————————————————————chmod 400 /usr/local/etc/zabbix_server.conf
chown zabbix /usr/local/etc/zabbix_server.confservice mysqld stop
service mysqld start
Bây giờ bắt đầu tạo database :
mysqladmin -u root password mysql_secure_installationmysql -u root -p
Enter password:mysql> create database zabbix character set utf8;
mysql> grant all privileges on zabbix.* to ‘zabbix’@’localhost’ identified by ‘zabbix’;
mysql> quit;
Import database của zabbix vào database vừa tạo
mysql -u zabbix -p zabbix < database/mysql/schema.sqlmysql -u zabbix -p zabbix < database/mysql/images.sqlmysql -u zabbix -p zabbix < database/mysql/data.sql
Copy từ thư mục của zabbix (bạn phải đang ở trong thư mục zabbix-*) :
cp misc/init.d/fedora/core5/zabbix_* /etc/init.d/cp misc/init.d/redhat/8.0/zabbix_* /etc/init.d/chmod 755 /etc/init.d/zabbix_serverchmod 755 /etc/init.d/zabbix_agentd
chkconfig –add zabbix_server
chkconfig –add zabbix_agentd
chkconfig –list zabbix_server
chkconfig zabbix_server on
chkconfig –list zabbix_server
chkconfig –list zabbix_agentd
chkconfig zabbix_agentd on
chkconfig –list zabbix_agentd
Cài các gói hỗ trợ php (bạn phải đang ở trong thư mục zabbix-*) :
yum install php-mysql php-gd php-bcmath php-mbstring php-xmlcp -r frontends/php/ /var/www/html/mv /var/www/html/php /var/www/html/zabbix
Thêm thông số vào file httpd.conf
nano /etc/httpd/conf/httpd.conf###########################Alias /zabbix “/var/www/html/zabbix/”
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
AllowOverride FileInfo AuthConfig Limit Indexes
Order allow,deny
Allow from all
###########################
Sử trong file php.ini các thông số sau :
nano /etc/php.ini
service httpd restart
Sửa file sudoers
nano /etc/sudoers
###
zabbix ALL = (root) NOPASSWD: /usr/bin/nmap
###
Thêm vào file zabbix.conf.php
nano /var/www/html/zabbix/conf/zabbix.conf.php
// Zabbix GUI configuration file
// ——————————————————————–
date_default_timezone_set(‘America/Los_Angeles’);
$script_tz = date_default_timezone_get();
if (strcmp($script_tz, ini_get(‘date.timezone’))){
echo ‘Script timezone differs from ini-set timezone.’;
} else {
echo ‘Script timezone and ini-set timezone match.’;
}
Liên hệ để được tư vấn miễn phí giải pháp:
ITtoday
VP Miền Bắc: Số 47 – Ngõ 207 Xuân Đỉnh – Q.Bắc Từ Liêm – TP.Hà Nội – ĐT: 097 383 6600
VP Miền Nam: 53/21 Đường 18, Khu phố 5, Phường Ninh Chung, Quận Thủ Đức, TP Hồ Chí Minh. – ĐT: 0976.413.635
Email: itotdayvn@gmail.com
Website: www.ittoday.vn