Hướng dẫn monitor Tomcat trên Zabbix 5.0

Mở đầu

Trong bài viết trước, mình đã hướng dẫn những bước cài đặt Tomcat 9 cơ bản nhất trên nền tảng CentOS 7. Tiếp tục trong series này, hôm nay mình sẽ hướng dẫn các bạn giám sát tài nguyên Tomcat server trong quá trình vận hành các ứng dụng Java như: trạng thái service, session, request, threads…

Với series hệ thống monitor đã chia sẻ đến các bạn trước đó, mình nhận thấy Zabbix là một giải pháp open source, miễn phí nhưng hỗ trợ monitor rất đa dạng và khả năng tùy biến cao. Đặc biệt, với phiên bản 5.0 ở thời điểm hiện tại, Zabbix đã hỗ trợ giám sát Tomcat server nên còn ngại gì mà chúng ta không thử tích hợp.

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ương tự bài viết cài đặt Zabbix Agent trên server Linux).

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.

Lời kết

Như vậy là mình đã hoàn tất bài viết các bước chi tiết để cài đặt và cấu hình Zabbix server giám sát trạng thái hoạt động của Tomcat serverNếu có đóng góp ý kiến hoặc thắc mắc về nội dung bài viết, các bạn có thể comment ngay bên dưới.

Rất mong các bạn theo dõi những bài viết tiếp theo của mình trong chủ đề Zabbix và Tomcat trong thời gian tới nhé.

 

Chia sẻ

Hãy bình luận đầu tiên

Để lại một phản hồi

Thư điện tử của bạn sẽ không được hiện thị công khai.


*