Inhaltsverzeichnis
zabbix监控nginx
zabbix监控tomcat
zabbix监控mysql
Heim Betrieb und Instandhaltung Nginx So überwachen Sie Nginx/Tomcat/MySQL mit Zabbix

So überwachen Sie Nginx/Tomcat/MySQL mit Zabbix

May 17, 2023 pm 08:31 PM
nginx tomcat zabbix

zabbix监控nginx

a机器:zabbix服务端(192.168.234.128) b机器:zabbix客户端(192.168.234.125)

在b机器(zabbix客户端)操作:

编辑nginx虚拟主机配置文件:

[root@centos ~]# vi /etc/nginx/conf.d/default.conf
Nach dem Login kopieren

在server{}中添加以下内容:

 location /nginx_status
 {
  stub_status on;
  access_log off;
  allow 127.0.0.1;
  deny all;
 }
Nach dem Login kopieren

重载nginx配置:

[root@centos ~]# nginx -s reload
Nach dem Login kopieren

测试:

[root@centos ~]# curl http://127.0.0.1/nginx_status
active connections: 1 
server accepts handled requests
 3 3 3 
reading: 0 writing: 1 waiting: 0
Nach dem Login kopieren

#nginx状态信息已显示

状态说明:

So überwachen Sie Nginx/Tomcat/MySQL mit Zabbix

添加监控脚本:

vi /usr/local/sbin/ngx_status.sh
Nach dem Login kopieren

添加以下内容:

#!/bin/bash
url="http://127.0.0.1/nginx_status"
curl=/usr/bin/curl

# 检测nginx进程是否存在
function ping {
 /sbin/pidof nginx | wc -l 
}
# 检测nginx性能
function active {
 $curl $url 2>/dev/null| grep 'active' | awk '{print $nf}'
}
function reading {
 $curl $url 2>/dev/null| grep 'reading' | awk '{print $2}'
}
function writing {
 $curl $url 2>/dev/null| grep 'writing' | awk '{print $4}'
}
function waiting {
 $curl $url 2>/dev/null| grep 'waiting' | awk '{print $6}'
}
function accepts {
 $curl $url 2>/dev/null| awk nr==3 | awk '{print $1}'
}
function handled {
 $curl $url 2>/dev/null| awk nr==3 | awk '{print $2}'
}
function requests {
 $curl $url 2>/dev/null| awk nr==3 | awk '{print $3}'
}
$1
Nach dem Login kopieren

添加权限:

[root@centos ~]# chmod 755 /usr/local/sbin/ngx_status.sh
Nach dem Login kopieren

编辑zabbix_agent配置文件:

[root@centos ~]# vi /etc/zabbix/zabbix_agentd.conf
Nach dem Login kopieren

在option:userparameter处添加:userparameter=nginx.status[*],/usr/local/sbin/ngx_status.sh $1

So überwachen Sie Nginx/Tomcat/MySQL mit Zabbix

重启服务:

[root@centos ~]# systemctl restart zabbix-agent
Nach dem Login kopieren

在a机器(服务端)测试:

[root@zabbix ~]# zabbix_get -s 192.168.234.125 -k 'nginx.status[accepts]'
6
Nach dem Login kopieren

在本机创建.xml文件并添加以下内容:(文件名称自定义)

<?xml version="1.0" encoding="utf-8"?>
<zabbix_export>
 <version>4.0</version>
 <date>2019-02-11t07:29:29z</date>
 <groups>
  <group>
   <name>templates</name>
  </group>
 </groups>
 <templates>
  <template>
   <template>template app nginx</template>
   <name>template app nginx</name>
   <description/>
   <groups>
    <group>
     <name>templates</name>
    </group>
   </groups>
   <applications>
    <application>
     <name>nginx</name>
    </application>
   </applications>
   <items>
    <item>
     <name>nginx status server accepts</name>
     <type>0</type>
     <snmp_community/>
     <snmp_oid/>
     <key>nginx.status[accepts]</key>
     <delay>60</delay>
     <history>90d</history>
     <trends>365d</trends>
     <status>0</status>
     <value_type>3</value_type>
     <allowed_hosts/>
     <units/>
     <snmpv3_contextname/>
     <snmpv3_securityname/>
     <snmpv3_securitylevel>0</snmpv3_securitylevel>
     <snmpv3_authprotocol>0</snmpv3_authprotocol>
     <snmpv3_authpassphrase/>
     <snmpv3_privprotocol>0</snmpv3_privprotocol>
     <snmpv3_privpassphrase/>
     <params/>
     <ipmi_sensor/>
     <authtype>0</authtype>
     <username/>
     <password/>
     <publickey/>
     <privatekey/>
     <port/>
     <description>accepts</description>
     <inventory_link>0</inventory_link>
     <applications>
      <application>
       <name>nginx</name>
      </application>
     </applications>
     <valuemap/>
     <logtimefmt/>
     <preprocessing>
      <step>
       <type>10</type>
       <params/>
      </step>
     </preprocessing>
     <jmx_endpoint/>
     <timeout>3s</timeout>
     <url/>
     <query_fields/>
     <posts/>
     <status_codes>200</status_codes>
     <follow_redirects>1</follow_redirects>
     <post_type>0</post_type>
     <http_proxy/>
     <headers/>
     <retrieve_mode>0</retrieve_mode>
     <request_method>0</request_method>
     <output_format>0</output_format>
     <allow_traps>0</allow_traps>
     <ssl_cert_file/>
     <ssl_key_file/>
     <ssl_key_password/>
     <verify_peer>0</verify_peer>
     <verify_host>0</verify_host>
     <master_item/>
    </item>
    <item>
     <name>nginx status connections active</name>
     <type>0</type>
     <snmp_community/>
     <snmp_oid/>
     <key>nginx.status[active]</key>
     <delay>60</delay>
     <history>90d</history>
     <trends>365d</trends>
     <status>0</status>
     <value_type>3</value_type>
     <allowed_hosts/>
     <units/>
     <snmpv3_contextname/>
     <snmpv3_securityname/>
     <snmpv3_securitylevel>0</snmpv3_securitylevel>
     <snmpv3_authprotocol>0</snmpv3_authprotocol>
     <snmpv3_authpassphrase/>
     <snmpv3_privprotocol>0</snmpv3_privprotocol>
     <snmpv3_privpassphrase/>
     <params/>
     <ipmi_sensor/>
     <authtype>0</authtype>
     <username/>
     <password/>
     <publickey/>
     <privatekey/>
     <port/>
     <description>active</description>
     <inventory_link>0</inventory_link>
     <applications>
      <application>
       <name>nginx</name>
      </application>
     </applications>
     <valuemap/>
     <logtimefmt/>
     <preprocessing/>
     <jmx_endpoint/>
     <timeout>3s</timeout>
     <url/>
     <query_fields/>
     <posts/>
     <status_codes>200</status_codes>
     <follow_redirects>1</follow_redirects>
     <post_type>0</post_type>
     <http_proxy/>
     <headers/>
     <retrieve_mode>0</retrieve_mode>
     <request_method>0</request_method>
     <output_format>0</output_format>
     <allow_traps>0</allow_traps>
     <ssl_cert_file/>
     <ssl_key_file/>
     <ssl_key_password/>
     <verify_peer>0</verify_peer>
     <verify_host>0</verify_host>
     <master_item/>
    </item>
    <item>
     <name>nginx status server handled</name>
     <type>0</type>
     <snmp_community/>
     <snmp_oid/>
     <key>nginx.status[handled]</key>
     <delay>60</delay>
     <history>90d</history>
     <trends>365d</trends>
     <status>0</status>
     <value_type>3</value_type>
     <allowed_hosts/>
     <units/>
     <snmpv3_contextname/>
     <snmpv3_securityname/>
     <snmpv3_securitylevel>0</snmpv3_securitylevel>
     <snmpv3_authprotocol>0</snmpv3_authprotocol>
     <snmpv3_authpassphrase/>
     <snmpv3_privprotocol>0</snmpv3_privprotocol>
     <snmpv3_privpassphrase/>
     <params/>
     <ipmi_sensor/>
     <authtype>0</authtype>
     <username/>
     <password/>
     <publickey/>
     <privatekey/>
     <port/>
     <description>handled</description>
     <inventory_link>0</inventory_link>
     <applications>
      <application>
       <name>nginx</name>
      </application>
     </applications>
     <valuemap/>
     <logtimefmt/>
     <preprocessing>
      <step>
       <type>10</type>
       <params/>
      </step>
     </preprocessing>
     <jmx_endpoint/>
     <timeout>3s</timeout>
     <url/>
     <query_fields/>
     <posts/>
     <status_codes>200</status_codes>
     <follow_redirects>1</follow_redirects>
     <post_type>0</post_type>
     <http_proxy/>
     <headers/>
     <retrieve_mode>0</retrieve_mode>
     <request_method>0</request_method>
     <output_format>0</output_format>
     <allow_traps>0</allow_traps>
     <ssl_cert_file/>
     <ssl_key_file/>
     <ssl_key_password/>
     <verify_peer>0</verify_peer>
     <verify_host>0</verify_host>
     <master_item/>
    </item>
    <item>
     <name>nginx status ping</name>
     <type>0</type>
     <snmp_community/>
     <snmp_oid/>
     <key>nginx.status[ping]</key>
     <delay>60</delay>
     <history>30d</history>
     <trends>365d</trends>
     <status>0</status>
     <value_type>3</value_type>
     <allowed_hosts/>
     <units/>
     <snmpv3_contextname/>
     <snmpv3_securityname/>
     <snmpv3_securitylevel>0</snmpv3_securitylevel>
     <snmpv3_authprotocol>0</snmpv3_authprotocol>
     <snmpv3_authpassphrase/>
     <snmpv3_privprotocol>0</snmpv3_privprotocol>
     <snmpv3_privpassphrase/>
     <params/>
     <ipmi_sensor/>
     <authtype>0</authtype>
     <username/>
     <password/>
     <publickey/>
     <privatekey/>
     <port/>
     <description>is live</description>
     <inventory_link>0</inventory_link>
     <applications>
      <application>
       <name>nginx</name>
      </application>
     </applications>
     <valuemap>
      <name>service state</name>
     </valuemap>
     <logtimefmt/>
     <preprocessing/>
     <jmx_endpoint/>
     <timeout>3s</timeout>
     <url/>
     <query_fields/>
     <posts/>
     <status_codes>200</status_codes>
     <follow_redirects>1</follow_redirects>
     <post_type>0</post_type>
     <http_proxy/>
     <headers/>
     <retrieve_mode>0</retrieve_mode>
     <request_method>0</request_method>
     <output_format>0</output_format>
     <allow_traps>0</allow_traps>
     <ssl_cert_file/>
     <ssl_key_file/>
     <ssl_key_password/>
     <verify_peer>0</verify_peer>
     <verify_host>0</verify_host>
     <master_item/>
    </item>
    <item>
     <name>nginx status connections reading</name>
     <type>0</type>
     <snmp_community/>
     <snmp_oid/>
     <key>nginx.status[reading]</key>
     <delay>60</delay>
     <history>90d</history>
     <trends>365d</trends>
     <status>0</status>
     <value_type>3</value_type>
     <allowed_hosts/>
     <units/>
     <snmpv3_contextname/>
     <snmpv3_securityname/>
     <snmpv3_securitylevel>0</snmpv3_securitylevel>
     <snmpv3_authprotocol>0</snmpv3_authprotocol>
     <snmpv3_authpassphrase/>
     <snmpv3_privprotocol>0</snmpv3_privprotocol>
     <snmpv3_privpassphrase/>
     <params/>
     <ipmi_sensor/>
     <authtype>0</authtype>
     <username/>
     <password/>
     <publickey/>
     <privatekey/>
     <port/>
     <description>reading</description>
     <inventory_link>0</inventory_link>
     <applications>
      <application>
       <name>nginx</name>
      </application>
     </applications>
     <valuemap/>
     <logtimefmt/>
     <preprocessing/>
     <jmx_endpoint/>
     <timeout>3s</timeout>
     <url/>
     <query_fields/>
     <posts/>
     <status_codes>200</status_codes>
     <follow_redirects>1</follow_redirects>
     <post_type>0</post_type>
     <http_proxy/>
     <headers/>
     <retrieve_mode>0</retrieve_mode>
     <request_method>0</request_method>
     <output_format>0</output_format>
     <allow_traps>0</allow_traps>
     <ssl_cert_file/>
     <ssl_key_file/>
     <ssl_key_password/>
     <verify_peer>0</verify_peer>
     <verify_host>0</verify_host>
     <master_item/>
    </item>
    <item>
     <name>nginx status server requests</name>
     <type>0</type>
     <snmp_community/>
     <snmp_oid/>
     <key>nginx.status[requests]</key>
     <delay>60</delay>
     <history>90d</history>
     <trends>365d</trends>
     <status>0</status>
     <value_type>3</value_type>
     <allowed_hosts/>
     <units/>
     <snmpv3_contextname/>
     <snmpv3_securityname/>
     <snmpv3_securitylevel>0</snmpv3_securitylevel>
     <snmpv3_authprotocol>0</snmpv3_authprotocol>
     <snmpv3_authpassphrase/>
     <snmpv3_privprotocol>0</snmpv3_privprotocol>
     <snmpv3_privpassphrase/>
     <params/>
     <ipmi_sensor/>
     <authtype>0</authtype>
     <username/>
     <password/>
     <publickey/>
     <privatekey/>
     <port/>
     <description>requests</description>
     <inventory_link>0</inventory_link>
     <applications>
      <application>
       <name>nginx</name>
      </application>
     </applications>
     <valuemap/>
     <logtimefmt/>
     <preprocessing>
      <step>
       <type>10</type>
       <params/>
      </step>
     </preprocessing>
     <jmx_endpoint/>
     <timeout>3s</timeout>
     <url/>
     <query_fields/>
     <posts/>
     <status_codes>200</status_codes>
     <follow_redirects>1</follow_redirects>
     <post_type>0</post_type>
     <http_proxy/>
     <headers/>
     <retrieve_mode>0</retrieve_mode>
     <request_method>0</request_method>
     <output_format>0</output_format>
     <allow_traps>0</allow_traps>
     <ssl_cert_file/>
     <ssl_key_file/>
     <ssl_key_password/>
     <verify_peer>0</verify_peer>
     <verify_host>0</verify_host>
     <master_item/>
    </item>
    <item>
     <name>nginx status connections waiting</name>
     <type>0</type>
     <snmp_community/>
     <snmp_oid/>
     <key>nginx.status[waiting]</key>
     <delay>60</delay>
     <history>90d</history>
     <trends>365d</trends>
     <status>0</status>
     <value_type>3</value_type>
     <allowed_hosts/>
     <units/>
     <snmpv3_contextname/>
     <snmpv3_securityname/>
     <snmpv3_securitylevel>0</snmpv3_securitylevel>
     <snmpv3_authprotocol>0</snmpv3_authprotocol>
     <snmpv3_authpassphrase/>
     <snmpv3_privprotocol>0</snmpv3_privprotocol>
     <snmpv3_privpassphrase/>
     <params/>
     <ipmi_sensor/>
     <authtype>0</authtype>
     <username/>
     <password/>
     <publickey/>
     <privatekey/>
     <port/>
     <description>waiting</description>
     <inventory_link>0</inventory_link>
     <applications>
      <application>
       <name>nginx</name>
      </application>
     </applications>
     <valuemap/>
     <logtimefmt/>
     <preprocessing/>
     <jmx_endpoint/>
     <timeout>3s</timeout>
     <url/>
     <query_fields/>
     <posts/>
     <status_codes>200</status_codes>
     <follow_redirects>1</follow_redirects>
     <post_type>0</post_type>
     <http_proxy/>
     <headers/>
     <retrieve_mode>0</retrieve_mode>
     <request_method>0</request_method>
     <output_format>0</output_format>
     <allow_traps>0</allow_traps>
     <ssl_cert_file/>
     <ssl_key_file/>
     <ssl_key_password/>
     <verify_peer>0</verify_peer>
     <verify_host>0</verify_host>
     <master_item/>
    </item>
    <item>
     <name>nginx status connections writing</name>
     <type>0</type>
     <snmp_community/>
     <snmp_oid/>
     <key>nginx.status[writing]</key>
     <delay>60</delay>
     <history>90d</history>
     <trends>365d</trends>
     <status>0</status>
     <value_type>3</value_type>
     <allowed_hosts/>
     <units/>
     <snmpv3_contextname/>
     <snmpv3_securityname/>
     <snmpv3_securitylevel>0</snmpv3_securitylevel>
     <snmpv3_authprotocol>0</snmpv3_authprotocol>
     <snmpv3_authpassphrase/>
     <snmpv3_privprotocol>0</snmpv3_privprotocol>
     <snmpv3_privpassphrase/>
     <params/>
     <ipmi_sensor/>
     <authtype>0</authtype>
     <username/>
     <password/>
     <publickey/>
     <privatekey/>
     <port/>
     <description>writing</description>
     <inventory_link>0</inventory_link>
     <applications>
      <application>
       <name>nginx</name>
      </application>
     </applications>
     <valuemap/>
     <logtimefmt/>
     <preprocessing/>
     <jmx_endpoint/>
     <timeout>3s</timeout>
     <url/>
     <query_fields/>
     <posts/>
     <status_codes>200</status_codes>
     <follow_redirects>1</follow_redirects>
     <post_type>0</post_type>
     <http_proxy/>
     <headers/>
     <retrieve_mode>0</retrieve_mode>
     <request_method>0</request_method>
     <output_format>0</output_format>
     <allow_traps>0</allow_traps>
     <ssl_cert_file/>
     <ssl_key_file/>
     <ssl_key_password/>
     <verify_peer>0</verify_peer>
     <verify_host>0</verify_host>
     <master_item/>
    </item>
   </items>
   <discovery_rules/>
   <httptests/>
   <macros/>
   <templates/>
   <screens/>
  </template>
 </templates>
 <triggers>
  <trigger>
   <expression>{template app nginx:nginx.status[ping].last()}=0</expression>
   <recovery_mode>0</recovery_mode>
   <recovery_expression/>
   <name>nginx was down!</name>
   <correlation_mode>0</correlation_mode>
   <correlation_tag/>
   <url/>
   <status>0</status>
   <priority>4</priority>
   <description>nginx进程数:0,请注意</description>
   <type>0</type>
   <manual_close>0</manual_close>
   <dependencies/>
   <tags/>
  </trigger>
 </triggers>
 <graphs>
  <graph>
   <name>nginx status connections</name>
   <width>900</width>
   <height>200</height>
   <yaxismin>0.0000</yaxismin>
   <yaxismax>100.0000</yaxismax>
   <show_work_period>1</show_work_period>
   <show_triggers>1</show_triggers>
   <type>0</type>
   <show_legend>1</show_legend>
   <show_3d>0</show_3d>
   <percent_left>0.0000</percent_left>
   <percent_right>0.0000</percent_right>
   <ymin_type_1>0</ymin_type_1>
   <ymax_type_1>0</ymax_type_1>
   <ymin_item_1>0</ymin_item_1>
   <ymax_item_1>0</ymax_item_1>
   <graph_items>
    <graph_item>
     <sortorder>0</sortorder>
     <drawtype>0</drawtype>
     <color>00c800</color>
     <yaxisside>0</yaxisside>
     <calc_fnc>2</calc_fnc>
     <type>0</type>
     <item>
      <host>template app nginx</host>
      <key>nginx.status[active]</key>
     </item>
    </graph_item>
    <graph_item>
     <sortorder>1</sortorder>
     <drawtype>0</drawtype>
     <color>c80000</color>
     <yaxisside>0</yaxisside>
     <calc_fnc>2</calc_fnc>
     <type>0</type>
     <item>
      <host>template app nginx</host>
      <key>nginx.status[reading]</key>
     </item>
    </graph_item>
    <graph_item>
     <sortorder>2</sortorder>
     <drawtype>0</drawtype>
     <color>0000c8</color>
     <yaxisside>0</yaxisside>
     <calc_fnc>2</calc_fnc>
     <type>0</type>
     <item>
      <host>template app nginx</host>
      <key>nginx.status[waiting]</key>
     </item>
    </graph_item>
    <graph_item>
     <sortorder>3</sortorder>
     <drawtype>0</drawtype>
     <color>c800c8</color>
     <yaxisside>0</yaxisside>
     <calc_fnc>2</calc_fnc>
     <type>0</type>
     <item>
      <host>template app nginx</host>
      <key>nginx.status[writing]</key>
     </item>
    </graph_item>
   </graph_items>
  </graph>
  <graph>
   <name>nginx status server</name>
   <width>900</width>
   <height>200</height>
   <yaxismin>0.0000</yaxismin>
   <yaxismax>100.0000</yaxismax>
   <show_work_period>1</show_work_period>
   <show_triggers>1</show_triggers>
   <type>0</type>
   <show_legend>1</show_legend>
   <show_3d>0</show_3d>
   <percent_left>0.0000</percent_left>
   <percent_right>0.0000</percent_right>
   <ymin_type_1>0</ymin_type_1>
   <ymax_type_1>0</ymax_type_1>
   <ymin_item_1>0</ymin_item_1>
   <ymax_item_1>0</ymax_item_1>
   <graph_items>
    <graph_item>
     <sortorder>0</sortorder>
     <drawtype>0</drawtype>
     <color>00c800</color>
     <yaxisside>0</yaxisside>
     <calc_fnc>2</calc_fnc>
     <type>0</type>
     <item>
      <host>template app nginx</host>
      <key>nginx.status[accepts]</key>
     </item>
    </graph_item>
    <graph_item>
     <sortorder>1</sortorder>
     <drawtype>0</drawtype>
     <color>c80000</color>
     <yaxisside>0</yaxisside>
     <calc_fnc>2</calc_fnc>
     <type>0</type>
     <item>
      <host>template app nginx</host>
      <key>nginx.status[handled]</key>
     </item>
    </graph_item>
    <graph_item>
     <sortorder>2</sortorder>
     <drawtype>0</drawtype>
     <color>0000c8</color>
     <yaxisside>0</yaxisside>
     <calc_fnc>2</calc_fnc>
     <type>0</type>
     <item>
      <host>template app nginx</host>
      <key>nginx.status[requests]</key>
     </item>
    </graph_item>
   </graph_items>
  </graph>
 </graphs>
 <value_maps>
  <value_map>
   <name>service state</name>
   <mappings>
    <mapping>
     <value>0</value>
     <newvalue>down</newvalue>
    </mapping>
    <mapping>
     <value>1</value>
     <newvalue>up</newvalue>
    </mapping>
   </mappings>
  </value_map>
 </value_maps>
</zabbix_export>
Nach dem Login kopieren

在zabbix前端页面点击配置→模板→导入:

So überwachen Sie Nginx/Tomcat/MySQL mit Zabbix

#导入刚才创建的xml文件即可

导入成功后在主机列表页面选择被监控的机器(b机器)链接该模板即可开始监控nginx

zabbix监控tomcat

a机器:zabbix服务端(192.168.234.128) b机器:zabbix客户端(192.168.234.125)

在a机器安装zabbix-java-gateway:

[root@zabbix ~]# wget https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-java-gateway-4.0.14-1.el7.x86_64.rpm

[root@zabbix ~]# yum -y localinstall zabbix-java-gateway-4.0.14-1.el7.x86_64.rpm
Nach dem Login kopieren

编辑gateway配置文件:

[root@zabbix ~]# vi /etc/zabbix/zabbix_java_gateway.conf
Nach dem Login kopieren

去掉listen_ip、listen_port(监听端口)、start_pollers(进程数)的注释符号#:

So überwachen Sie Nginx/Tomcat/MySQL mit Zabbix

#listen_ip定义被监控机器的地址,不指定默认监听全部机器

编辑server配置文件:

[root@zabbix ~]# vi /etc/zabbix/zabbix_server.conf
Nach dem Login kopieren

定义以下3个配置参数:

So überwachen Sie Nginx/Tomcat/MySQL mit Zabbix

启动zabbix-java-gateway服务:

[root@zabbix ~]# systemctl start zabbix-java-gateway
Nach dem Login kopieren

重启zabbix-server服务:

[root@zabbix ~]# systemctl restart zabbix-server
Nach dem Login kopieren

查看监听端口:

[root@zabbix ~]# netstat -lntp |grep java
tcp6  0  0 :::10052    :::*     listen  8706/java
Nach dem Login kopieren

开启jmx

在b机器编辑tomcat配置文件:

[root@centos ~]# vi /usr/local/tomcat/bin/catalina.sh
Nach dem Login kopieren

添加以下内容:

export catalina_opts="$catalina_opts -dcom.sun.management.jmxremote
-djava.rmi.server.hostname=192.168.234.125
-dcom.sun.management.jmxremote.port=9999
-dcom.sun.management.jmxremote.ssl=false
-dcom.sun.management.jmxremote.authenticate=false"
Nach dem Login kopieren

#hostname定义b机器地址,端口9999(默认12345)

重启tomcat:

[root@centos ~]# /usr/local/tomcat/bin/shutdown.sh 

[root@centos ~]# /usr/local/tomcat/bin/startup.sh
Nach dem Login kopieren

查看监听端口9999:

[root@centos ~]# netstat -lntp |grep 9999
tcp6  0  0 :::9999     :::*     listen  25861/java
Nach dem Login kopieren

进入zabbix前端页面添加主机:

So überwachen Sie Nginx/Tomcat/MySQL mit Zabbix

#与普通情况添加监控主机不同,监控b机器的tomcat需要配置jmx接口

模板链接jmx相关的两个模板:

So überwachen Sie Nginx/Tomcat/MySQL mit Zabbix

当jmx图标变绿即表示配置成功:

So überwachen Sie Nginx/Tomcat/MySQL mit Zabbix

zabbix监控mysql

a机器:zabbix服务端(192.168.234.128) b机器:zabbix客户端(192.168.234.125)

zabbix_agent定义mysql监控的配置文件:/etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf

在b机器登录mysql创建用户:

mysql> grant usage,process,replication client on *.* to zamysql@&#39;localhost&#39; identified by &#39;zamysql&#39;;
Nach dem Login kopieren

创建配置文件指定的目录:

[root@centos ~]# mkdir /var/lib/zabbix
Nach dem Login kopieren

创建my.cnf文件:

[root@centos ~]# vi /var/lib/zabbix/.my.cnf
Nach dem Login kopieren

#需要注意该文件是隐藏文件

添加以下内容:

[mysql]
host=localhost
user=zamysql
password=&#39;zamysql&#39;
socket=/tmp/mysql.sock

[mysqladmin]
host=localhost
user=zamysql
password=&#39;zamysql&#39;
socket=/tmp/mysql.sock
Nach dem Login kopieren

在a机器测试:

[root@zabbix ~]# zabbix_get -s 192.168.234.125 -p 10050 -k mysql.ping
1
[root@zabbix ~]# zabbix_get -s 192.168.234.125 -p 10050 -k mysql.version
mysql ver 14.14 distrib 5.6.43, for linux-glibc2.12 (x86_64) using editline wrapper
[root@zabbix ~]# zabbix_get -s 192.168.234.125 -p 10050 -k mysql.size
10240
Nach dem Login kopieren

#已成功获取数据

在zabbix前端页面添加主机:

So überwachen Sie Nginx/Tomcat/MySQL mit Zabbix

监控模板选择db mysql:

So überwachen Sie Nginx/Tomcat/MySQL mit Zabbix

zbx标准变为绿色表示成功:

So überwachen Sie Nginx/Tomcat/MySQL mit Zabbix

在监测→最新数据页面即可查看mysql监控数据:

So überwachen Sie Nginx/Tomcat/MySQL mit Zabbix

Das obige ist der detaillierte Inhalt vonSo überwachen Sie Nginx/Tomcat/MySQL mit Zabbix. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So stellen Sie mehrere Projekte in Tomcat bereit So stellen Sie mehrere Projekte in Tomcat bereit Apr 21, 2024 am 09:33 AM

Um mehrere Projekte über Tomcat bereitzustellen, müssen Sie für jedes Projekt ein Webapp-Verzeichnis erstellen und dann: Automatische Bereitstellung: Platzieren Sie das Webapp-Verzeichnis im Webapps-Verzeichnis von Tomcat. Manuelle Bereitstellung: Stellen Sie das Projekt manuell in der Manager-Anwendung von Tomcat bereit. Sobald das Projekt bereitgestellt ist, kann über seinen Bereitstellungsnamen darauf zugegriffen werden, zum Beispiel: http://localhost:8080/project1.

So konfigurieren Sie den Domänennamen in Tomcat So konfigurieren Sie den Domänennamen in Tomcat Apr 21, 2024 am 09:52 AM

Um Tomcat für die Verwendung eines Domänennamens zu konfigurieren, führen Sie die folgenden Schritte aus: Erstellen Sie eine server.xml-Sicherung. Öffnen Sie server.xml, fügen Sie das Host-Element hinzu und ersetzen Sie example.com durch Ihren Domänennamen. Erstellen Sie ein SSL-Zertifikat für den Domänennamen (falls erforderlich). Fügen Sie einen SSL-Connector in server.xml hinzu, ändern Sie den Port, die Keystore-Datei und das Passwort. Speichern Sie server.xml. Starten Sie Tomcat neu.

So generieren Sie eine URL aus einer HTML-Datei So generieren Sie eine URL aus einer HTML-Datei Apr 21, 2024 pm 12:57 PM

Für die Konvertierung einer HTML-Datei in eine URL ist ein Webserver erforderlich. Dazu sind die folgenden Schritte erforderlich: Besorgen Sie sich einen Webserver. Richten Sie einen Webserver ein. Laden Sie eine HTML-Datei hoch. Erstellen Sie einen Domainnamen. Leiten Sie die Anfrage weiter.

Gründe für verstümmelte Zeichen in Tomcat Gründe für verstümmelte Zeichen in Tomcat Apr 21, 2024 am 10:18 AM

Gründe für verstümmelte Tomcat-Zeichen: 1. Nicht übereinstimmende Zeichensätze; 2. Der HTTP-Antwort-Header ist nicht richtig eingestellt. 4. Die Webseitenkodierung ist falsch Kodierungs- und Proxy-Server-Probleme).

So fügen Sie einen Server in Eclipse hinzu So fügen Sie einen Server in Eclipse hinzu May 05, 2024 pm 07:27 PM

Um einen Server zu Eclipse hinzuzufügen, führen Sie die folgenden Schritte aus: Erstellen Sie eine Serverlaufzeitumgebung. Konfigurieren Sie den Server. Erstellen Sie eine Serverinstanz. Wählen Sie die Serverlaufzeitumgebung aus. Konfigurieren Sie die Serverinstanz. Starten Sie das Serverbereitstellungsprojekt

So greifen Sie auf die Seite zu, nachdem Tomcat gestartet wurde So greifen Sie auf die Seite zu, nachdem Tomcat gestartet wurde Apr 21, 2024 am 10:30 AM

Um nach dem Start von Tomcat auf die Seite zuzugreifen, müssen Sie: den Tomcat-Server starten; die URL, einschließlich IP-Adresse, Portnummer und Seitenpfad, zusammenfügen; ​URL; Identifizieren Sie die Tomcat-Willkommensseite. Verwenden Sie dasselbe Format, um auf andere Seiten zuzugreifen.

So stellen Sie eine Website mit PHP bereit und pflegen sie So stellen Sie eine Website mit PHP bereit und pflegen sie May 03, 2024 am 08:54 AM

Um eine PHP-Website erfolgreich bereitzustellen und zu warten, müssen Sie die folgenden Schritte ausführen: Wählen Sie einen Webserver (z. B. Apache oder Nginx). Installieren Sie PHP. Erstellen Sie eine Datenbank und verbinden Sie PHP. Laden Sie Code auf den Server hoch. Richten Sie den Domänennamen und die DNS-Überwachung der Website-Wartung ein Zu den Schritten gehören die Aktualisierung von PHP und Webservern sowie die Sicherung der Website, die Überwachung von Fehlerprotokollen und die Aktualisierung von Inhalten.

So schützen Sie Ihren Server mit Fail2Ban vor Brute-Force-Angriffen So schützen Sie Ihren Server mit Fail2Ban vor Brute-Force-Angriffen Apr 27, 2024 am 08:34 AM

Eine wichtige Aufgabe für Linux-Administratoren besteht darin, den Server vor illegalen Angriffen oder Zugriffen zu schützen. Linux-Systeme verfügen standardmäßig über gut konfigurierte Firewalls wie iptables, Uncomplicated Firewall (UFW), ConfigServerSecurityFirewall (CSF) usw., die eine Vielzahl von Angriffen verhindern können. Jeder mit dem Internet verbundene Computer ist ein potenzielles Ziel für böswillige Angriffe. Es gibt ein Tool namens Fail2Ban, mit dem illegale Zugriffe auf den Server eingedämmt werden können. Was ist Fail2Ban? Fail2Ban[1] ist eine Intrusion-Prevention-Software, die Server vor Brute-Force-Angriffen schützt. Es ist in der Programmiersprache Python geschrieben

See all articles