博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Zabbix监控DB,Tomcat
阅读量:4325 次
发布时间:2019-06-06

本文共 3056 字,大约阅读时间需要 10 分钟。

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

1. SQL server连接数

  1.1 SQL server连接数

  1. 

  2. 

  3. 

  4. 

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. 

  2. 

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

  1.3 SQL server性能计数器

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

  1. 

  2. 

 

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

2. mysql

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

  1. 

  2. 

'MySQL_Ping.vbsSet objFS = CreateObject("Scripting.FileSystemObject")Set objArgs = WScript.Argumentsstr1 = getCommandOutput("C:\MySQL\mysql-8.0.16-winx64\bin\mysqladmin.exe -uAdmin -pPassword --port=3306 ping")If Instr(str1,"alive") > 0 ThenWScript.Echo 1ElseWScript.Echo 0End IfFunction getCommandOutput(theCommand)Dim objShell, objCmdExecSet objShell = CreateObject("WScript.Shell")Set objCmdExec = objshell.exec(thecommand)getCommandOutput = objCmdExec.StdOut.ReadAllend Function
'Mysql_Version.vbsSet objFS = CreateObject("Scripting.FileSystemObject")Set objArgs = WScript.Argumentsstr1 = getCommandOutput("C:\MySQL\mysql-8.0.16-winx64\bin\mysql.exe -V")WScript.Echo str1Function getCommandOutput(theCommand)Dim objShell, objCmdExecSet objShell = CreateObject("WScript.Shell")Set objCmdExec = objshell.exec(thecommand)getCommandOutput = objCmdExec.StdOut.ReadAllend 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.confUnsafeUserParameters=1UserParameter=mysql.version,cscript /nologo  C:\zabbix\scripts\Mysql_Version.vbsUserParameter=mysql.status[*],cscript /nologo  C:\zabbix\scripts\MySQL_Ext-Status_Script.vbs $1UserParameter=mysql.ping,cscript /nologo  C:\zabbix\scripts\MySql_Ping.vbs

3. tomcat

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

  1. 

  2. 

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

  3. 

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

  4. 

  5. 

  6. 

  7. 

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

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

  8. 

  9. 

  10. 

 

  以上,成功监控tomcat。

转载于:https://www.cnblogs.com/lq67/p/11374281.html

你可能感兴趣的文章
nginx反向代理docker registry报”blob upload unknown"解决办法
查看>>
gethostbyname与sockaddr_in的完美组合
查看>>
kibana的query string syntax 笔记
查看>>
基于Lua插件化的Pcap流量监听代理
查看>>
旋转变换(一)旋转矩阵
查看>>
thinkphp3.2.3 bug集锦
查看>>
[BZOJ 4010] 菜肴制作
查看>>
C# 创建 读取 更新 XML文件
查看>>
KD树
查看>>
VsVim - Shortcut Key (快捷键)
查看>>
C++练习 | 模板与泛式编程练习(1)
查看>>
HDU5447 Good Numbers
查看>>
08.CXF发布WebService(Java项目)
查看>>
java-集合框架
查看>>
RTMP
查看>>
求一个数的整数次方
查看>>
点云PCL中小细节
查看>>
铁路信号基础
查看>>
Django 学习笔记(五) --- Ajax 传输数据
查看>>
Spring boot 日志 Logback
查看>>