利用資料庫郵件服務實現監控和預警

来源:http://www.cnblogs.com/wenBlog/archive/2016/10/10/5946772.html
-Advertisement-
Play Games

背景 現在越來越多的企業、公司要求對於資料庫實現7*24小時的資料庫監控,一般情況下採用的就是第三方的平臺來實現郵件和手機簡訊的監測提醒。前幾日公司新上了一臺伺服器,急於部署程式還沒來得及搭建其他相關平臺,為了更好的監控資料庫,暫時用SQL Server自帶的郵件服務來實現對資料庫的監控和預警。下麵 ...


背景

    現在越來越多的企業、公司要求對於資料庫實現7*24小時的資料庫監控,一般情況下採用的就是第三方的平臺來實現郵件和手機簡訊的監測提醒。前幾日公司新上了一臺伺服器,急於部署程式還沒來得及搭建其他相關平臺,為了更好的監控資料庫,暫時用SQL Server自帶的郵件服務來實現對資料庫的監控和預警。下麵簡要介紹下配置的過程便於以後使用。

配置郵件

    整個部分的核心就是配置郵件服務,這部分需要一個郵件賬戶以及相應的郵件伺服器。下麵就以QQ的郵件為例進行說明。

1.設置郵件伺服器

1

開啟SMTP服務,點擊開啟,然後點擊下方的生成授權碼,獲得授權碼就是資料庫發送郵件賬號的密碼。

2.配置資料庫郵件

 

打開MSSM--》管理--》資料庫郵件--》郵件配置資料庫郵件—》如下選擇

image

點擊下一步後按照步驟123進行配置。

首先創建賬戶如下:

2

使用創建的賬戶作為配置賬戶

3 

 

接下來需要選擇安全公共配置,選中剛纔配置的文件名,然後後面預設為配置文件

4

 

然後,可以修改“配置系統參數”,比如賬戶重試次數,禁止的附件文件擴展名,單擊下一步,,預設配置即可:

5

 

都完成後會顯示如下四個成功狀態:

image

 

這樣配置郵件服務就完成了可以右鍵“資料庫郵件”點擊測試郵件。也可以代碼執行

--發送郵件
EXEC msdb.dbo.sp_send_dbmail 
    @profile_name = 'XXXX',         --配置文件名稱
    @recipients = '[email protected]',  --收件email地址
    @subject = '你好',                 --郵件主題
    @body = '…'            --郵件正文內容

 

 
執行完畢後可以通過錯誤日誌下麵的郵件日誌來查看詳細情況。
 
如果收到了郵件那麼就可以進行下一步對於資料庫的監控了,這裡介紹兩種一種是job的指定監控還有一種是警報監控。

job自定義語句監控

 

1.創建作業,核心就是在步驟中加入對指定數據的監測超過時觸發通知。這裡通過一個raiseerror 即可:

image

2.配置通知,當失敗是發送電子郵件。

image 

2.警報監控

何為警報:MS SQL SERVER自動將發生的事情記錄在Windows的程式日誌中。SQL SERVER AGENT會自動監視由SQL SERVER記錄的程式執行日誌,如果找到符合定義的Action發生,將拉響響應事件的警報。
 警報的機制如圖
6 忘記哪裡的圖了

機制理解:

要創建不同級別的警報,就必須得將錯誤寫到Windows時間日誌中。這個不難理解。因為在警報概念部分我們已經說了,SQL SERVER代理是從事件日誌上讀取錯誤信息。當SQL SERVER代理讀取了事件日誌併在此發現了新錯誤時,就會搜索整個資料庫來尋找相應的警報。一旦SQL SERVER代理髮現了Match的警報,將立即激活該警報,從而通知相關人員或者根據Job的設定來做出相應的反應。
簡要配置如下,主要有三種監控類型:事件警報/性能警報/WMI警報,這裡就不一一介紹了舉例一個說明
 
可以選擇警報類型,針對資料庫和嚴重性中選擇監測內容比如許可權不足,當發生許可權不足時報警:
image 
 
如下圖所示,可以設定發生警報時向哪些操作員進行通知。點擊新增操作員按鈕,可以完成添加警報通知的操作員,選擇電子郵件即可
image 
 
如下圖所示,可以設定警報錯誤發送的方式,可以選擇[E-mail]、[Pager]、[Net send]覆選框(可多選),
同時可以填寫在發送警報的同時給出的通知消息,並能夠對響應的間隔時間進行設定。
image 
 

總結

   由於平時習慣了第三方平臺的使用所以很少配置郵件服務,近日嘗試一下以後發現如果伺服器網路通暢或者內網服務完整,使用該服務還是很方便的,而且畢竟是微軟自己的東西對於很多指標的監控也比較快捷到位。需要主要的是該功能對於許可權的要求比較高,有時候需要調整用戶許可權等等才可以正常發送郵件。當沒有第三方發送預警平臺時可以考慮這種方式,是很不錯的體驗。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 487down vote Differences KEY or INDEX refers to a normal non-unique index. Non-distinct values for the index are allowed, so the index may contain row ...
  • 1.在my.ini的 [mysqld] 下添加 skip-grant-tables 2.重啟mysql服務即可 ...
  • 上學時學的東西,都忘了,用到了,就翻出來學習了一下。使用存儲過程編寫,可直接運行該存儲過程註釋都寫好了,變數賦值也比較清楚,需要的可以直接複製下來然後替換就好。 ...
  • 需求:按照分組,將多條記錄內容合併成一條,效果如下: 資料庫示例: 根據不同的SQL版本,可以有以下方法: 一、SQL 2000 不支持FOR XML,不支持CONCAT。只能寫自定義函數。 二、SQL 2012 支持 concat,2000版本自定義函數的基礎上可少量優化 三、SQL2005支持f ...
  • 新浪微博:intsmaze劉洋洋哥。 storm框架中的kafkaspout類實現的是BaseRichSpout,它裡面已經重寫了fail和ack方法,所以我們的bolt必須實現ack機制,就可以保證消息的重新發送;如果不實現ack機制,那麼kafkaspout就無法得到消息的處理響應,就會在超時以 ...
  • 【等待事件】等待事件系列(5.1)--Enqueue(隊列等待) 1 BLOG文檔結構圖 2 前言部分 2.1 導讀和註意事項 各位技術愛好者,看完本文後,你可以掌握如下的技能,也可以學到一些其它你所不知道的知識,~O(∩_∩)O~: ① Enqueue隊列等待 ② Enq數據字典 ③ enq: A... ...
  • 一、使用分散式鎖要滿足的幾個條件: 二、應用的場景例子 管理後臺的部署架構(多台tomcat伺服器+redis【多台tomcat伺服器訪問一臺redis】+mysql【多台tomcat伺服器訪問一臺伺服器上的mysql】)就滿足使用分散式鎖的條件。多台伺服器要訪問redis全局緩存的資源,如果不使用 ...
  • 當在使用greenplum過程中有不當的操作時,可能會出現segment節點宕掉的情況(比如在greenplum運行的過程中停掉其中幾台segment節點的伺服器),通過下麵的方法可以恢復segment。 下麵是現場出現的故障情況: 可以看到有6個節點Failed,有2個節點的Primary和Mir ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...