數據庫監控及結合zabbix運維與詢查管理記要(mysql,sql server,oralce)

mysql的最大連接數默認是100, 最大可以達到16384

在Windows下常用的有兩種方式修改最大連接數。

第一種:命令行修改。

>mysql -u user -p password

mysql>show variables like 'max_connections';(查可以看當前的最大連接數)

msyql>set global max_connections=1000;(設置最大連接數爲1000)

mysql>exit

這種方式只在mysql當前有效,一旦mysql重啓,又會恢復到初始狀態。

第二種:修改配置文件。

修改MySQL配置文件my.ini 或 my.cnf的參數max_connections,將其改爲max_connections=1000,然後重啓MySQL即可。但是有一點最難的就是 my.ini這個文件在哪找。通常有兩種可能,一個是在安裝目錄下(這是比較理想的情況),另一種是在數據文件的目錄下,安裝的時候如果沒有人爲改變目錄的話,一般就在C:/ProgramData/MySQL的目錄下。

與連接數相關的幾個參數:

在修改最大連接數的時候會有這樣一個疑問—這個值是不是越大越好,或者設置爲多大才合適?這個參數的大小要綜合很多因素來考慮,比如使用的平臺所支持的線程庫數量(windows只能支持到2048)、服務器的配置(特別是內存大小)、每個連接佔用資源(內存和負載)的多少、系統需要的響應時間等。可以在 global或session範圍內修改這個參數。連接數的增加會帶來很多連鎖反應,需要在實際中避免由此引發的負面影響。

 

sqlserver數據庫最大連接數默認是0。(0 表示不限制,但不表示無限)

select @@max_connections(數據庫允許的最大連接數)

它總是返回32767,實際上它表示user connections 最大可設置爲多少。由於它的最大值是32767,那麼user connections 爲0 時,最大連接數也就是32767 了,並不是無限。

 

Oracle數據庫默認的最大連接數是:150

select value from v$parameter where name ='processes'(數據庫允許的最大連接數)

Oracle的連接數理論上是沒有上限的,設置多少都可以。實際上與服務器的配置有關.

修改Oracle最大連接數的方法

  1、以sysdba身份登陸PL/SQL

  2、查詢目前連接數

     show parameter processes;

  3、更改系統連接數

     alter system set processes=1000 scope=spfile;

  4、創建pfile

     create pfile from spfile;

 5、重啓Oracle服務或重啓Oracle服務器

-----------------------------------------------------------------------------------------------

Zabbix監控SQL Server數據庫

1、使用模板監控SQLSERVER

1.1、安裝Zabbix Agent

使用4.0版本的Agent客戶端

下載鏈接:https://assets.zabbix.com/downloads/4.0.9/zabbix_agent-4.0.9-win-amd64-openssl.msi

1.2、選擇監控模板

1. 到官方下載模版

下載地址:https://share.zabbix.com/databases/microsoft-sql-server/template-ms-sql-2012

2. 修改agentd.conf

修改zabbix_agent.conf文件

添加下邊這行到配置文件最後
UserParameter=sqldatabasename.discovery,powershell -NoProfile -ExecutionPolicy Bypass -File C:\zabbix\scripts\SQLBaseName_To_Zabbix.ps1

將powershell腳本放在目錄下

將SQLBaseName_To_Zabbix.ps1腳本放在C:\zabbix\scripts\目錄下

3. .重啓agentd

4. 導入模板文件

導入模板MS SQL 2012.xml

重啓zabbix agent

重啓客戶端zabbix agent服務

導入模板文件

導入模板MS SQL 2012.xml

主機關聯模板

注:SQLServer性能計數器:

1、Access Methods(訪問方法) 用於監視訪問數據庫中的邏輯頁的方法。

Forwarded Records/sec

每秒通過正向記錄指針提取的記錄數。

Page splits/sec(頁分割/秒)

由於數據更新操作引起的每秒頁分割的數量。

Workfiles Created/sec:

每秒創建的工作文件數。 例如,工作文件可用於存儲哈希聯接和哈希聚合的臨時結果。

Worktables Created/sec

每秒創建的工作表數。 例如,工作表可用於存儲查詢假脫機、LOB 變量、XML 變量和遊標的臨時結果。

Full Scans/sec(全表掃描/秒)

每秒不受限的完全掃描數。可以是基本表掃描或全索引掃描。如果這個計數器顯示的值比1或2高,應該分析你的查詢以確定是否確實需要全表掃描,以及S Q L查詢是否可以被優化。

2、Buffer Manager(緩衝器管理器):

 

  • 存儲數據頁的內存。

  • 用於監視 SQL Server 讀取和寫入數據庫頁時的物理 I/O 的計數器。

  • 用於藉助高速非易失性存儲(如固態硬盤 (SSD))擴展緩衝區高速緩存的緩衝池擴展。

    監視 SQL Server 使用的內存和計數器有助於確定:

  • 是否存在物理內存不足的瓶頸。 如果 SQL Server 無法將經常訪問的數據存儲在緩存中,則必須從磁盤檢索數據。

  • 是否可以通過添加更多內存或增加數據緩存或 SQL Server 內部結構的可用內存來提高查詢性能。

  • SQL Server 需要從磁盤讀取數據的頻率。 與其他操作(例如內存訪問)相比,物理 I/O 會消耗大量時間。 儘可能減少物理 I/O 可以提高查詢性能。

 

Buffer Cache Hit Ratio

在“緩衝池”(Buffer Cache/Buffer Pool)中沒有被讀過的頁佔整個緩衝池中所有頁的比率。可在高速緩存中找到而不需要從磁盤中讀取的頁的百分比。這一比率是高速緩存命中總數除以自 SQL Server 實例啓動後對高速緩存的查找總數。經過很長時間後,這一比率的變化很小。由於從高速緩存中讀數據比從磁盤中讀數據的開銷要小得多,一般希望這一數值高一些。通常,可以通過增加 SQL Server 可用的內存數量來提高高速緩存命中率。計數器值依應用程序而定,但比率最好爲90% 或更高。增加內存直到這一數值持續高於90%,表示90% 以上的數據請求可以從數據緩衝區中獲得所需數據。

   

Lazy Writes/sec(惰性寫/秒)

惰性寫進程每秒寫的緩衝區的數量。值最好爲0。

Page Reads/sec:

每秒發出的物理數據庫頁讀取數。這一統計信息顯示的是在所有數據庫間的物理頁讀取總數。由於物理 I/O 的開銷大,可以通過使用更大的數據高速緩存、智能索引、更高效的查詢或者改變數據庫設計等方法,使開銷減到最小。

Page Writes/sec (.寫的頁/秒)

每秒執行的物理數據庫寫的頁數。

3、Locks(鎖) 提供有關個別資源類型上的 SQL Server 鎖的信息。

 

  鎖加在 SQL Server 資源上(如在一個事務中進 行的行讀取或修改),以防止多個事務併發使用資源。例如,如果一個排它 (X) 鎖被一個事務加在某一表的某一行上,在這個鎖被釋放前,其它事務都不可以修改這一行。儘可能少使用鎖可提高併發性,從而改善性能。可以同時監視 Locks 對象的多個實例,每個實例代表一個資源類型上的一個鎖。

Number of Deadlocks/sec

(死鎖的數量/秒) 導致死鎖的鎖請求的數量

Average Wait Time(ms)

(平均等待時間(毫秒)) 線程等待某種類型的鎖的平均等待時間

Lock Requests/sec

(鎖請求/秒) 每秒鐘某種類型的鎖請求的數量。

Lock Timeouts/sec

每秒超時的鎖請求數,包括對 NOWAIT 鎖的請求。

--------------------------------------------------------------------------------------------------------------------------------------------------------

zabbix 對 Oracle 監控

orabbix是一個用來監控oracle數據庫性能的zabbix插件工具,通過安裝在被監控服務器上客戶端上收集數據並傳給zabbix服務器端,然後通過調用圖形顯示。

一、安裝 jdk

二、創建 Oracle監控賬號

#創建監控用戶zabbix語句

CREATE  USER zabbix IDENTIFIED BYzabbix DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP PROFILE DEFAULT ACCOUNT UNLOCK;

GRANT  ALTER SESSION TO zabbix;

GRANT CREATE SESSION TO zabbix;

GRANT CONNECT TO zabbix;

ALTER USER zabbix DEFAULT ROLE ALL;

GRANT SELECT ON V_$INSTANCE TO zabbix;

GRANT SELECT ON DBA_USERS TO zabbix;

GRANT SELECT ON V_$LOG_HISTORY TO zabbix;

GRANT SELECT ON V_$LOG TO zabbix;

GRANT SELECT ON V_$PARAMETER TO zabbix;

GRANT SELECT ON SYS.DBA_AUDIT_SESSION TO zabbix;

GRANT SELECT ON V_$LOCK TO zabbix;

GRANT SELECT ON DBA_REGISTRY TO zabbix;

GRANT SELECT ON V_$LIBRARYCACHE TO zabbix;

GRANT SELECT ON V_$SYSSTAT TO zabbix;

GRANT SELECT ON V_$PARAMETER TO zabbix;

GRANT SELECT ON V_$LATCH TO zabbix;

GRANT SELECT ON V_$PGASTAT TO zabbix;

GRANT SELECT ON V_$SGASTAT TO zabbix;

GRANT SELECT ON V_$LIBRARYCACHE TO zabbix;

GRANT SELECT ON V_$PROCESS TO zabbix;

GRANT SELECT ON DBA_DATA_FILES TO zabbix;

GRANT SELECT ON DBA_TEMP_FILES TO zabbix;

GRANT SELECT ON DBA_FREE_SPACE TO zabbix;

GRANT SELECT ON V_$SYSTEM_EVENT TO zabbix;

GRANT SELECT ON V_$locked_object TO zabbix;

GRANT SELECT ON dba_objects TO zabbix;

GRANT SELECT ON dba_tablespaces TO zabbix;

GRANT SELECT ON v_$SESSION TO zabbix;

 

#如果是Oracle11g版,需要再執行下面的語句

exec dbms_network_acl_admin.create_acl(acl => 'resolve.xml',description=> 'resolve acl', principal =>'ZABBIX', is_grant => true, privilege => 'resolve');

exec dbms_network_acl_admin.assign_acl(acl => 'resolve.xml', host =>'*');

commit;

 

三、安裝部署Orabbix

#可以安裝在oralce服務器上,也可以在其他有java環境的機器上!

*注意:DatabaseList=CRMDB指的是被監控服務器的名稱,該名稱要和zabbix server界面中的機器名稱保持一致,該配置文件中後續所引用的設定都以該名稱爲準。

CRMDB.Url=jdbc:oracle:thin:@192.168.0.209:1521:orcl指定的是被監控服務器的連接信息(例如採用jdbc的聯接方式,oracle服務器地址是192.168.0.209,oracle的端口是1521,orcl指的是數據庫的實例)

# 啓動orabbix

#chkconfig orabbix on

# /etc/init.d/orabbix start

四、WEB端設置

# zabbix 模板文件路徑:

# ls /usr/local/orabbix/template

Orabbix_export_full.xml    Orabbix_export_items.xml

Orabbix_export_graphs.xml  Orabbix_export_triggers.xml

-----------------------------------------------------------------------------------------------------------------------------

MS SQL採用odbc文件監控

yum install -y unixODBC unixODBC-devel freetds

相關配置網上很多自查

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章