Giám sát dịch vụ Apache với Zabbix
Máy chủ: maychu2 Địa chỉ IP: 192.168.5.102
Lưu ý: Cần chọn một mẫu giám sát Apache phù hợp
1) Cài đặt httpd
[root@maychu2 ~]# dnf -y install httpd [root@maychu2 ~]# systemctl enable httpd //Thiết lập khởi động cùng hệ thống Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
2) Kích hoạt server-status của Apache và khởi động lại httpd
[root@maychu2 ~]# vim /etc/httpd/conf/httpd.conf EnableSendfile on //Đây là dòng 348, thêm cấu hình sau dưới dòng này <location /server-status> SetHandler server-status Order allow,deny Allow from localhost 192.168.5.0/24 </location> [root@maychu2 ~]# systemctl restart httpd
Cũng có thể tạo một tệp .conf trong thư mục /etc/httpd/conf.d/ và ghi cấu hình vào đó. Cuối cùng khởi động lại httpd.
Lưu ý: Đôi khi 127.0.0.1 không hoạt động dẫn đến zapache không hỗ trợ, có thể thử thay đổi địa chỉ IP thành all.
3) Nếu tường lửa đang bật, hãy thêm cổng
[root@maychu2 ~]# firewall-cmd --permanent --zone=public --add-port=80/tcp success [root@maychu2 ~]# firewall-cmd --reload success [root@maychu2 ~]# firewall-cmd --permanent --zone=public --list-ports 10050/tcp 80/tcp
4) Xác minh Apache mở server-status qua Web
5) Tải xuống tệp mẫu
Tệp mẫu cần được lưu lại trên cả Windows và CentOS, tại địa chỉ: https://github.com/lorf/zapache/archive/master.zip. Sau đó giải nén
Vì tệp tải xuống ở định dạng zip, cần chương trình unzip
[root@maychu2 ~]# dnf -y install unzip
Sau khi cài đặt xong, giải nén tệp
[root@maychu2 ~]# unzip zapache-master.zip Archive: zapache-master.zip 24a764b2e224f9b8d0a6bc94dcadd7568b2fe650 creating: zapache-master/ inflating: zapache-master/README.md inflating: zapache-master/httpd-server-status.conf.sample inflating: zapache-master/userparameter_zapache.conf.sample inflating: zapache-master/zapache inflating: zapache-master/zapache-template-active.xml inflating: zapache-master/zapache-template.xml [root@maychu2 ~]# ls zapache-master/ httpd-server-status.conf.sample zapache README.md zapache-template-active.xml userparameter_zapache.conf.sample zapache-template.xml
Mô tả tệp:
- httpd-server-status.conf.sample - Dùng để cấu hình httpd mở server-status
- zapache, userparameter_zapache.conf.sample - Tệp script và cấu hình quan trọng
- zapache-template-active.xml, zapache-template.xml - Tệp mẫu (active là hành động, là mẫu bộ kích hoạt)
6) Sửa đổi tệp cấu hình và script
[root@maychu2 ~]# cp zapache-master/zapache /usr/local/bin/ //Sao chép script [root@maychu2 ~]# chmod +x /usr/local/bin/zapache //Thêm quyền thực thi cho script [root@maychu2 ~]# cp zapache-master/userparameter_zapache.conf.sample /usr/local/zabbix/etc/zabbix_agentd.conf.d/userparameter_apache.conf //Sao chép tệp cấu hình và đổi tên [root@maychu2 ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/userparameter_apache.conf UserParameter=apache[*],/usr/local/bin/zapache \$1 //Trỏ đến tệp script [root@maychu2 ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf # Include=/usr/local/etc/zabbix_agentd.userparams.conf //Dòng 263~265 Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/ //Bỏ ghi chú, sửa và kích hoạt thư mục này # Include=/usr/local/etc/zabbix_agentd.conf.d/*.conf
7) Nhập mẫu trên Web
A. Chọn mẫu trong Cấu hình, nhấp vào Nhập
B. Chọn tệp nhập, nhấp vào Nhập, nhập mẫu thành công.
8) Liên kết mẫu trên Web (thêm mẫu mới cho máy chủ hiện có)
A. Chọn máy chủ trong Cấu hình, nhấp vào tên bất kỳ máy chủ nào
B. Chọn mẫu, chọn mẫu Template App Apache Web Server zapache, thêm và cập nhật
C. Sau đó có thể chọn các mục kiểm tra Apache liên quan trong Đồ thị giám sát
Cũng có thể chọn các mục giám sát Apache liên quan để tạo đồ thị trong Dữ liệu mới nhất
Giám sát dịch vụ MySQL với Zabbix
Máy chủ: maychu2 Địa chỉ IP: 192.168.5.102
Tương tự như Apache, cần tìm một mẫu giám sát, tuy nhiên Zabbix đã cung cấp sẵn mẫu giám sát MySQL.
1) Cài đặt MySQL
Xem chi tiết: Cài đặt MySQL bằng gói nhị phân
Thư mục cài đặt mysql /usr/local/mysql/, thư mục dữ liệu /usr/local/mysql/data/, mật khẩu của người dùng root mysql là 123456. Khởi động và thiết lập khởi động cùng hệ thống.
2) ủy quyền người dùng cơ sở dữ liệu
Tạo người dùng và cấp quyền usage có hiệu quả tương tự.
[root@maychu2 ~]# mysql -uroot -p123456 mysql> create user 'monitor'@'192.168.5.%' identified by '123456'; //Tạo người dùng monitor Query OK, 0 rows affected (0.00 sec) mysql> show grants for 'monitor'@'192.168.5.%'; //Xem quyền người dùng monitor +----------------------------------------------+ | Grants for monitor@192.168.5.% | +----------------------------------------------+ | GRANT USAGE ON *.* TO 'monitor'@'192.168.5.%' | //usage chỉ có quyền đăng nhập và truy vấn information_schema +----------------------------------------------+ 1 row in set (0.00 sec) mysql> grant usage on *.* to 'monitor2'@'192.168.5.%' identified by '123456'; //Ủy quyền monitor2 Query OK, 0 rows affected, 1 warning (0.00 sec) mysql> show grants for 'monitor2'@'192.168.5.%'; //Xem quyền người dùng monitor2 +-----------------------------------------------+ | Grants for monitor2@192.168.5.% | +-----------------------------------------------+ | GRANT USAGE ON *.* TO 'monitor2'@'192.168.5.%' | +-----------------------------------------------+ 1 row in set (0.00 sec) mysql> flush privileges; //Làm mới Query OK, 0 rows affected (0.00 sec)
3) Sửa đổi tệp cấu hình và khởi động lại Zabbix Agent
[root@maychu2 ~]# cp /usr/local/src/zabbix-3.4.3/conf/zabbix_agentd/userparameter_mysql.conf /usr/local/zabbix/etc/zabbix_agentd.conf.d/
[root@maychu2 ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/userparameter_mysql.conf //Đường dẫn tham số HOME phải khớp với đường dẫn .my.cnf được chỉnh sửa bên dưới
UserParameter=mysql.status[*],echo "show global status where Variable_name='$1';" | HOME=/usr/local/zabbix/etc mysql -N | awk '{print $$2}' //Dòng 5
UserParameter=mysql.size[*],bash -c 'echo "select sum($(case "$3" in both|"") echo "data_length+index_length";; data|index) echo "$3_length";; free) echo "data_free";;
esac)) from information_schema.tables$([[ "$1" = "all" || ! "$1" ]] || echo " where table_schema=\"$1\"")$([[ "$2" = "all" || ! "$2" ]] || echo "and table_name=\"$2\"");"
| HOME=/usr/local/zabbix/etc/ mysql -N' //Dòng 15
UserParameter=mysql.ping,HOME=/usr/local/zabbix/etc mysqladmin ping | grep -c alive //Dòng 17
[root@maychu2 ~]# vim /usr/local/zabbix/etc/.my.cnf //Cấu hình tệp kết nối cơ sở dữ liệu với zabbix. Đường dẫn phải khớp với userparameter_mysql.conf đã sửa ở trên
#Zabbix Agent
[mysql]
host=localhost
user=monitor
password=123456
socket=/usr/local/mysql/mysql.sock
[mysqladmin]
host=localhost
user=monitor
password=123456
socket=/usr/local/mysql/mysql.sock
[root@maychu2 ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf
# Include=/usr/local/etc/zabbix_agentd.userparams.conf //Dòng 263~265, chỉ kích hoạt một trong ba
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/ //Bỏ ghi chú, sửa và kích hoạt thư mục này
# Include=/usr/local/etc/zabbix_agentd.conf.d/*.conf
[root@maychu2 ~]# /etc/init.d/zabbix_agentd restart //Khởi động lại Restarting zabbix_agentd (via systemctl): [ OK ]
4) Kiểm tra trên máy giám sát
Nếu hiển thị lỗi sau, cần tạo liên kết mềm mysql và mysqladmin đến /usr/bin trên máy được giám sát (maychu2) (dù đã có biến môi trường, vẫn có thể gọi trực tiếp trên maychu2 nhưng nó không nhận)
[root@maychu1 ~]# /usr/local/zabbix/bin/zabbix_get -s192.168.5.102 -p10050 -k mysql.status[Uptime] sh: mysql: không tìm thấy lệnh [root@maychu1 ~]# /usr/local/zabbix/bin/zabbix_get -s192.168.5.102 -p10050 -k mysql.ping sh: mysqladmin: không tìm thấy lệnh
Tạo liên kết mềm
[root@maychu2 ~]# ln -s /usr/local/mysql/bin/mysql /usr/bin/ [root@maychu2 ~]# ln -s /usr/local/mysql/bin/mysqladmin /usr/bin/
Kiểm tra lại thành công
[root@maychu1 ~]# /usr/local/zabbix/bin/zabbix_get -s192.168.5.102 -p10050 -k mysql.status[Uptime] 414 [root@maychu1 ~]# /usr/local/zabbix/bin/zabbix_get -s192.168.5.102 -p10050 -k mysql.ping 1
5) Liên kết mẫu trên Web
A. Chọn máy chủ trong Cấu hình, nhấp vào tên bất kỳ máy chủ nào
B. Chọn mẫu, chọn mẫu Template DB MySQL, thêm và cập nhật
C. Sau đó có thể xem trong phần Giám sát.