1. 程式人生 > >利用資料庫郵件服務實現監控和預警

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

背景

    現在越來越多的企業、公司要求對於資料庫實現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 

總結

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

相關推薦

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

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

[C#][代碼收集] - 利用開源的TaskScheduler組件實現監控管理windows計劃任務

span releases [] log code str 示例 schedule 調度框架 [轉載] - 軟件人生 - 利用開源的TaskScheduler組件實現監控和管理windows計劃任務 [編輯] 對於計劃任務的執行有很多種解決方案,如利用開源Quartz作業調

大規模服務設計部署經驗談(7) | 稽核、監控預警

7               稽核、監控和預警 運營團隊不能在部署環境中裝配服務。要在部署過程中付出實質性的努力,以確保系統中的每個元件都可以生成效能資料

利用Vue.js2.0實現購物車地址選配功能

  根據慕課網-利用Vue2.0實現購物車和地址選配功能教程,通過利用Vue2.0來實現電商平臺的簡單功能。   vue中的$http請求服務. 通過呼叫http服務,對.json檔案傳送http請求,通過遍歷陣列資料完成頁面渲染 引入vue-reso

samba服務實現linuxwindows共享

首先掛載光碟 Yum 安裝samba服務 進行配置檔案的備份和過濾無用的配置檔案 mv /etc/samba/smb.conf /etc/samba/smb.conf.bak 過濾無用的配置 cat /etc/samba/smb.conf.bak | grep

Redis監控預警

1.摘要           本人從事Java Web開發,在專案開發中會用到很多中介軟體,本文主要介紹Redis監控的一點心得和使用,公司DBA也有相應的監控,但是我們的業務比較重要,想做一個備份監控,對Redis監控需要做監控和預警,首先需要有資料,資料採集之前要知道自

如何用istio實現監控日誌採集

大家都知道istio可以幫助我們實現灰度釋出、流量監控、流量治理等一些功能。每一個功能都幫助我們在不同場景中實現不同的業務。那我們Istio是如何幫助我們實現監控和日誌採集的呢?這裡我們依然以Bookinfo應用程式作為貫穿此任務的示例程式。首先在叢集中安裝並部署Istio。收集遙測資料 建立一個新的

如何用istio實現監控日誌采集

bec warning alt ply 0ms ima .cn 發送 times 大家都知道istio可以幫助我們實現灰度發布、流量監控、流量治理等一些功能。每一個功能都幫助我們在不同場景中實現不同的業務。那我們Istio是如何幫助我們實現監控和日誌采集的呢?這裏我們依然以

利用資料庫複製技術 實現資料同步更新[摘]

相關連結: 複製的概念 Microsoft? SQL Server? 2000 的複製是在資料庫之間對資料和資料庫物件進行復制和分發並進行同步以確保其一致性的一組技術。 使用複製可以將資料分發到不同位置,通過區域網、使用撥號連線、通過 Internet 分發給遠端或移動使用

利用資料庫複製技術 實現資料同步更新(轉)

複製的概念複製是將一組資料從一個數據源拷貝到多個數據源的技術,是將一份資料釋出到多個儲存站點上的有效方式。使用複製技術,使用者可以將一份資料釋出到多臺伺服器上,從而使不同的伺服器使用者都可以在許可權的許可的範圍內共享這份資料。複製技術可以確保分佈在不同地點的資料自動同步更新,

idou老師教你學Istio 25:如何用istio實現監控日誌采集

設置 時間信息 Kubernete 標準 每一個 搜索 warning 打印日誌 度量標準 大家都知道istio可以幫助我們實現灰度發布、流量監控、流量治理等功能。每一個功能都幫助我們在不同場景中實現不同的業務。那Istio是如何幫助我們實現監控和日誌采集的呢? 這裏我們依

服務業務監控行為分析怎麼做?試試日誌埋點

一、說明 網際網路公司一般都會有專門的資料團隊對公司的一些業務指標負責;為了拿到這些基本的業務指標,一般也要工程團隊去配合做一些資料採集工作,於是埋點誕生了。   埋點的方式有很多種,本文主要介紹 日誌埋點 這種方式以及實現思路和案例。 日誌埋點 就是通過程式列印 log 日誌的方式進行業務/

使用雲監控實現GPU雲服務器的GPU監控報警(上) - 自定義監控

調度 相關數 圖片 size 語言 rontab end ces format 摘要: 本文將介紹如何利用阿裏雲雲監控服務提供的自定義監控實現GPU雲服務器的GPU監控和報警的可視化,從而達到對GPU使用情況實時掌握的目的。 1 背景NVIDIA提供了nvidia-smi

使用雲監控實現GPU雲服務器的GPU監控報警(下)-雲監控插件監控

運行 監控 proc images napi https bytes ace enc 摘要: 目錄 使用雲監控實現GPU雲服務器的GPU監控和報警(上) - 自定義監控 使用雲監控實現GPU雲服務器的GPU監控和報警(下)-雲監控插件監控 1 背景 上一篇文章我們介

利用linux自帶的郵箱服務實現郵件轉發

user rom 密碼 proc word 登陸 mail -s 分享 修改配置 修改配置文件修改/etc/mail.rc,增加以下幾行,指定外部的smtp服務器地址、帳號密碼等。 vi /etc/mail.rc set [email protected] set

SpringBoot第二講利用Spring Data JPA實現資料庫的訪問(二)_分頁JpaSpecificationExecutor介面介紹

我們繼續研究spring jpa data,首先看看分頁和排序的實現,在原來的程式碼中,我們如果希望實現分頁,首先得建立一個Pager的物件,在這個物件中記錄total(總數),totalPager(總頁數),pageSize(每頁多少條記錄),pageInde

利用Topshelf搭建Windowns服務實現定期自動新增資料邏輯原理

一、Topshelf基本配置 using System; using System.Collections.Generic; using System.Linq; using System.Text; using Topshelf; namespace MealTim

shell 實現監控Web服務狀態

web 監控使用shell 實現監控Web服務狀態原理:下載網站,並把輸出寫入 /dev/null,如果該命令執行結果成功(返回0)打印成功提示,如果下 載失敗,這再下載一次,如果還是失敗,就打印失敗腳本如下[[email protected]/* */ ~]# cat checkur

利用zabbix api 帶入 組ID 監控項目鍵值 獲取所有主機的值

api 調用 zabbix def chaxun(groupid,items_value): 是自己寫的,帶入組ID 和 監控項目鍵值,返回 主機和值的結果。 做了判斷,如果這個主機沒有想要的監控項目,就去除掉。#!/usr/bin/env python #coding=utf-8 impo

2.3 利用FTP服務器下載上傳文件

true () cal 信息 color imp exists binary logs 二.利用FTP服務器的下載文件 from ftplib import FTP from os.path import exists def getfile(file,site,dir