中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Zabbix 3.2.6通過ODBC監控MySQL&Oracle

發布時間:2020-04-04 20:46:59 來源:網絡 閱讀:2669 作者:wzlinux 欄目:MySQL數據庫

一、總覽

    ODBC的監控和在Zabbix前端配置數據庫監控條目類型基本一致。

    ODBC是用C語言編寫的用于連接數據庫管理系統的一個中間件,最初有微軟公司研發,后來發展到各大平臺。

    有了ODBC的支持,Zabbix可以查詢很多種數據庫,因為Zabbix自己不直接去連接數據庫,而是通過ODBC的接口和驅動,因此可以更加高效的去監控不同的數據庫。

二、安裝配置

1、編譯Zabbix server

    要支持ODBC功能,在編譯的時候需要加上--with-unixodbc,解決依賴需要安裝如下軟件包,

yum -y install unixODBC unixODBC-devel

2、安裝unixODBC驅動

    驅動是用于ODBC連接數據庫用的,他可以支持各式各樣的驅動,在大部分的Linux發行版中的倉庫中,都有這些驅動,我們安裝一個MySQL的驅動,用來監控MySQL數據庫。

yum install mysql-connector-odbc

3、配置unixODBC

    ODBC的配置主要是通過修改odbcinst.iniodbc.ini兩個文件,可以通過下面的命令去指定配置文件的位置。

# odbcinst -j
unixODBC 2.2.14
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
USER DATA SOURCES..: /root/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8

    odbcinst.ini主要是配置安裝的ODBC數據庫驅動,如MySQL,oracle,各字段含義我不再介紹。

[MySQL]                      # 驅動名稱,在數據庫文件中需要
Description     = ODBC for MySQL
Driver          = /usr/lib/libmyodbc5.so
Setup           = /usr/lib/libodbcmyS.so
Driver64        = /usr/lib64/libmyodbc5.so
Setup64         = /usr/lib64/libodbcmyS.so
FileUsage       = 1

    odbc.ini主要是配置數據源。

[test]                        # 數據源名稱Data source name,在zabbix前端配置需要
Description = MySQL test database
Driver      = mysql           # 從驅動文件odbcinst.ini獲取
Server      = 127.0.0.1
User        = zabbix
Password    = zabbix
Port        = 3306
Database    = zabbix

    我們可以通過在安裝unixODBC的時候附帶安裝的一個命令isql來判斷我們是否可以成功的連接數據庫。

# isql test
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL>

4、配置Zabbix前端web

    首先創建一個監控條目。

Zabbix 3.2.6通過ODBC監控MySQL&Oracle

    這幾個條目是必填的,具體解釋如下:

Type這里我們選擇Database monitor
Key

選擇db.odbc.select[unique_description,data_source_name]

unique_description將會用于觸發器中的條目

data_source_name填寫在odbc.ini中的test

User name輸入在odbc.ini中的用戶名
Password輸入在odbc.ini中的密碼
SQL query輸入SQL查詢語句
Type of information需要我們之前查詢的返回值是什么,正確的選擇才會被支持

5、注意事項

  • 查詢語句執行時間不能超過配置的超時時間

  • 查詢只允許返回一個值.

  • 如果查詢語句返回了多個列,它只讀取第一列

  • 如果查詢語句返回了多行,它讀取第一條

  • SQL語句必須是 select開頭,只能是查詢語句.

  • SQL語句不能包含換行符

6、錯誤消息

    從zabbix 2.08開始ODBC提供如下詳細的錯誤信息:

Cannot execute ODBC query:[SQL_ERROR]:[42601][7][ERROR: syntax error at or near ";"; Error while executing the query]|
-------------------------  ---------   -----  |  ------------------------------------------------------------------- |
            |                  |         |    `- Native error code            `- error message.                      `- Record separator
            |                  |         `-SQLState
            `- Zabbix message  `- ODBC return code

    錯誤消息最長不能超過128字節,因此錯誤消息太長會被截斷。

三、驗證

    因為我們沒有創建圖像,可以從最新數據庫里面查看我們創建的條目。

Zabbix 3.2.6通過ODBC監控MySQL&Oracle

    你可以寫更加復雜的SQL查詢語句,以及制作觸發器來對數據庫更加詳細的監控。


附錄:

    以上是對監控MySQL做的監控,下面我主要簡要對Oracle的監控做下介紹。

1、下載oracle客戶端    

http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html

    官網下載速度比較慢,也可以到我上傳到51CTO下載中心的地方下載。

http://down.51cto.com/data/2328882

oracle-instantclient11.2-basic-11.2.0.3.0-1.x86_64.rpm
oracle-instantclient11.2-devel-11.2.0.3.0-1.x86_64.rpm
oracle-instantclient11.2-odbc-11.2.0.3.0-1.x86_64.rpm
oracle-instantclient11.2-sqlplus-11.2.0.3.0-1.x86_64.rpm

2、安裝

yum localinstall oracle-instantclient11.2-*

3、創建本地監控

    安裝的默認位置分別在

/usr/share/oracle/11.2/client64
/usr/include/oracle/11.2/client64
/usr/lib/oracle/11.2/client64

     設置環境變量之前,在/usr/lib/oracle/11.2/client64下創建network/admin文件夾,

mkdir  -p  /usr/lib/oracle/11.2/client64/network/admin

    在此文件夾下創建tnsnames.ora,其內容入下:

test_oracle=
   (DESCRIPTION =
     (ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.1.14)(PORT = 1521))
     (CONNECT_DATA =
        (SERVER = DEDICATED)
        (SERVICE_NAME = basicdb)
     )
    )

    在/usr/lib/oracle/11.2/client64/network/admin文件下創建sqlnet.ora,輸入:

NAME_DIRECTORY_PATH=(TNSNAMES,EZCONNECT)

4、配置環境變量

export ORACLE_HOME=/usr/lib/oracle/11.2/client64
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib64:$LD_LIBRARY_PATH
export TNS_ADMIN=$ORACLE_HOME/network/admin
export PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin

5、配置需要的庫

chmod +x /usr/lib/oracle/11.2/client64/lib/libsqora.so.11.1
cd /usr/lib64/
ln -s libodbcinst.so.2.0.0  libodbcinst.so.1

6、添加oracle驅動

# vim  /etc/odbcinst.ini
[oracle]
Description     = Oracle ODBC driver for Oracle 11g
Driver          = /usr/lib/oracle/11.2/client64/lib/libsqora.so.11.1

7、添加oracle數據源

# vim  /etc/odbc.ini  
[test1]
Driver= oracle
DSN= test_oracle
ServerName= yourname
UserID= basicdb
Password= yourpasswd

8、sqlplus測試連接

# sqlplus yourname/yourpasswd@test_oracle

SQL*Plus: Release 11.2.0.3.0 Production on Wed Jul 19 11:39:18 2017

Copyright (c) 1982, 2011, Oracle.  All rights reserved.


Connected to:

Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> exit

9、配置zabbix前端




參考文檔:https://www.zabbix.com/documentation/3.2/manual/config/items/itemtypes/odbc_checks


                            Zabbix 3.2.6通過ODBC監控MySQL&Oracle

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

封开县| 福贡县| 隆安县| 丽江市| 阿鲁科尔沁旗| 泸定县| 于都县| 南川市| 瑞金市| 视频| 龙井市| 镇巴县| 紫阳县| 大方县| 琼结县| 永和县| 潼关县| 侯马市| 宁都县| 光山县| 汉寿县| 衡东县| 水城县| 涞水县| 元氏县| 新和县| 韶关市| 潍坊市| 隆尧县| 万山特区| 东安县| 石家庄市| 深泽县| 襄城县| 永济市| 增城市| 台北市| 大渡口区| 永康市| 桂东县| 拜城县|