Cài đặt và cấu hình
I. Cấu hình trên Zabbix server
1. Cài đặt và cấu hình Zabbix Java gateway
- Để giao tiếp với Tomcat service qua giao thức JMX, trên Zabbix server cần cài đặt service Zabbix Java gateway bằng lệnh sau:
# yum install zabbix-java-gateway
- Sau khi quá trình cài đặt hoàn tất, thêm đoạn code sau vào file cấu hình Java gateway theo đường dẫn /etc/zabbix/zabbix_java_gateway.conf
# uncomment to enable remote monitoring of the standard JMX objects on the Zabbix Java Gateway itself
JAVA_OPTIONS="$JAVA_OPTIONS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false"
- Khởi động Zabbix Java gateway (để áp dụng cấu hình) bằng lệnh bên dưới:
# systemctl restart zabbix-java-gateway
2. Cấu hình Zabbix server
- Thêm đoạn code sau vào cuối file cấu hình Zabbix server /etc/zabbix/zabbix_server.conf
# Java gateway (local)
JavaGateway=127.0.0.1
JavaGatewayPort=10052
StartJavaPollers=5
- Khởi động lại Zabbix server:
# systemctl restart zabbix-server
- Để Zabbix kết nối tới Java gateway cần mở port 10052 trên firewalld (hoặc iptables) bằng các lệnh sau:
# firewal-cmd --add-port=10052/tcp --permanent
# firewall-cmd --reload
II. Cấu hình trên Tomcat server
- Bật JMX Remote trên Tomcat server bằng cách thêm đoạn code sau vào file script setenv.sh trong thư mục bin (/opt/tomcat/bin/):
CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=172.16.1.110 -Dcom.sun.management.jmxremote.rmi.port=10052 -Djava.net.preferIPv4Stack=true"
Lưu ý: thay giá trị “172.16.1.110” bằng địa chỉ IP hoặc hostname của Tomcat server của bạn.
- Khởi động lại Tomcat service:
# systemctl restart tomcat
- Một lưu ý cực kỳ quan trọng, Tomcat server sẽ phản hồi zabbix-java-gateway bằng một port ngẫu nhiên để truy cập thông tin RMI (do cơ chế hoạt động của RMI), do đó bạn cần trust IP của Zabbix server trên firewall (hoặc tắt) của Tomcat server. Trong nội dung bài viết này, mình sẽ tắt Firewalld bằng lệnh sau:
# systemctl stop firewalld
III. Thêm Tomcat host trên giao diện Zabbix Web
Để giám sát Tomcat, các bạn đăng nhập vào trang quản trị (giao diện web) của Zabbix Server để thêm các máy chủ (hosts) đã kích hoạt JMX và bắt đầu giám sát tài nguyên của chúng
Tại giao diện chính, truy cập đến tab
Configuration ->
Hosts ->
Create Host ->
Host, nhập
Host name (hostname dạng FQDN của server cần giám sát) và
Visible name (cùng giá trị với Host name).
Thêm host này vào một nhóm (group) các server được giám sát
, add kiểu kết nối
JMX và nhập chính xác IP của Tomcat server vào mục
Interface như hình bên dưới.
Kế tiếp, di chuyển sang tab
Templates và nhấn chọn
Select và tìm chọn template có tên
Template App Apache Tomcat JMX
Quay lại giao diện của tab
Hosts, sau vài phút, bạn sẽ thấy thông tin của server Tomcat cần giám sát đã xuất hiện trong danh sách như hình bên dưới.
Chỉ cần phần
Status (trạng thái) của JMX được kích hoạt (
Enable), sau vài phút, dữ liệu về trạng thái hoạt động và tài nguyên của máy chủ Tomcat sẽ được thu thập và giám sát bởi Zabbix server.