Zabbix监控DB,Tomcat
Posted lq67
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Zabbix监控DB,Tomcat相关的知识,希望对你有一定的参考价值。
因项目需要,Zabbix要监控SQL server的连接数,mysql以及tomcat,下面是对监控上述item的简要介绍。
1. SQL server连接数
1.1 SQL server连接数
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
2. Zabbix监控 Windows SQL Server
可选方案
1. Zabbix选择 数据库监控 类型监控项,本质是远程执行sql语句;
2. 导入已有模板及脚本,本质是自定义监控项;
3. 也可使用之前介绍过的windows性能计数器监控。
1.3 SQL server性能计数器
上文提到,可以使用windows性能计数器监控SQL server,那么常用的监控项有哪些呢?
通过上述博客,即可实现我们监控SQL server连接数的需求。
2. mysql
Zabbix监控mysql的可选方案和1.2介绍的一样。我们选择的监控方案是写脚本自定义监控项,脚本使用的语言是VBScript。将自定义监控项加到监控主机相信大家已经轻车熟路了,也可以通过导入模板的方式添加监控项。
‘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以及如何安装呢?
2. Apache安装教程和Apache Tomcat安装教程
什么是动态网页呢?这么简单的问题怎么我也要问,你可能会想~说来惭愧,大半年前这个问题我还真的不清楚~
3. 聊聊 Apache、Tomcat && 静态网页、动态网页
OK,安装完汤姆猫后,让我们看看怎么用Zabbix监控这只猫。
4. zabbix监控Tomcat/JVM实例性能(115)
6. Tomcat 常规配置并通过zabbix 监控 jvm状态
Zabbix监控tomcat其实是监控JMX,且zabbix需要安装java gateway。
为了在特定主机上找到 JMX 计数器的值,Zabbix server 向 Zabbix Java gateway 发送请求,后者使用 JMX 管理 API 来远程查询相关的应用。该应用不需要安装额外的软件。
只需要在启动时,命令行添加-Dcom.sun.management.jmxremote
选项即可。
按照上述博客配置好后,发现监控并没有生效,重新搜索相关博客如下。
10. Zabbix利用JMX监控多实例Tomcat运行状态
以上,成功监控tomcat。
以上是关于Zabbix监控DB,Tomcat的主要内容,如果未能解决你的问题,请参考以下文章