天天看點

使用zabbix監控DRBD狀态

線上采用DRBD+Heartbeat+MySQL的方式部署MySQL高可用架構,是以對DRBD的監控也很重要。

一 監控原理

1.使用drbd-overview

如果不是root權限,将不會看到resource 名稱。

2.檢視/proc/drbd

C  這個位置表示同步協定是協定C , 可以是B 或 A

I/O 狀态标志,共有6個标志位,表示關于這個資源的I/O操作狀态資訊

r-----

    1.I/O suspension 。要麼是r表示正在運作,要麼是s表示暫停

     2.Serial resynchronization。通常情況下是-

     3.Peer-initiated sync suspension. 通常情況下是-

     4.Peer-initiated sync suspension. 通常情況下是-

     5.Locally blocked I/O。通常情況下是-

     6.Activity Log update suspension. 通常情況下是-

cs  Connetction State  顯示定義resource的連接配接狀态

    可以有以下幾種連接配接狀态:

    StandAlone 

    <code>Disconnecting</code>

<code>    <code>Unconnected</code></code>

<code><code>    <code>BrokenPipe</code></code></code>

<code><code><code>    <code>NetworkFailure</code></code></code></code>

<code><code><code><code>    <code>Connected   正常狀态</code></code></code></code></code>

<code><code><code><code>    等等</code></code></code></code>

ds  disk states        顯示磁盤狀态

    先顯示本地磁盤狀态,然後再顯示遠端主機磁盤狀态,它們都可能是以下幾種狀态:

    <code>Diskless</code>

    <code>Attaching</code>

    <code>Failed</code>

    <code>Negotiating</code>

    <code>Inconsistent</code>

    <code>Outdated</code>

    <code>DUnknown</code>

    <code>Consistent</code>

    <code>UpToDate   這個狀态表示資料同步一緻,是正常狀态</code>    

ro  資源角色類型

    Primary       可讀可寫

    Secondary     不可讀不可寫

    Unknown       這個狀态隻發生在遠端主機

ns    network send  發送的資料量,以KBytes表示

nr    network received 接收的資料量,以KBytes表示

dw    disk write  寫入到本地磁盤的資料量,以KBytes表示

dr    disk read   從本地讀取的資料量,以KBytes表示

al    activity log  DRBD中繼資料中活動日志位置更新次數

bm    bitmap        DRBD中繼資料中bitmap位置更新次數

lo    local count   本地I/O子系統有關DRBD的請求數量

pe    pending       已經發送到對端但是還沒有得到響應的請求數量

ua    unacknowledged   對端通過網絡接收到的請求數量,但是它們還沒有被答複

ap    application pending   Number of block I/O requests forwarded to DRBD, but not yet answered by DRBD.

<code>ep</code> (epochs). Number of epoch objects. Usually 1. Might increase under I/O load when using either the <code>barrier</code> or the <code>none</code> write ordering method.

<code>wo</code> (write order). Currently used write ordering method: <code>b</code>(barrier),<code>f</code>(flush), <code>d</code>(drain) or <code>n</code>(none).

<code>oos</code> (out of sync). Amount of storage currently out of sync; in Kibibytes.

3.使用service drbd status檢視

二 監控腳本編寫

一般情況下,在生産伺服器上隻需定義一個resource,便于維護。是以,這裡讨論隻有一個DRBD resource的監控方法,如果有多個resource可以通過Zabbix的自動發現功能。

drbd_status.sh

添加zabbix子配置檔案drbd_status.conf

三 添加監控模闆

使用zabbix監控DRBD狀态
使用zabbix監控DRBD狀态

這裡注意一下觸發表達式

{Template DRBD:drbd.status[ro].str(Secondary/Primary)}#1 &amp; {Template DRBD:drbd.status[ro].str(Primary/Secondary)}#1

參考文章:

http://blog.pandorafms.org/?p=1944

http://drbd.linbit.com/docs/about/