Zabbbix 監控 tomcat

個人服務器是 Ubuntu 16.04,如下內容基於此版本系統。php

一 環境準備

安裝 Apache web服務器

sudo apt-get install apache2
複製代碼
  • 測試: 瀏覽器訪問http://Ubuntu的IP,出現It Works!網頁。html

  • 查看狀態service apache2 status/start/stop/restartjava

  • Web目錄/var/wwwmysql

  • 安裝目錄/etc/apache2/web

  • 全局配置/etc/apache2/apache2.confsql

  • 監聽端口/etc/apache2/ports.conf數據庫

  • 虛擬主機/etc/apache2/sites-enabled/000-default.confapache

安裝 mysql

sudo apt-get install mysql-server mysql-clientubuntu

  • 測試mysql -u root -p
  • 查看狀態service mysql status/start/stop/retart
  • 查看監聽端口的狀況netstat -tunplnetstat -tap

安裝 php

sudo apt-get install php7.0vim

  • 測試php7.0 -v

安裝輔助模塊

sudo apt-get install libapache2-mod-php7.0 sudo apt-get install php7.0-mysql

  • 重啓服務

    • service apache2 restart
    • service mysql restart
  • 測試Apache可否解析PHP

    • vim /var/www/html/phpinfo.php
    • 文件中寫:<?php echo phpinfo();?>
    • 瀏覽器訪問:http://ubuntu地址/phpinfo.php,出現PHP Version網頁

5.修改權限

sudo chmod 777 /var/www

二 安裝 Zabbix

安裝帶 MySql 數據庫的包

# wget https://repo.zabbix.com/zabbix/3.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.0-2+xenial_all.deb
# dpkg -i zabbix-release_3.0-2+xenial_all.deb
# apt update
複製代碼

安裝 Zabbix server, frontend, agent

# apt install zabbix-server-mysql zabbix-frontend-php zabbix-agent
複製代碼

建立初始數據庫

# mysql -uroot -p
password
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'password';
mysql> quit;
複製代碼

注意::password 處替換成你的。

導入初始化 schema 和數據。你須要輸入上面新設的密碼。 # zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix

配置數據庫

編輯 /etc/zabbix/zabbix_server.conf

DBPassword=password
複製代碼

配置 PHP

編輯 /etc/zabbix/apache.conf, 取消此行註釋並設置正確的時區。

php_value date.timezone Asia/Shanghai
複製代碼

啓動 Zabbix server 和 agent 進程

啓動 Zabbix server 和 agent 進程並使其開機啓動

# systemctl restart zabbix-server zabbix-agent apache2
# systemctl enable zabbix-server zabbix-agent apache2
複製代碼

三 初始化 Zabbix frontend

使用瀏覽器訪問 _http://ip/zabbix/setup.php

檢查環境,根據提示處理。

配置數據庫鏈接。

名字自定義便可。

進入登陸頁面,帳號 Admin 密碼 zabbix。

進入管理界面,而後就能夠添加主機了。

配置 JMX

zabbix提供了一個java gateway的應用去監控jmx(Java Management Extensions,即Java管理擴展)是一個爲應用程序、設備、系統等植入管理功能的框架。JMX能夠跨越一系列異構操做系統平臺、系統體系結構和網絡傳輸協議,靈活的開發無縫集成的系統、網絡和服務管理應用。

服務器端配置

安裝 Zabbix-java-gateway

Zabbix-java-gateway 是 Zabbix 用於監控 JMX 應用程序的服務進程。 須要 java 環境。

apt-get install zabbix-java-gateway
複製代碼

修改 java-gateway 配置文件

編輯/etc/zabbix/zabbix_java_gateway.conf

# 監聽地址
LISTEN_IP=」0.0.0.0″
# 監聽端口
LISTEN_PORT=10052
# PID_FILE文件
PID_FILE=」/var/run/zabbix/zabbix_java.pid」
# 開啓的工做線程數
START_POLLERS=5
複製代碼

啓動 zabbix-java-gateway

service zabbix-java-gateway start
複製代碼

驗證鏈接是否成功

ss -tunlp|grep 10052
複製代碼

修改 zabbix-server 配置文件並重啓

修改 zabbix-server 的配置,編輯/etc/zabbix/zabbix_server.conf

# JavaGateway的服務器IP地址
JavaGateway=127.0.0.1
# JavaGateway的服務端口
JavaGatewayPort=10052
# 從javaGateway採集數據的進程數
StartJavaPollers=5
複製代碼

修改完成後,重啓 zabbix-server。

service zabbix-server restart
複製代碼

注意:Zabbix Server/Proxy 中的 StartJavaPollers 要小於等於 Zabbix Java GateWay 配置文件中的 START_POLLERS。

客戶端配置

添加 tomcat 中 JMX 參數

編輯 bin 目錄下 catalina.sh,給 CATALINA_OPTS 添加如下變量:

CATALINA_OPTS="$CATALINA_OPTS -Djava.rmi.server.hostname=127.0.0.1 -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
複製代碼

重啓 tomcat

./shutdown.sh
./startup.sh
複製代碼

驗證是否啓動 jmx 監聽

lsof -i:12345
#輸出
root@vultr:~# lsof -i:12345
COMMAND   PID USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
java    14707 root   30u  IPv6 7816456      0t0  TCP *:12345 (LISTEN)
複製代碼

使用三方工具測試

下載 jmxcmd.jar

#wget http://nchc.dl.sourceforge.net/project/jmxcmd/jmxcmd.jar
複製代碼

測試

 java -jar jmxcmd.jar - yourip:12345 java.lang:type=Memory NonHeapMemoryUsage
#輸出
07/20/2018 05:30:15 +0000 de.layereight.jmxcmd.Client NonHeapMemoryUsage: 
committed: 44761088
init: 2555904
max: -1
used: 43533776
複製代碼

也可使用 Windows java 性能分析工具 jconsole。

若是 jconsole 沒法鏈接,多是 Linux 上 JVM 給 jconsole 的RMI配置文件不對,把上面 catalina.sh 中配置的 -Djava.rmi.server.hostname=127.0.0.1改成真實 ip。

配置監視主機

在 zabbix 中新建主機

添加模板

而後就能夠監測到 tomcat 運行時的數據。

固然也能夠導入自定義的模板,這裏提供一個自定義模板

版權聲明:尊重博主原創文章,轉載請註明出處 http://ietftech.com
相關文章
相關標籤/搜索