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

25/12/2020

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átadd 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.

ONET IDC thành lập vào năm 2012, là công ty chuyên nghiệp tại Việt Nam trong lĩnh vực cung cấp dịch vụ Hosting, VPS, máy chủ vật lý, dịch vụ Firewall Anti DDoS, SSL… Với 10 năm xây dựng và phát triển, ứng dụng nhiều công nghệ hiện đại, ONET IDC đã giúp hàng ngàn khách hàng tin tưởng lựa chọn, mang lại sự ổn định tuyệt đối cho website của khách hàng để thúc đẩy việc kinh doanh đạt được hiệu quả và thành công.
Bài viết liên quan

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

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 Để...
25/12/2020

Hướng dẫn cài đặt MacOS trên AWS EC2

Step 1: Configure MacOS Amazon Machine Image Let’s start creating an AWS EC2 Instance. Go to AWS console and navigate to...
28/12/2020

DigitalOcean Alternatives

Monocultures are a bad idea. Especially, in the cloud oriented era, where companies are growing more and more dependent...
29/12/2020