我的伺服器是 Ubuntu 16.04,以下内容基于此版本系統。
一 環境準備
安裝 Apache web伺服器
sudo apt-get install apache2
複制代碼
- 測試: 浏覽器通路
,出現It Works!網頁。http://Ubuntu的IP
- 檢視狀态:
service apache2 status/start/stop/restart
- Web目錄:
/var/www
- 安裝目錄:
/etc/apache2/
- 全局配置:
/etc/apache2/apache2.conf
- 監聽端口:
/etc/apache2/ports.conf
- 虛拟主機:
/etc/apache2/sites-enabled/000-default.conf
安裝 mysql
sudo apt-get install mysql-server mysql-client
- 測試:
mysql -u root -p
- 檢視狀态:
service mysql status/start/stop/retart
- 檢視監聽端口的情況:
或netstat -tunpl
netstat -tap
安裝 php
sudo apt-get install php7.0
- 測試:
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();?>
- 浏覽器通路:
,出現PHP Version網頁http://ubuntu位址/phpinfo.php
-
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 [email protected] 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
#輸出
[email protected]:~# 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