zabbix系列之六——安裝後配置二Items

https://www.zabbix.com/documentation/3.4/manual/config/items/itemtypes/snmphtml

1Items

1.1creating items

index前端

detailjava

notemysql

1linux

Configuration->hostsweb

 

2正則表達式

Click on Items in the row of the hostsql

 

3shell

Click on Create item in the upper right corner of the screen數據庫

 

4

Enter parameters of the item in the form

 

 

1.You can also create an item by opening an existing one, pressing the Clone button and then saving under a different name.

2.parameter description refer to

https://www.zabbix.com/documentation/3.4/manual/config/items/item

3.Text data limits depend on the database backend.

4.Unit blacklist.

By default, specifying a unit for an item will result in a multiplier prefix being added - for example, value 2048 with unit B would be displayed as 2KB. For a pre-defined, hardcoded list of units this is prevented: ms | RPM|rpm|%

5.Item value preprocessing

The Preprocessing tab allows to define transformation rules for the received values. Transformations are executed in the order in which they are defined.

6. Unsupported items

An item can become unsupported if its value cannot be retrieved for some reason. Such items are still rechecked at a fixed interval, configurable in Administration section.

1.1.1Item key format

Description:Item key format, including key parameters, must follow syntax rules.The following illustrations depict the supported syntax. Allowed elements and characters at each point can be determined by following the arrows - if some block can be reached through the line, it is allowed, if not - it is not allowed.

 

To construct a valid item key, one starts with specifying the key name, then there's a choice to either have parameters or not - as depicted by the two lines that could be followed.

Item key format

Name

format

Description

Key name

0-9a-zA-Z_-.

Numbers,lowercase/uppercase letters,upderscore,dash,dot is allowed

Key parameters

1multiple parameters can be separated by comma  (,)

2 Each key parameter can be either a quoted string, an unquoted string or an array.

3 can also be left empty using the default value.

1

2

3such as icmpping[,,200,,500]. part parameters are left at their defaults

 

Parameter - quoted string:

any Unicode character is allowed, and included double quotes must be backslash escaped.

 

To quote item key parameters, use double quotes only. Single quotes are not supported.

 

Parameter - unquoted string: any Unicode character is allowed except comma and right square bracket (]). Unquoted parameter cannot start with left square bracket ([).

 

 

Parameter – array: it is again enclosed in square brackets, where individual parameters come in line with the rules and syntax of specifying multiple parameters.

 

1.1.2Custom intervals

Create custom rules to set the times when an item is checked.Two ways:

Method

Description

Detail

1Flexible intervals

A flexible interval is defined with Interval and Period:

Interval – the update interval for the specified time period

Period – the time period when the flexible interval is active

allow to redefine the default update interval

2Scheduling

are used to check items at specific times

whereby an item check can be executed at a specific time or sequence of times

Detail rules refer to:

https://www.zabbix.com/documentation/3.4/manual/config/items/item/custom_intervals

1.2 Item types

Such as zabbix agent checks| SNMP agent checks|SNMP traps|IPMI checks|Simple checks…

Note: If a particular item type requires a particular interface (like an IPMI check needs an IPMI interface on the host) that interface must exist in the host definition.

1 Multiple interfaces can be set in the host definition: Zabbix agent, SNMP agent, JMX and IPMI

2 If an item can use more than one interface, it will search the available host interfaces (in the order: Agent→SNMP→JMX→IPMI) for the first appropriate one to be linked with.

3

1.2.1 Zabbix agent

Type

Description

Detail

Zabbix agent

for passive checks

 

Zabbix gent (active)

for active checks

 

 

Zabbix agent supports lots of item keys, Parameters without angle brackets are mandatory. Parameters marked with angle brackets < > are optional.

Details for item keys refer to :

https://www.zabbix.com/documentation/3.4/manual/config/items/itemtypes/zabbix_agent

windows specific item keys refer to:

https://www.zabbix.com/documentation/3.4/manual/config/items/itemtypes/zabbix_agent/win_keys

 

1.2.2SNMP agent

Overview:

Column

Detail

note

purpose

monitoring on devices

such as printers, network switches, routers or UPS that usually are SNMP-enabled and on which it would be impractical to attempt setting up complete operating systems and Zabbix agents.

Specail note

To be able to retrieve data provided by SNMP agents on these devices, Zabbix server must be initially configured with SNMP support.

SNMP checks are performed over the UDP protocol only

feature

1Use bulk requests

2query SNMP devices for multiple values in a single request.

3retry at least one time

1incorrect SNMP response:SNMP response from host "gateway" does not contain all of the requested variable bindings.

2If monitoring SNMPv3 devices, make sure that msgAuthoritativeEngineID (also known as snmpEngineID or 「Engine ID」) is never shared by two devices. According to RFC 2571 (section 3.1.1.1) it must be unique for each device.

 

Configuring SNMP monitoring

1安裝snmp

安裝前基礎知識:Snmp部分經常使用OID

http://www.ttlsa.com/monitor/snmp-oid/

http://www.javashuo.com/article/p-mkkhcrfo-hs.html

 

系統參數(1.3.6.1.2.1.1)

OID

描述

備註

請求方式

.1.3.6.1.2.1.1.1.0

獲取系統基本信息

SysDesc

GET

.1.3.6.1.2.1.1.3.0

監控時間

sysUptime

GET

.1.3.6.1.2.1.1.4.0

系統聯繫人

sysContact

GET

.1.3.6.1.2.1.1.5.0

獲取機器名

SysName

GET

.1.3.6.1.2.1.1.6.0

機器坐在位置

SysLocation

GET

.1.3.6.1.2.1.1.7.0

機器提供的服務

SysService

GET

.1.3.6.1.2.1.25.4.2.1.2

系統運行的進程列表

hrSWRunName

WALK

.1.3.6.1.2.1.25.6.3.1.2

系統安裝的軟件列表

hrSWInstalledName

WALK

 

說明:

1) OID等同於名稱(備註中的字符串),若是要查看對應的信息可經過OID或名稱執行腳本:

如查看網絡接口信息,經過OID和名稱查詢結果同樣

命令

結果

說明

snmpwalk -v 1 14.215.130.184 -c public IfDescr

(使用名稱)

IF-MIB::ifDescr.1 = STRING: lo

IF-MIB::ifDescr.2 = STRING: em1

IF-MIB::ifDescr.3 = STRING: em2

IF-MIB::ifDescr.4 = STRING: em3

IF-MIB::ifDescr.5 = STRING: em4

1查詢全部網絡接口信息

2說明共有5個網口,名稱爲lo,em1,…

3 lo表示本地迴路

snmpwalk -v 2c  14.215.130.184 -c public .1.3.6.1.2.1.2.2.1.2

(使用OID)

snmpwalk -v 2c  14.215.130.184 -c public IF-MIB::ifDescr.1

(使用名稱)

IF-MIB::ifDescr.1 = STRING: lo

1查詢接口1的信息

2注意

.1.3.6.1.2.1.2.2.1.2.1

最後的1表明接口1,若是查詢第二個則可爲2,以此類推

snmpwalk -v 2c  14.215.130.184 -c public .1.3.6.1.2.1.2.2.1.2.1

(使用OID)

https://blog.csdn.net/alizee6352012/article/details/10170985

 

2、安裝和使用

 

 

http://www.ttlsa.com/zabbix/zabbix-snmp-install/

安裝snmp配置

步驟

詳細

備註

yum安裝snmp

yum install net-snmp* -y

 

snmp配置

# vim /etc/snmp/snmpd.conf

view systemview included .1.3.6.1.2.1.25.1.1 //找到這行,增長下面配置

view systemview included .1 // 這個是新增長的

proc mountd // 找到這些配置,把註釋去掉

proc ntalkd 4

proc sendmail 10 1

disk / 10000

load 12 14 14

 

啓動snmpd

service snmpd start

 

經過snmp獲取數據

1首先須要對應的OID,參考

http://www.ttlsa.com/monitor/snmp-oid/

http://www.javashuo.com/article/p-mkkhcrfo-hs.html

本文以184服務器爲測試環境:

snmpwalk -c public -v 2c 14.215.130.184 sysName

獲得結果:

SNMPv2-MIB::sysName.0 = STRING: ISHYC-003538

例如獲取主機名可採用名稱或OID形式獲取:

1使用名稱:

# snmpwalk -c public -v 2c 173.219.255.122 sysName // 使用名稱

2使用OID:

# snmpwalk -c public -v 2c 173.219.255.122 .1.3.6.1.2.1.1.5.0 // 使用OID

獲得結果都爲

SNMPv2-MIB::sysName.0 = STRING: li519-232

對應li519-232即爲主機名

 

3配置snmp監控

 

步驟

詳細

備註

1使用SNMP接口爲設備建立一個主機

1建立一個主機(或已有主機)

2在SNMP interfaces接口欄輸入ip地址

3也可以使用snmp模板或自行添加snmp監控項

4點擊add保存

1已有主機可直接配置

2snmp模板可能與主機不兼容

3snmp檢查不須要代理端口,可忽略

2找出要監控項目的SNMP字符串(或OID)

根據http://www.ttlsa.com/monitor/snmp-oid/

http://www.javashuo.com/article/p-mkkhcrfo-hs.html

中經常使用OID選擇要監控的項目

如:監控端口1,2,3(IFSpeed)上的接口當前帶寬。

對應名稱爲: IF-MIB::ifSpeed.1, IF-MIB::ifSpeed.2, IF-MIB::ifSpeed.3

 

注意:3COM彷佛是使用數百個端口號,例如 端口1=端口101,端口3=端口103,但思科使用常規數字,例如。 端口3=3。

關於OID和MIB介紹

http://blog.sina.com.cn/s/blog_4502d59c0101fcy2.html

 

 

3建立監控項

1回到Zabbix並點擊前面建立的SNMP主機的監控項

2建立端口1監控項,單擊Create item,輸入監控項name, 如:SNMP-IFSpeed (pbs)1(自定義)

3將type改成SNMPv* agent (*表示1或2或3),本文采用SNMPv2 agent。爲版本號

四、host interface確保已存在SNMP

五、設置key爲有意義的內容,如SNMP-ifspeed1,可自定義。如報錯,可遵循SNMP-**格式

六、snmp oid填入:IF-MIB::ifSpeed.1,

七、snmp community填入public,其餘默認,點擊」update」。

八、依次添加端口2監控項,對應名稱可爲SNMP-IFSpeed (pbs)2,key可爲SNMP-ifspeed2,snmp oid爲IF-MIB::ifSpeed.2,snmp community爲public

 

對snmp監控,key沒有太大做用,主要經過snmp oid進行區分

 

1.2.2.1Dynamic indexes

動態索引下配置:(未使用,沒明白)

在SNMP OID中的索引號多是動態的,隨時間而改變,致使監控可能中止。

爲避免,定義一個考慮動態索引號的OID。

 

如:

若是須要檢索索引值以匹配Cisco設備上的GigabitEthernet0/1接口的ifInOctets,請使用如下OID:

ifInOctets["index","ifDescr","GigabitEthernet0/1"]

語法:

<OID of data>["index","<base OID of index>","<string to search for>"]

參數

描述

備註

OID of data

主OID用於監控項上的數據檢索。

即SNMP OID表中的名稱

index

處理方法。目前支持一種方法:
index – 搜索索引,並將其附加到數據OID

即固定

base OID of index

該OID將被搜索以獲取與該字符串對應的索引值。

 

string to search for

用於在進行查找時與值精確匹配的字符串。區分大小寫

 

Details refer to:

https://www.zabbix.com/documentation/3.4/manual/config/items/itemtypes/snmp/dynamicindex

例如:

配置的檢測語法:

HOST-RESOURCES-MIB::hrSWRunPerfMem["index","HOST-RESOURCES-MIB::hrSWRunPath", "/usr/sbin/apache2"]

若是設備存在如下SNMP信息:

...

HOST-RESOURCES-MIB::hrSWRunPath.5376 = STRING: "/sbin/getty"

HOST-RESOURCES-MIB::hrSWRunPath.5377 = STRING: "/sbin/getty"

HOST-RESOURCES-MIB::hrSWRunPath.5388 = STRING: "/usr/sbin/apache2"

HOST-RESOURCES-MIB::hrSWRunPath.5389 = STRING: "/sbin/sshd"

...

則檢索出對應的OID(5388對應的檢測項),返回數據:

HOST-RESOURCES-MIB::hrSWRunPerfMem.5388 = INTEGER: 31468 Kbytes

2索引查詢緩存

動態檢索請求下,Zabbix檢索並緩存基本OID下完整的SNMP表進行檢索。(不用再請求監控的主機,注意每一個poller處理使用單獨的緩存)

1.2.3 SNMP traps

與snmp agent相反,該狀況下爲從支持SNMP的設備發送的,由Zabbix收集或「trapped」。

(即設備主動發送)

1snmp agenttrap區別

類別

區別

備註

Snmp代理(agent)

1要監控的設備沒法安裝操做系統或zabbix agent。

2zabbix服務器進行數據獲取

3zabbix服務器初始化配置必須具有snmp支持

4端口161

 

Snmp trap

一、 設備主動發送數據,zabbix收集或」trapped」

二、 端口162

三、 使用trap能夠檢測在查詢間隔期間發生的一些可能被查詢數據丟失的短時間問題

Zabbix中接收SNMP trap旨在使用snmptrapd和內置機制之一來傳遞trap到Zabbix - 一個perl腳本或SNMPTT。

 

2接收trap流程

1)snmptrapd 收到trap

2)snmptrapd將trap傳遞給SNMPTT或調用Perl接收器

3)SNMPTT或Perl trap接收器解析,格式化並將trap寫入文件

4)Zabbix SNMP trap讀取並解析trap文件

5)對於每一個trap,Zabbix發現主機接口與接收的trap地址匹配的全部「SNMP trap」監控項。請注意,在匹配期間只使用主機接口中選定的「IP」或「DNS」。

6)對於每一個找到的監控項,將trap與「snmptrap[regexp]」中的regexp進行比較。 trap設置爲all匹配項的值。若是沒有找到匹配的監控項,而且有一個「snmptrap.fallback」監控項,則將trap設置爲該值。

7)若是trap未設置爲任何監控項的值,Zabbix默認記錄不匹配的trap。(這由管理 - >常規 - >其它中的「記錄不匹配的SNMP trap(Log unmatched SNMP traps)」配置。)

 

3配置snmp trap

步驟

詳細

備註

複製perl腳本並受權

一、    zabbix源碼解壓後,找到zabbix_trap_receiver.pl路徑。

本文爲:/home/web2018/invt_oms/zabbix-3.4.7/misc/snmptrap/zabbix_trap_receiver.pl

二、    複製perl腳本到zabbix安裝目錄,並受權

cp /home/web2018/invt_oms/zabbix-3.4.7/misc/snmptrap/zabbix_trap_receiver.pl /usr/share/zabbix

受權:

chmod +x /usr/share/zabbix/zabbix_trap_receiver.pl

配置snmptrap連接:https://blog.csdn.net/liang_baikai/article/details/53522293

https://www.zabbix.org/wiki/Start_with_SNMP_traps_in_Zabbix

linux下載zabbix源碼命令:
wget http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/2.2.1/zabbix-2.2.1.tar.gz

tar -zxvf zabbix-2.2.1.tar.gz

snmptrapd的配置文件並修改

1 find / -name snmptrapd.conf對應結果:/etc/snmp/snmptrapd.conf

2修改

vim /etc/snmp/snmptrapd.conf,增長2行代碼:

authCommunity execute public

perl do "/usr/share/zabbix/zabbix_trap_receiver.pl"

 

修改zabbix_server.conf文件,啓動snmptrap的功能

vi /etc/zabbix/zabbix_server.conf

配置:

StartSNMPTrapper=1

SNMPTrapperFile= /tmp/zabbix_traps.tmp

SNMPTrapperFile=/tmp/zabbix_traps.tmp (must be same as in zabbix_trap_receiver.pl)

即查看vi /usr/share/zabbix/zabbix_trap_receiver.pl中的SNMPTrapperFile配置明細,必須保持一致

重啓zabbix_server服務

Systemctl restart zabbix-server

 

啓動snmptrapd服務

systemctl restart snmptrapd

執行命令測試trap:

snmptrap -v 1 -c public 14.215.130.184 '.1.3.6.1.6.3.1.1.5.4' '0.0.0.0' 6 33 '55' .1.3.6.1.6.3.1.1.5.4 s "eth0"

查看vi /tmp/zabbix_traps.tmp,顯示trap數據:

18:01:17 2018/05/02 ZBXTRAP 14.215.130.184

PDU INFO:

  notificationtype               TRAP

  version                        0

  receivedfrom                   UDP: [14.215.130.184]:50455->[14.215.130.184]:162

注意:因爲本文配置zabbix-server服務器ip爲14.215.130.184,若是trap命令的ip爲127.0.0.1則zabbix沒法獲取trap信息

Zabbix上配置

1建立主機,並配置SNMP接口。」配置」à主機à設置具備正確ip或dns的snmp接口,本文配置SNMP接口ip爲14.215.130.184端口161

2建立snmptrap監控項,配置name: SNMP-TRAP-ALL

Key:snmptrap.fallback

Type:SNMP trap

Host interface:14.215.130.184:161

Type of information:log

查看最新數據,存在則部署成功

1將每一個收到的trap地址與全部SNMP接口的IP和DNS地址進行比較,以查找相應的主機

2 key分兩種:snmptrap.fallback(採集任何未被snmptrap[]規則匹配的trap)和snmptrap[regexp ](採集全部符合regexp規則的SNMP信息,若是沒有規則則會採集全部信息, regexp爲正則表達式)

目前不支持多行正則表達式匹配,要使SNMP trap監控工做,必須首先正確設置。

3實際測試snmptrap[]會捕獲當前SNMP接口ip下全部的trap信息,若是trap信息非配置的snmp接口ip,則不會捕獲和顯示(如上面提到的127.0.0.1trap信息)

以上爲perl腳本處理snmptrap信息配置,也可配置爲SNMPTT處理:

https://blog.csdn.net/mintazoedeng/article/details/70210358

官網中給出的爲SNMPTT方式做爲trap處理器,實際採用嵌入perl腳本方式效率更好,本文即便用官網最後提供的perl腳本實現trap處理。(This simple example uses SNMPTT as traphandle. For better performance on production systems, use embedded Perl to pass traps from snmptrapd to SNMPTT or directly to Zabbix.)

1.2.4 IPMI checks(未成功)

1簡介:

1) 硬件監控,監控zabbix中智能平臺管理接口(Intelligent Platform Management Interface (IPMI))設備的健康狀態和使用狀態。

2) 執行IPMI監控zabbix服務器須要初始化配置IPMI支持。

3) Zabbix ipmi監控須要設備支持IPMI(HP iLO, DELL DRAC, IBM RSA, Sun SSP, etc).

2配置

Step

Detail

note

主機配置

1主機配置IPMI監控,添加IPMI接口(ip和端口)並定義受權IPMI參數

詳細步驟:ConfigurationàHostàIPMI interfacesàclick on 」Add」àip: 14.215.130.184  port:623àupdate

 

服務器配置

1 vi /etc/zabbix/zabbix_server.conf

取消註釋StartIPMIPollers=0

並修改成StartIPMIPollers=3 (poller個數爲3)

2保存後重啓zabbix_server

systemctl restart zabbix-server

Zabbix服務器默認未配置開啓IPMI poller,所以,添加IPMI items無效,須要配置zabbix_server.conf。

配置監控項(item)

1create item

2

 

 

1安裝ipmi命令:

yum -y install OpenIPMI OpenIPMI-devel ipmitool freeipmi

2查看服務器型號:

dmidecode | grep "Product"

結果:

Product Name: PowerEdge R620

Product Name: 0XWDCF

網上查詢PowerEdge R620和0XWDCF均指dell服務器

3ipmi配置信息

http://blog.sina.com.cn/s/blog_6dc1452201014j9s.html

3.1)查看網絡配置信息

ipmitool lan print 1

結果:

Set in Progress         : Set Complete

Auth Type Support       : MD5

Auth Type Enable        : Callback : MD5

                        : User     : MD5

                        : Operator : MD5

                        : Admin    : MD5

                        : OEM      :

IP Address Source       : Static Address

IP Address              : 192.168.0.120

Subnet Mask             : 255.255.255.0

MAC Address             : 20:47:47:87:55:e2

注意:根據該列表提供的auth方式設置命令auth值。

3.2)查看用戶列表

ipmitool user list 1

能夠看到當前有兩個用戶,一個是默認匿名用戶,一個是root

ID  Name            Callin  Link Auth         IPMI Msg   Channel Priv Limit

1                    true    false      false      NO ACCESS

2   root             true    true       true       ADMINISTRATOR

3                    true    false      false      NO ACCESS

4                    true    false      false      NO ACCESS

3.3)設置root密碼

ipmitool user set password 2

(表示設置id爲2的用戶的password,即root的密碼)

根據提示輸入2次密碼。本文爲invt8888test

3.4)測試ipmi配置的ip地址:

兩種方式:ping 192.168.0.120或ipmitool -H 192.168.1.70 -U root power status

正常結果:power is on.

注意:ipmitool只能對其餘服務器執行,對本機執行則返回無結果;

用戶開啓

ipmitool user enable 2

本地查看sensor監控列表

ipmitool -I open sensor list

ipmitool lan set 1 access on  # 開啓IPMI Over LAN

 

https://jingyan.baidu.com/article/1876c8527f42c7890b1376e8.html

https://www.linuxidc.com/Linux/2017-05/143523.htm

https://blog.csdn.net/yunsongice/article/details/5408802

https://www.zhihu.com/question/29248759

//測試是否有聯通性

ipmitool -H 192.168.0.120 -I lan chassis power status

監控電壓:Voltage 1

https://www.iyunv.com/thread-13105-1-1.html

http://blog.51cto.com/pesen/1283836

 

修改ipmi的ip地址:ipmitool lan set 1 ipaddr 172.17.0.128

//增長一條數據到arp解析表

arp -s 172.17.0.128 20:47:47:87:55:e2

//查看arp解析表數據

arp -n

//建立用戶:

invt/invt8888test

//查看zabbix日誌

 

//查看日誌

grep 'Added sensor' /var/log/zabbix/zabbix_server.log

vi /var/log/zabbix/zabbix_server.log

1.2.5 Simple checks

1簡單檢查,用於遠程無客戶端檢查服務。不須要zabbix agent,zabbix server/proxy負責處理簡單檢查,例如:net.tcp.service[ftp,,155] net.tcp.service[http] net.tcp.service.perf[http,,8080]

2虛擬機的簡單檢查監控項須要使用user name和password,其餘則不須要

3直接建立監控項便可。須要注意:zabbix使用fping來處理ICMP pings,須要服務器或被監控對象安裝,並確保權限正確以及fping文件位置和zabbix server/proxy配置的路徑一致(FpingLocation參數),不然,ICMP pings將不被處理。

Fping受權:

shell> chown root:zabbix /usr/sbin/fping

shell> chmod 4710 /usr/sbin/fping

其餘參數詳細:https://www.zabbix.com/documentation/3.4/manual/config/items/itemtypes/simple_checks

4虛擬機監控參考:https://www.zabbix.com/documentation/3.4/manual/config/items/itemtypes/simple_checks/vmware_keys

詳細監控見:

https://www.zabbix.com/documentation/3.4/manual/vm_monitoring

步驟

詳細

備註

配置

編譯版須要加上--with-libxml2 和 --with-libcurl 編譯選項;包安裝版已自帶,不需額外配置

 

自動發現

使用 low-level discovery 規則自動發現 VMware hypervisors 和虛擬機

 

 

 

 

 

 

 

 

1.2.6Log file monitoring

1基本信息:日誌文件監控

描述

詳細

備註

通知

用於告知用戶日誌文件包含指定字符或字符規則模式

 

監控條件

1主機運行zabbix agent

2日誌監控項設置。

監控日誌文件大小限制取決於大文件支持。大文件支持在32位solaris不支持。

2配置

步驟

詳細

備註

校驗agent參數

確保agent配置文件中:

1 Hostname參數和前端host name匹配

2ServerActive參數中的Servers指定爲active checks 處理,即type類型爲zabbix agent(active)

本文配置:

1Vi /etc/zabbix/zabbix_agentd.conf

2設置Hostname:

Hostname=Zabbix-server和web前端配置一致

3設置ServerActive:

ServerActive=14.215.130.184

監控項配置

1建立監控項,配置

Name:log item test

Type:zabbix agent(active)

Key: log[/var/log/zabbix/zabbix_server.log,[error,Warning],,,,,]

Log time format: pppppp:yyyyMMdd:hhmmss

/var/log/zabbix/zabbix_server.log

 

注意

一、server和agent採用2個計數器保存被監控日誌的大小和最近修改時間(對於logrt),另外:

https://www.zabbix.com/documentation/3.4/manual/config/items/itemtypes/log_items

 

正則表達式匹配部分的提取

1僅提取匹配文件中感興趣部分值,而不是匹配的整行。

2經過log和logrt監控項中附加的output參數實現。

log[/path/to/the/file,"large result buffer allocation.*Entries: ([0-9]+)",,,,\1]其中

"large result buffer allocation.*Entries: ([0-9]+)"爲正則表達式,

Zabbix返回結果僅爲數字,是由於output參數定義爲\1,表示第一個也是惟一一個感興趣子羣:([0-9]+) (表明數字)

經過提取和返回數字,可定義觸發器

maxdelay參數

參數容許忽略日誌文件中的一些較舊的行,以便在「maxdelay」秒內獲取最近分析的行。

指定'maxdelay'>0可能致使忽略重要的日誌文件記錄和錯過的報警。只有在必要時才使用。

 

1.2.7Calculated items

1基礎:

計算類監控項在其餘監控項基礎上進行計算。

描述

詳細

備註

1

計算監控項可建立虛擬數據源,全部計算在zabbix server端,與計算監控項無關的則在zabbix agent或proxies端

 

2配置

描述

詳細

備註

配置key和Formula

key惟一性, Formula計算公式,2者無關聯。Key值不能在Formula中使用

 

1簡單Formula公式

func(<key>|<hostname:key>,<parameter1>,<parameter2>,...)

2全部計算公式中的監控項必須存在,若是更新了引用的item,需手動更新formula中涉及的key

計算item失效狀況

1引用的item存在如下狀況:1)找不到2)被禁用3)屬於被禁用的主機4)不支持

2無數據用於計算

3被0整除

4使用非法語法

 

樣例1

計算硬盤剩餘百分比

計算公式:

100*last("vfs.fs.size[/,free]")/last("vfs.fs.size[/,total]")

 

樣例2

計算zabbix10分鐘處理的數字值平均值

avg("Zabbix Server:zabbix[wcache,values]",600)

 

 

ARGUMENT

DEFINITION

func

One of the functions supported in trigger expressions: last, min, max, avg, count, etc

key

The key of another item whose data you want to use. It may be defined as key or hostname:key.
Note: Putting the whole key in double quotes (「…」) is strongly recommended to avoid incorrect parsing because of spaces or commas within the key.
If there are also quoted parameters within the key, those double quotes must be escaped by using the backslash (\). See Example 5 below.

parameter(s)

Function parameter(s), if required.

 

1.2.8Internal checks

1簡介:可檢測zabbix內部處理,即監測zabbix server或proxy內部執行情況。若是主機被server監控則在server端計算;相似,則在proxy端計算。內部監測由zabbix poller處理。

描述

詳細

備註

支持的檢測

1無」<」號的參數爲常量,如zabbix[host,<type>,available]中的host和available

2item和item參數的值僅在支持類型下有效(如不支持在proxy端,則僅在server下可收集數據)

 

樣例

建立item:

Name: zabbix[boottime]

Type: zabbix internal

Key: zabbix[boottime]

 

 

 

1.2.9SSH checks

1簡介:無客戶端監控,不須要agent。Zabbix server須初始配置支持SSH2(rpm包安裝狀況下不須要)。

注意:libssh2庫最小支持版本爲1.0.0

2配置

描述

詳細

備註

密碼認證

Ssh檢測提供2種密碼驗證方式:

1 user/password用戶/密碼對

2 key-file密鑰文件

 

1 User/password方式不須要額外配置

2 /home/zabbix在這裏是zabbix用戶賬戶的主目錄,而.ssh是一個目錄,默認狀況下,公鑰和私鑰將由主目錄中的ssh-keygen命令生成。

3 centos主目錄的zabbix用戶帳號位置爲/var/lib/zabbix

4公鑰和私鑰默認生成在/home/zabbix/.ssh目錄下(分別爲id_rsa.pub和 id_rsa),該目錄與zabbix server配置的SSHKeyLocation參數一致

5密鑰類型不爲rsa可能不被zabbix中的libssh2支持

Key-file密鑰文件認證

Key-file認證方式:

 1)vi /etc/zabbix/zabbix_server.conf

2)設置SSHKeyLocation=/home/zabbix/.ssh

3)從新配置zabbix的home目錄

3.1)中止agent和server。

systemctl stop zabbix-agent

systemctl stop zabbix-server

3.2)嘗試移動home目錄位置(若是存在)

usermod -m -d /home/zabbix zabbix

3.3)移動失敗則建立home目錄(centos中)

test -d /home/zabbix || mkdir /home/zabbix

3.4)home目錄權限設置

chown zabbix:zabbix /home/zabbix

chmod 700 /home/zabbix

4) 啓動:

systemctl start zabbix-agent

systemctl start zabbix-server

5)執行祕鑰生成命令

sudo -u zabbix ssh-keygen -t rsa

5.1)Enter file in which to save the key (/home/zabbix/.ssh/id_rsa):直接enter自動建立目錄 '/home/zabbix/.ssh'

5.2)Enter passphrase (empty for no passphrase):輸入爲空或自定義字符。

 

本文配置passphrase爲空

Shell配置

1每一個SSH檢測監控的主機上僅執行一次

2)執行如下命令,將公鑰文件安裝到遠程主機10.10.10.10,以便以root帳號執行SSH檢測:

sudo -u zabbix ssh-copy-id root@10.10.10.10

2.1) Are you sure you want to continue connecting (yes/no)?輸入yes

2.2) root@14.215.130.184's password:輸入密碼,若是失敗則再次執行sudo -u zabbix ssh-copy-idroot@10.10.10.10命令。

2.3)成功後Number of key(s) added: 1

2.4)使用默認的私鑰(/home/zabbix/.ssh/id_rsa)檢測SSH 登陸

sudo -u zabbix ssh root@10.10.10.10

本文配置爲14.215.130.184

 

Item配置

配置item:

Name:SSH test check(without passphrase)

Type:SSH agent

Key:ssh.run[clear]

Host interface:****.10050

Authentication method:public key

User name:root

Public key file:id_rsa.pub

Private key file:id_rsa

Key passphrase:

Excuted script:具體執行腳本,多個腳本分行排列。如systemctl status mysql   top

libssh2庫可能將執行腳本縮短爲32kB

1.2.10 Trapper items

一、概述

Trapper items接收進入的數據而不是查詢的數據。適合任何push(推送)到zabbix的數據。

使用trapper item必須:1)zabbix設置trapper item 2)發送數據到zabbix

2配置

描述

詳細

備註

Item配置

建立item:

Name: trapper item

Type: zabbix trapper

Key: trap

Type of information:text

Allowed hosts:可爲空或指定ip

https://www.zabbix.com/documentation/3.4/manual/config/items/itemtypes/trapper

 

發送數據

1該測試樣例中,咱們使用zabbix_sender工具發送測試數據:

zabbix_sender -z 14.215.130.184 -p 10051 -s "Zabbix-server" -k trap -o "test value"
2 在monitoring—》latest data查看數據:

2018-05-04 14:44:14  test value

1安裝zabbix-sender

yum install -y zabbix-sender

2注意:"Zabbix-server"與Host中的Host name參數一致

1.2.11 jmx monitoring

1概述

監控JMX(Java Management Extensions,即Java管理擴展)計數器。Zabbix經過名爲Zabbix Java gateway的守護進程形式支持jmx監控。

注意:java getway和被監控jmx應用間通信不能啓用防火牆,即開啓端口。

2對java應用開啓遠程jmx監控

2.1)監控結構圖:

 

描述

詳細

備註

Zabbix-server ßàjava-gateway

1) Zabbix-server經過java-gateway支持jmx監控;java-gateway提供10052端口給zabbix-server或proxy進行請求鏈接

2) Zabbix server或proxy經過配置StartJavaPollers參數設置鏈接java-gateway線程數。而java-gateway則經過START_POLLERS配置工做線程數。建議StartJavaPollers小於或等於START_POLLERS

1)Java-gateway須要安裝,本文采用rpm(安裝包方式)安裝,不須要額外下載,直接yum命令安裝便可:

yum install -y zabbix-java-gateway

2) 固然java必須先安裝和配置好

3)一個zabbix-server或proxy僅能配置一個gateway

java-gateway ßàjmx

Jmx能夠理解爲具體的java應用程序或基於jvm的容器,如本文的tomcat。Jmx提供默認的12345端口給java-gateway遠程請求。

 

 

2.2)安裝配置順序:

描述

詳細

備註

1 Zabbix-server端安裝java gateway

本文爲rpm安裝,不需額外下載安裝包,直接執行命令:

yum install -y zabbix-java-gateway

 

官網:https://www.zabbix.com/documentation/3.4/manual/concepts/java

爲編譯安裝,而本文爲rpm安裝,不使用按其安裝方式,配置方式可參考。

2配置java-gateway

1)修改配置:

vi /etc/zabbix/zabbix_java_gateway.conf

修改內容:

PID_FILE="/run/zabbix/zabbix_java.pid"

Pid文件可經過find / -name zabbix_java.pid命令查找

2)其餘保留不變(端口默認10052),保存後重啓gateway

systemctl restart zabbix-java-gateway

本文修改後內容爲:PID_FILE="/run/zabbix/zabbix_java.pid"

 

3 修改zabbix-server配置

1)      修改

vi /etc/zabbix/zabbix_server.conf

2)      修改內容:

JavaGateway=14.215.130.184

StartJavaPollers=5

3) 保存後重啓zabbix-server

systemctl restart zabbix-server

JavaGateway=14.215.130.184 即java-gateway安裝服務器,本文java-gateway和zabbix-server在同一個服務器。可將java-gateway安裝在其餘服務器

StartJavaPollers=5開啓請求線程數,小於或等於java-gateway的START_POLLERS

 

4 客戶端配置

(如tomcat配置)

1) 修改catalina.sh文件。

vi /home/web2018/iotdebug/bin/catalina.sh

2.1)非安全模式下監控,在Execute The Requested Command上添加

CATALINA_OPTS="$CATALINA_OPTS -Djava.rmi.server.hostname=14.215.130.184 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"

保存後重啓tomcat便可

2.2)安全模式下監控,單用戶(系統僅一個用戶)狀況:(未驗證)

a)經過: find / -name management 根目錄查找jdk安裝路徑中的management目錄。

定位到該目錄下:cd /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.171-2.6.13.0.el7_4.x86_64/jre/lib/management

b)因爲jdk默認不存在jmxremote.password文件,執行命令重命名:cp jmxremote.password.template jmxremote.password

c) 建立本身的用戶權限組:

vi jmxremote.access

在 monitorRole   readonly上添加自定義用戶角色以及權限:

invttest readonly

其中invttest爲自定義用戶角色,readionly爲用戶操做權限(讀權限)。

d)建立用戶權限組用戶

vi jmxremote.password

在最後添加用戶角色及密碼

invttest invt2018&Test)

e)受權僅當前用戶可讀寫操做jmxremote文件:

chmod 600 jmxremote.*

f) 修改catalina.sh文件。

vi /home/web2018/iotdebug/bin/catalina.sh

在Execute The Requested Command上添加

CATALINA_OPTS="$CATALINA_OPTS -Djava.rmi.server.hostname=14.215.130.184 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=true

-Dcom.sun.management.jmxremote.password.file=$CATALINA_HOME/conf/jmxremote.password"

注意;若是多用戶狀況下使用該配置,則沒法正常監控,會提示報錯:如java.lang.SecurityException: Authentication failed! Credentials required

2.3)安全模式下監控,多用戶(系統有多個用戶),密碼驗證,非SSL:

a)將單用戶狀況下的jmxremote.*複製到應用目錄下(如tomcat目錄下,隨意放置),本文複製到tomcat的conf目錄下

cp jmxremote.password /home/web2018/iotdebug/conf/

cp jmxremote.access /home/web2018/iotdebug/conf/

b)設置文件權限,僅當前用戶可讀寫操做:

chmod 600 jmxremote.*

c)增長自定義用戶權限,並增長密碼:

vi jmxremote.access

增長用戶密碼:web2018 invt2018&Test)

在最後添加用戶權限: invt readonly,保存

vi jmxremote.password

在最後添加用戶密碼;invt invttest2018,保存

若是使用默認的monitorRole或controlRole用戶,則只在jmxremote.password中取消對應的用戶註釋,並修改密碼便可。

d) 修改catalina.sh文件。

vi /home/web2018/iotdebug/bin/catalina.sh

在Execute The Requested Command上添加

CATALINA_OPTS="$CATALINA_OPTS -Djava.rmi.server.hostname=14.215.130.184 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=true -Dcom.sun.management.jmxremote.password.file=/home/web2018/iotdebug/conf/jmxremote.password -Dcom.sun.management.jmxremote.access.file=/home/web2018/iotdebug/conf/jmxremote.access"

本配置採用絕對路徑

f)重啓tomcat,幾分鐘後,zabbix實現對jmx監控。若是報錯:java.lang.SecurityException: Access denied!

則檢查監控項Item中是否配置了用戶和密碼。本文因爲主機導入的jmx模板未配置用戶和密碼報錯。

解決辦法(批量更新):

a)      僅對當前主機item項增長用戶名和密碼(不影響系統模板):找到主機àItemsà選擇TYPES中要增長的item類型,(本文爲JMX agent)à勾選全選選項(第一個勾選項)à選擇」Mass update」批量更新à更新username和password便可

b)      更改整個模板,影響全部使用該模板的主機:

主機àTemplatesà選擇要修改的關聯模板à選擇關聯模板中的Itemsà勾選全選à批量更新

 

2.4)安全模式下監控,多用戶(系統有多個用戶)密碼驗證+SSL:(無有效SSL證書,沒法驗證)

a)在上述基礎上,增長SSL祕鑰:本文使用java自帶的keytool 生成祕鑰庫keystore,執行命令:

keytool -genkey -alias tomcatsslkey -keyalg RSA -keystore /home/zabbix/mykey.keystore

其中tomcatsslkey爲祕鑰庫別名, /home/zabbix/mykey.keystore爲存儲位置

b)提示輸入密碼並確認(本文密碼invt2018):

Enter keystore password:

Re-enter new password:

c)提示輸入基本信息:

What is your first and last name?

隨便輸入便可。

d)所有輸入後,提示確認

 Is CN=tomcat, OU=apache, O=apcahe, L=beijing, ST=cn, C=cn correct?

  [no]:

輸入: y

e)提示輸入key password密碼:若是與keystore password相同可直接回車。本文直接回車。生成後會有個Warning: 忽略

f)將生成的祕鑰導出爲公鑰:

keytool -export -alias tomcatsslkey -keystore /home/zabbix/mykey.keystore -rfc -file /home/zabbix/mypublickey.key

其中-file /home/zabbix/mypublickey.key爲導出後的文件位置和名稱,提示輸入密碼:invt2018

g) 將生成的公鑰導入並生成信任證書(Truststore信任證書):

keytool -import -alias tomcatsslkey -file /home/zabbix/mypublickey.key -keystore /home/zabbix/mytrustkey.keystore

提示輸入密碼並確認,可與keystore保持一致。本文保持一致。

至此,keystore、truststore、公鑰證書都已生成完畢。查看/home/zabbix目錄,生成了mykey.keystore

h)配置tomcat,

vi conf/server.xml

新增以下配置:

<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"

 maxThreads="150" SSLEnabled="true" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="/home/zabbix/mykey.keystore" keystorePass="invt2018" />

瀏覽器輸入https://14.215.130.184:8443確認不安全訪問,訪問成功則配置成功。

i) 修改catalina.sh文件。

vi /home/web2018/iotdebug/bin/catalina.sh

在Execute The Requested Command上添加

CATALINA_OPTS="$CATALINA_OPTS -Djava.rmi.server.hostname=14.215.130.184 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=true -Dcom.sun.management.jmxremote.password.file=/home/web2018/iotdebug/conf/jmxremote.password -Dcom.sun.management.jmxremote.access.file=/home/web2018/iotdebug/conf/jmxremote.access -Dcom.sun.management.jmxremote.ssl=true -Djavax.net.ssl.keyStore=/home/zabbix/mykey.keystore -Djavax.net.ssl.keyStorePassword=invt2018 -Dcom.sun.management.jmxremote.ssl.need.client.auth=true -Djavax.net.ssl.trustStore=/home/zabbix/mytrustkey.keystore -Djavax.net.ssl.trustStorePassword=invt2018"

重啓tomcat,但zabbix沒法實現jmx監控,由於用keytool自簽發的證書,CAS Client並不信任這個證書。並報錯:

error during JRMP connection establishment; nested exception is: 
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: 

1本文tomcat名稱爲iotdebug路徑/home/web2018/iotdebug

2 CATALINA_OPTS配置爲一行,-D前注意空格

3 Djava.rmi.server.hostname爲tomcat所在的主機ip,

-Dcom.sun.management.jmxremote.port=12345爲提供遠程監控端口號,必須爲未被使用的,且防火牆開通

4 多tomcat監控好的方法是自動發現,笨方法可採用下面連接

http://www.javashuo.com/article/p-zrstxdgu-bg.html

https://blog.csdn.net/Hu_wen/article/details/53587250?locationNum=14&fps=1

5 配置的jmxremote.access和jmxremote.password在整個服務器上有效(只需配置一次),由於全部的java應用均依賴於jdk。僅須要在java應用(如tomcat)配置相應的文件路徑,jmx會本身查找

4) 設置權限:

chmod a+rx /home/user

設置全部用戶對/home/user有讀權限

http://www.javashuo.com/article/p-hdfhemfe-do.html

5) 若是jmxremote權限不限制爲啓動tomcat的用戶全部,在修改catalina.sh文件後tomcat啓動時會報錯:

Error: Password file read access must be restricted: /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.171-2.6.13.0.el7_4.x86_64/jre/lib/management/jmxremote.password

 

配置參考:https://docs.oracle.com/javase/1.5.0/docs/guide/management/agent.html

 

6)SSL自定義參考:

https://blog.csdn.net/shfqbluestone/article/details/21242323

http://www.javashuo.com/article/p-addlbssm-bq.html

https://docs.oracle.com/javase/1.5.0/docs/guide/management/agent.html

 

5 配置zabbix監控模板

1)      HostàJMX interfacesà點擊」Add」à輸入ip(被監控項(如tomcat)所在服務器的ip),端口默認12345àupdate

2)      TemplatesàLink new templatesà點擊」select」à在彈出框中勾選Template App Generic Java JMX和Template App Apache Tomcat JMXà點擊彈出框底部的」select」à點擊」update」

3)      幾分鐘後,若是jmx圖標爲綠色,則配置成功。在monitoringàlatest dataà查看監控的jmx最新數據(如tomcat,Threads)

Template App Generic Java JMX和Template App Apache Tomcat JMX自帶了許多通用的監控項

報錯:JMX agent item "jmx["java.lang:type=Threading",ThreadCount]" on host "Zabbix-server" failed: first network error, wait for 15 seconds

JMX agent item "jmx["java.lang:type=OperatingSystem",OpenFileDescriptorCount]" on host "Zabbix-server" failed: first network error,

取消該模板關聯,部分配置不支持致使?

1.2.12 mysql監控

http://www.javashuo.com/article/p-hlfixxoz-bh.html

1簡介:

描述

詳細

備註

 

ODBC監控對應zabbix頁面中的Database monitor 監控項,ODBC是訪問數據管理系統(DBMS)的C語言中間件API。可訪問任何數據庫。

Zabbix經過ODBC接口和配置驅動鏈接到數據庫,可監控數據隊列,使用統計等。Zabbix支持unixODBC(經常使用的開源ODBC API實現,linux系統自帶安裝包)

 

 

 

 

2配置

步驟

詳細

備註

安裝unixODBC

yum -y install unixODBC unixODBC-devel

 

Linux系統通常都自動安裝可跳過

安裝ODBC

yum install mysql-connector-odbc

鏈接mysql的ODBC驅動

配置odbc

1)     查看odbc安裝信息:

  • odbcinst –j

結果爲:

unixODBC 2.3.1

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

2) 修改odbcinst.ini中配置:

vi /etc/odbcinst.ini

找到對應的mysql驅動信息:

[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

說明:[MySQL]中的mysql爲數據庫驅動名, Driver爲驅動包位置

3) 查看/etc/odbc.ini,本文linux系統默認不存在該文件。

先建立:

touch /etc/odbc.ini

修改

vi /etc/odbc.ini

添加內容:

[test]

Description=MySQL test database

Driver=MySQL

Server=14.215.130.184

User=zabbix

Password=zabbix2018

Port=3306

Database=zabbix

4) 執行命令:

isql test

報錯:

[ISQL]ERROR: Could not SQLConnect

5)報錯解決:緣由爲驅動包不存在,查看本系統已有驅動包;

find / -name libmyodbc*

結果:

/usr/lib64/libmyodbc8a.so

/usr/lib64/libmyodbc8w.so

 

若是繼續使用驅動名MYSQL,則修改/etc/odbcinst.ini中的Driver文件路徑配置

或直接使用/etc/odbcinst.ini中配置了/usr/lib64/libmyodbc8a.so或/usr/lib64/libmyodbc8w.so的驅動名稱MySQL ODBC 8.0 Unicode Driver和MySQL ODBC 8.0 ANSI Driver,本文使用MySQL ODBC 8.0 Unicode Driver

6)再次修改vi /etc/odbc.ini

[test]

Description=MySQL test database

Driver=MySQL ODBC 8.0 Unicode Driver

Server=14.215.130.184

User=zabbix

Password=zabbix2018

Port=3306

Database=zabbix

保存後,執行isql test命令,鏈接成功。可執行sql語句,如show tables;退出sql命令:quit;

1)Mysql鏈接報錯:遠程鏈接能夠,本地鏈接報錯:

ERROR 1045 (28000): Access denied for user 'zabbix'@'localhost' (using password: YES)

https://segmentfault.com/q/1010000005657136

修改登陸方式,增長主機

mysql -h 192.168.1.200 -u root –p

登陸成功。緣由:主機的host文件無localhost和127.0.0.1的映射或未配置'zabbix'@'localhost'權限

http://www.javashuo.com/article/p-kcjvfdeq-bv.html

查看host文件:

vi /etc/hosts

添加映射關係

3) isql 命令報錯:

緣由分析參考:

https://blog.csdn.net/okhelp/article/details/73770001

該文章提供了思路,緣由驅動文件不存在。

vi /etc/odbcinst.ini

其餘mysql驅動名稱配置信息:

[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

 

[MySQL ODBC 8.0 Unicode Driver]

Driver=/usr/lib64/libmyodbc8w.so

UsageCount=1

 

[MySQL ODBC 8.0 ANSI Driver]

Driver=/usr/lib64/libmyodbc8a.so

UsageCount=1

 

配置監控項

1)Hostsà點擊已添加的主機àTemplatesà選擇Link new templates右側的selectà勾選彈出框中的Template DB MySQL模板à滾動彈出框底部,點擊selectà彈出框消失,點擊Link new templates下的Addà執行update,將mysql的監控模板關聯到當前主機,幾分鐘後查看monitoringàLatest data

沒有數據,該默認模板須要自行提供腳本及其餘配置,可參考網上(嘗試也未能成功)

2)自定義監控項:

自定義監控項:

Name: select count(1) from users

Type:database monitor

Key: db.odbc.select[mysql-simple-check,test]

Type of information:numeric(unsigned)

Update interval:30m

說明:test爲上面/etc/odbc.ini定義的數據庫鏈接名稱,mysql-simple-check爲識別字符(自定義)

更多參考https://www.zabbix.com/documentation/3.4/manual/config/items/itemtypes/odbc_checks

實際並沒有太多價值

注意:mysql監控項貌似不行,每次執行mysql語句時報錯

官網有相似bug信息https://support.zabbix.com/browse/ZBX-7665

 

https://support.zabbix.com/browse/ZBX-11573

 

 

 

 

報錯信息;

37565:20180509:174256.293 Got signal [signal:11(SIGSEGV),reason:1,refaddr:0x60]. Crashing ...

 37565:20180509:174256.293 ====== Fatal information: ======

 37565:20180509:174256.293 Program counter: 0x7f5fffec2377

 37565:20180509:174256.293 === Registers: ===

 37565:20180509:174256.293 r8      =                0 =                    0 =                    0

 37565:20180509:174256.293 r9      =               10 =                   16 =                   16

 37565:20180509:174256.293 r10     =     7fff4e751e20 =      140734509686304 =     

               96

 37565:20180509:174256.294 === Backtrace: ===

 37565:20180509:174256.294 27: /usr/sbin/zabbix_server: poller #2 [got 1 values in 0.000650 sec, getting values](zbx_log_fatal_info+0x13c) [0x563229e1d734]

 37565:20180509:174256.294 26: /usr/sbin/zabbix_server: poller #2 [got 1 values in 0.000650 sec, getting values](+0xe7b49) [0x563229e1db49]

 37565:20180509:174256.295 25: /lib64/libpthread.so.0(+0xf5e0) [0x7f60119175e0]

 37565:20180509:174256.295 24: /usr/lib64/libmyodbc8w.so(+0x83377) [0x7f5fffec2377]

 37565:20180509:174256.295 23: /usr/lib64/libmyodbc8w.so(_Z22add_compiled_collationP12CHARSET_INFO+0x25) [0x7f5fffec2d25]

 37565:20180509:174256.295 22: /usr/lib64/libmyodbc8w.so(_Z22init_compiled_charsetsi+0x15) [0x7f5ffff14cb5]

 37565:20180509:174256.295 21: /usr/lib64/libmyodbc8w.so(+0x827ac) [0x7f5fffec17ac]

37565:20180509:174256.295 14: /usr/lib64/libmyodbc8w.so(SQLAllocHandle+0x60) [0x7f5fffeacaf3]

 37565:20180509:174256.295 13: /lib64/libodbc.so.2(+0xd8dc) [0x7f60103468dc]

 37565:20180509:174256.295 12: /lib64/libodbc.so.2(SQLConnect+0x1a7) [0x7f6010348af7]

 37565:20180509:174256.295 11: /usr/sbin/zabbix_server: poller #2 [got 1 values in 0.000650 sec, getting values](odbc_DBconnect+0x24d) [0x563229e75259]

37565:20180509:174256.295 3: /usr/sbin/zabbix_server: poller #2 [got 1 values in 0.000650 sec, getting values](daemon_start+0x325) [0x563229e1ce7a]

 37565:20180509:174256.295 2: /usr/sbin/zabbix_server: poller #2 [got 1 values in 0.000650 sec, getting values](main+0x312) [0x563229d75ea7]

 37565:20180509:174256.295 1: /lib64/libc.so.6(__libc_start_main+0xf5) [0x7f600e3aec05]

 37565:20180509:174256.295 0: /usr/sbin/zabbix_server: poller #2 [got 1 values in 0.000650 sec, getting values](+0x34599) [0x563229d6a599]

 37565:20180509:174256.295 === Memory map: ===

 37565:20180509:174256.297 563229d36000-563229f3d000 r-xp 00000000 fd:00 204967485                  /usr/sbin/zabbix_server_mysql

 37565:20180509:174256.297 56322a13c000-56322a1a4000 r--p 00206000 fd:00 204967485                  /usr/sbin/zabbix_server_mysql

 37565:20180509:174256.297 56322a1a4000-56322a1ad000 rw-p 0026e000 fd:00 204967485                  /usr/sbin/zabbix_server_mysql

 37565:20180509:174256.297 56322a1ad000-56322a1b5000 rw-p 00000000 00:00 0

 37565:20180509:174256.303 7f6012316000-7f6012317000 rw-p 00000000 00:00 0

 37565:20180509:174256.303 7fff4e715000-7fff4e9f5000 rw-p 00000000 00:00 0                          [stack]

 37565:20180509:174256.303 7fff4e9fe000-7fff4ea00000 r-xp 00000000 00:00 0                          [vdso]

 37565:20180509:174256.303 ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0                  [vsyscall]

 37565:20180509:174256.303 ================================

 37565:20180509:174256.303 Please consider attaching a disassembly listing to your bug report.

 37565:20180509:174256.303 This listing can be produced with, e.g., objdump -DSswx zabbix_server.

 37565:20180509:174256.303 ================================

 37533:20180509:174256.306 One child process died (PID:37565,exitcode/signal:1). Exiting ...

相關文章
相關標籤/搜索