Zabbix监控DB,Tomcat

因项目需要,Zabbix要监控SQL server的连接数,MySQL以及tomcat,下面是对监控上述item的简要介绍。

1. SQL server连接数

  1.1 SQL server连接数

  1. SQL Server查询当前连接数

  2. Sql Server当前并发连接数的查看方法

  3. 亲测SQLServer的最大连接数

  4. SQL SERVER用户数、连接数、连接池License

SELECT * FROM
[Master].[dbo].[SYSPROCESSES] WHERE [DBID] IN ( SELECT
    [DBID]
FROM
    [Master].[dbo].[SYSDATABASES]
WHERE
    NAME=‘PointCheckSystem‘
)

select   hostname,count(*) hostconncount  from   master.dbo.sysprocesses
group by hostname
order by count(*) desc

微软在MSDN上对最大连接数的定义是:“默认是0,代表不限制,但最大连接数是32767”。

  1.2 Zabbix监控SQL server

  1. Zabbix监控sqlserver

  2. Zabbix监控 Windows SQL Server

可选方案1. Zabbix选择 数据库监控 类型监控项,本质是远程执行sql语句;
2. 导入已有模板及脚本,本质是自定义监控项;
3. 也可使用之前介绍过的windows性能计数器监控。

  1.3 SQL server性能计数器

  上文提到,可以使用windows性能计数器监控SQL server,那么常用的监控项有哪些呢?

  1. 十大监视SQL Server性能的计数器

  2. SQL Server需要监控哪些计数器

  通过上述博客,即可实现我们监控SQL server连接数的需求。

2. mysql

  Zabbix监控mysql的可选方案和1.2介绍的一样。我们选择的监控方案是写脚本自定义监控项,脚本使用的语言是VBScript。将自定义监控项加到监控主机相信大家已经轻车熟路了,也可以通过导入模板的方式添加监控项。

  1. zabbix监控mysql性能(106)

  2. zabbix 监控 windows下Mysql

‘MySQL_Ping.vbs

Set objFS = CreateObject("Scripting.FileSystemObject")
Set objArgs = WScript.Arguments
str1 = getCommandOutput("C:\MySQL\mysql-8.0.16-winx64\bin\mysqladmin.exe -uAdmin -pPassword --port=3306 ping")

If Instr(str1,"alive") > 0 Then
WScript.Echo 1
Else
WScript.Echo 0
End If

Function getCommandOutput(theCommand)

Dim objShell, objCmdExec
Set objShell = CreateObject("WScript.Shell")
Set objCmdExec = objshell.exec(thecommand)
getCommandOutput = objCmdExec.StdOut.ReadAll

end Function
‘Mysql_Version.vbs

Set objFS = CreateObject("Scripting.FileSystemObject")
Set objArgs = WScript.Arguments
str1 = getCommandOutput("C:\MySQL\mysql-8.0.16-winx64\bin\mysql.exe -V")

WScript.Echo str1

Function getCommandOutput(theCommand)
Dim objShell, objCmdExec
Set objShell = CreateObject("WScript.Shell")
Set objCmdExec = objshell.exec(thecommand)
getCommandOutput = objCmdExec.StdOut.ReadAll
end Function
‘MySQL_Ext-Status_Script.vbs

 Set objFS = CreateObject("Scripting.FileSystemObject")
 Set objArgs = WScript.Arguments
 str1 = getCommandOutput("C:\MySQL\mysql-8.0.16-winx64\bin\mysqladmin.exe -uAdmin -pPassword --port=3306 extended-status")
 Arg = objArgs(0)
 str2 = Split(str1,"|")
 For i = LBound(str2) to UBound(str2)
 If Trim(str2(i)) = Arg Then
 WScript.Echo TRIM(str2(i+1))
 Exit For
 End If
 next

 Function getCommandOutput(theCommand)
 Dim objShell, objCmdExec
 Set objShell = CreateObject("WScript.Shell")
 Set objCmdExec = objshell.exec(thecommand)
 getCommandOutput = objCmdExec.StdOut.ReadAll
 end Function
//修改Agent配置档zabbix_agentd.win.conf

UnsafeUserParameters=1

UserParameter=mysql.version,cscript /nologo  C:\zabbix\scripts\Mysql_Version.vbs
UserParameter=mysql.status[*],cscript /nologo  C:\zabbix\scripts\MySQL_Ext-Status_Script.vbs $1
UserParameter=mysql.ping,cscript /nologo  C:\zabbix\scripts\MySql_Ping.vbs  

3. tomcat

  首先,什么是tomcat以及如何安装呢?

  1. TomCAT安装以及使用详细解释

  2. Apache安装教程和Apache Tomcat安装教程

  什么是动态网页呢?这么简单的问题怎么我也要问,你可能会想~说来惭愧,大半年前这个问题我还真的不清楚~

  3. 聊聊 Apache、Tomcat && 静态网页、动态网页

  OK,安装完汤姆猫后,让我们看看怎么用Zabbix监控这只猫。

  4. zabbix监控Tomcat/JVM实例性能(115)

  5. 利用zabbix-java-gateway监控jvm

  6. Tomcat 常规配置并通过zabbix 监控 jvm状态

  7. zabbix使用jmx监控tomcat

Zabbix监控tomcat其实是监控JMX,且zabbix需要安装java gateway。为了在特定主机上找到 JMX 计数器的值,Zabbix server 向 Zabbix Java gateway 发送请求,后者使用 JMX 管理 API 来远程查询相关的应用。该应用不需要安装额外的软件。只需要在启动时,命令行添加-Dcom.sun.management.jmxremote选项即可。

  按照上述博客配置好后,发现监控并没有生效,重新搜索相关博客如下。

  8. 用JMX远程监控Tomcat

  9. Tomcat:使用JMX监管Tomcat的几种方式

  10. Zabbix利用JMX监控多实例Tomcat运行状态

  以上,成功监控tomcat。

原文地址:https://www.cnblogs.com/lq67/p/11374281.html

时间: 2024-10-07 01:44:02

Zabbix监控DB,Tomcat的相关文章

zabbix监控多tomcat实例

首先得介绍一下zabbix自动探索功能,举个例子,一台服务器需要监控的根目录的磁盘容量,先自定义一个key: UserParameter=disk_use[*],/usr/local/disk_use.sh $1 #disk_use是自定义的key,之后的是取值脚本 [*]代表着脚本的入参变量 $1是给这个脚本入参的变量数 该脚本的功能是根据入参变量得出磁盘容量大小 ,然后就能获取到使用情况了.但是服务器监控磁盘容量的话,肯定不会让你只监控一个根目录,比如还有/data目录,/proc目录-等等

Zabbix应用五:Zabbix监控多Tomcat

利用Zabbix Trapper方式监控多Tomcat实例 Zabbix自带的模版(JMX Tomcat.JMX Generic)默认只能在一台机器上监控一个tomcat实例(因为监控项中的key不能重复),而实际生产环境中一台服务器往往会启动多个tomcat实例,这就显得比较鸡肋. 然而,zabbix的牛逼是有道理的,其LLD是zabbixzh d

zabbix监控tomcat(2)

zabbix监控tomcat 1.编译zabbix的时候需要添加参数--enable-java 关于如何安装zabbix,可以参考上一篇文章http://blog.unix178.com/ 备份zabbix_server.conf和zabbix_agentd.conf文件,重新编译安装zabbix [[email protected] zabbix-2.2.0]# ./configure --enable-server --enable-agent     --with-mysql --enab

Zabbix 监控 tomcat 连接池(报错org.archive.jmx.Client ...is not a registered bean)

Zabbix 监控 tomcat 连接池 一.     前言 领导提出需求,需要监控tomcat的连接池,之前已经通过zabbix监控了jvm(关于jvm监控这部分,后续补上).在网上找了很多教程,经历了很多坑,不过还是要感谢那些帮助过我的人,踩着坑搞出来,也是记忆犹新呀. 二.     基础环境 操作系统:Centos 6.8 Jdk:1.8.0_77(jdk最好是1.7及以上) Tomcat:7.0.69 Zabbix:3.0.3 三.     环境部署 (一)         Zabbix

Zabbix 监控Tomcat

Zabbix监控Tomcat 一.环境 两台服务器,一台是Zabbix_java_Server ,另一台Tomcat-Server 需要用到的文件:catalina-jmx-remote.jar cmdline-jmxclient-0.10.3.jar 二.Tomcat-Server被控端配置 # cd /usr/java/apache-tomcat-8.0.30/bin # vim catalina.sh 添加如下内容: CATALINA_OPTS="-Dcom.sun.management.

zabbix 监控 tomcat/jvm性能

http://www.ttlsa.com/web/install-tomcat7-on-linux/ http://www.ttlsa.com/zabbix/zabbix-use-jmx-monitor-tomcat/ 配置tomcat jmx vim /usr/local/tomcat7/bin/catalina.sh # ----- Execute The Requested Command --------- 在次行下面加上 export CATALINA_OPTS="$CATALINA_

zabbix 监控 Tomcat

# # zabbix提供了一个JMX通过java gateway 来监控java #官方文档:https://www.zabbix.com/documentation/3.2/manual/appendix/config/zabbix_java #java gatewa 需要独立安装 以为zabbix-server  zabbix-agent都不能直接监控java #Tomcat 安装参考:Tomcat安装与配置 #zabbix 安装参考:zabbix安装和基本介绍   主机名       角色

zabbix使用zabbix-java-gateway监控jvm/tomcat性能

JAVA-GATEWAY Zabbix本身不支持直接监控Java,在zabbix 1.8以前,只能使用Zapcat来做代理监控,而且要修改源代码,非常麻烦.所有后来为了解决这个监控问题,Zabbix和Java双方应运生成了各自的代理监控程序:zabbix 2.0以后添加了服务进程zabbix-java-gateway:Java有了JMX,全称是Java Management Extensions,即Java管理扩展. 双方的工作原理 比如:当Zabbix-Server需要知道java应用程序的某

Zabbix 监控tomcat web

个人博客:https://blog.sharedata.info/ 在zabbix监控web,web容器是tomcat 默认的端口是8080导致web监控失败!不能找到主机因此在修改tomcat 端口为80此时需要使用root用户启动才能去监听80端口因此为了方面80端口访问,需要通过防火墙转发来访问80端口转发到8080解决方案:ptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080