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。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM