标签归档:Zabbix Java gateway

Zabbix Server 5 一键安装脚本

Zabbix一键安装脚本

Zabbix一键安装脚本长期维护,支持高度定制化,且交互式进行,支持多技术栈的多版本选择,可根据需要安装Nginx/PHP/MySQL/MariaDB/Zabbix/Adminer/phpMyAdmin/Grafana,适用于CentOS 7〜8,架构为 x86_64 bit 的系统。

安装方式:Nginx/Zabbix编译安装、MySQL/MariaDB二进制安装、Grafana rpm安装,所有安装包均来自于软件官方。另外,由于软件官方大多属于国外源下载较慢,下载期间请确保SSH终端连接状态。

脚本属性

  • 支持Nginx-1.19、Grafana-7.4;
  • 支持Zabbix Server/Agent选择性安装;
  • 支持多个数据库版本(MySQL-8,MariaDB-10.5);
  • 支持多个PHP版本(PHP-7.4,PHP-8.0);
  • 支持多个数据库管理工具(Adminer-4,phpMyAdmin-5);

最新版本(2021-02-13)

使用 SSH 连接工具连接到您的 Linux 服务器后,拷贝并执行如下命令开始安装:

curl -O https://renwole.com/sh/install_zabbix_v0.9.1.sh && bash install_zabbix_v0.9.1.sh

安装过程说明:https://renwole.com/ilnmp/install-zabbix

Zabbix安装后的相关信息:

  • Zabbix UI入口:http://IP/ui
  • Zabbix管理平台账号密码:Admin/zabbix
  • Zabbix数据库/账号/密码:zabbix/zabbix/zabbix

Grafana安装后的相关信息:

  • Grafana使用rpm安装
  • Grafana UI入口:http://IP:3000
  • Grafana UI登陆账号/密码:admin/admin

脚本支持模块

模块名描述
enable-server启用Zabbix Server
enable-agent启用Zabbix agent
enable-proxy启用Zabbix proxy可代理采集数据,从而分担单个 Zabbix server 的负载
enable-ipv6启用对IPV6协议的支持
enable-java启用Zabbix Java gateway以支持监控 JMX 应用程序
with-mysql启用MySQL做为后端存储数据库
with-iconv启用转码,例如GBK转UTF-8,防止乱码
with-libcurl启用Web监控、VMware监控以及SMTP(邮件发送)需要的组件
with-libxml2启用VMware监控所需组件
with-ssh2SSH检查是作为无代理程序监视执行的。SSH检查不需要Zabbix Agent
with-openipmi启用IPMI协议监控服务器温度、风扇转速等
with-net-snmp启用SNMP协议监控打印机、路由器、UPS等设备
以上模块在编译安装zabbix中已自动添加开启。

应用安装目录

软件名路径说明
Nginx/PHP/MySQL/Zabbix/apps/server所有ILNMP应用安装及数据存储目录
Zabbix ConfigFile/apps/server/zabbix/etcZabbix Server监控安装目录
Grafanarpm安装方式路径系统默认配置文件在/etc/下

更新日志及历史版本查看下载

Zabbix 3.4 JMX 监控 Tomcat 性能

先决条件:

Zabbix Servers 3.4 源代码编译安装
Linux Apache Tomcat 8.5 安装与配置

如果完成了以上安装的部署,继续下一步。

Zabbix服务器端配置:

1.配置 zabbix_server.conf

主要参数:

...
 #JavaGateway服务器地址,zabbix-server与zabbix_java_gateway在同台服务器。
 JavaGateway=10.10.204.62
 JavaGatewayPort=10052
 #设置javaGateway抓取数据的进程数,当设置为0时表示不具有抓取java信息的能力。
 StartJavaPollers=5
...

在Zabbix Servers安装过程中,以上参数我已经配置完成。

2.配置 Zabbix Java gateway

修改完成后的内容如下:

$ egrep -v '^#|^$' /usr/local/zabbix/sbin/zabbix_java/settings.sh

#Zabbix Servers IP
LISTEN_IP="0.0.0.0"
#Port
LISTEN_PORT=10052
#PID_FILE路径必须正确。
PID_FILE="/usr/local/zabbix/sbin/zabbix_java/zabbix_java.pid"
#START_POLLERS项是配置启动的进出数,若不配置 zabbix_java 依旧可以启动但无法抓取数据。
START_POLLERS=5
#网络超时时间。
TIMEOUT=3

3.启动 zabbix_java

$ /usr/local/zabbix/sbin/zabbix_java/startup.sh

启动后可通过 ss -ntlp 查看 10052 端口是否运行。

Zabbix Agent Tomcat 客户端配置:

1.在 catalina.sh文件 Execute The Requested Command 上行或最上面添加以下内容:

$ vim /usr/local/tomcat/bin/catalina.sh
export CATALINA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=10.10.204.65"

含义说明:

CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote #启用JMX远程监控。
-Dcom.sun.management.jmxremote.ssl=false #是否使用SSL。
-Dcom.sun.management.jmxremote.authenticate=false #是否开启认证。
-Djava.rmi.server.hostname=10.10.204.65" #Tomcat所在服务器IP。

2.修改Tomcat server.xml 配置文件

在 <Server port=”8005″ shutdown=”SHUTDOWN”> 换行添加以下内容:

$ vim /usr/local/tomcat/conf/server.xml
<Listener className="org.apache.catalina.mbeans.JmxRemoteLifecycleListener" rmiRegistryPortPlatform="10053" rmiServerPortPlatform="10053"/>

3.重启 Tomcat 服务

$ systemctl restart tomcat

4.设置 Firewalld

$ firewall-cmd --zone=public --add-port=10053/tcp --permanent
$ firewall-cmd --reload

5.在 Zabbix server 检测数据

在zabbix 服务端使用 cmdline-jmxclient-0.10.3.jar 检测是否可以抓取数据

$ java -jar /tmp/cmdline-jmxclient-0.10.3.jar - 10.10.204.65:10053 java.lang:type=Memory NonHeapMemoryUsage
09/15/2017 19:06:49 +0800 org.archive.jmx.Client NonHeapMemoryUsage:
committed: 33406976
init: 2555904
max: -1
used: 32079720

成功获取数据。

之后在zabbix web界面添加主机并链接模板即可。

Template App Apache Tomcat JMX
Template App Generic Java JMX

以上两个模板是系统默认的,添加即可,其中有一些参数不通用,需要手动修改。