zabbix监控oracle(如何通过Zabbix获取监控数据)

:暂无数据 2026-04-19 23:40:02 0
面对zabbix监控oracle这个议题,很多人在如何通过Zabbix获取监控数据这里栽了跟头。今天,我们就来聊聊如何避免这个坑,轻松上手。

本文目录

如何通过Zabbix获取监控数据

您好,是这样的:
zabbix基本架构:
1.Server
zabbix系统核心进程,轮询并捕获数据、发送通知等。是zabbix agent和zabbix proxy汇报数据的对象。server自身可远程检测网络服务。所有的前后端配置、统计信息、可操作数据存储于此。包含server、前段界面和后端DB几部分。
2.Agent
部署在被监控主机上用于监控本地资源和应用并向zabbix server汇报结果。使用本地系统调用故非常高效。有主动和被动两种检测模式。被动模式下agent根据server或proxy的具体请求来返回数据。主动模式下先主动由server获取监控项列表在检测并返回新的数据。采用主动或被动检测取决于相应监控项的配置。
3.Proxy
可以自由选择部署或者不部署,主要用于分担server的负载。在集中化监控远程位置、分支、网络的场景中是很好的解决方案。可从被监控设备收集数据缓存在proxy本地后传递给其所属的zabbix server。proxy需要单独的数据库。
4.Java gateway
java实现的守护进程用于监控JMX类型的应用程序。
5.Sender
命令行工具zabbix_sender,用于向zabbix server发送性能数据和可用性数据。多用于用户脚本定期向server发送数据。
如:
shell》 cd bin
shell》 ./zabbix_sender -z zabbix -s "Linux DB3" -k db.connecti*** -o 43
6.Get
命令行工具zabbix_get,用于同agent通信从agent获取数据。可用于zabbix agents的troubleshooting。
如:
shell》 cd bin
shell》 ./zabbix_get -s 127.0.0.1 -p 10050 -k "system.cpu.load"
#zabbix术语表:
host
需要被监控的设备,如交换机、路由器、WEB服务器、DB服务器等
host group
被监控设备的逻辑分组,如DB服务器一组、WEB服务器一组等。可包含主机和模板。用于权限控制
item
需要被监控的项,如CPU空闲率、某一块磁盘的使用率等
trigger
用于评估收到的监控值是否超出设定的阈值的逻辑表达式
event
如trigger状态改变等值得注意的事件
action
预先定义的响应event的一系列operati***
escalation
执行action中的operati***的定制场景;一连串的发送通知、执行远程命令
media
传递notification的方式
notification
通过media发送给用户的关于某个event的消息
remote command
在被监控机器上触发并自动执行的预定义命令
template
用于简化和加速主机上大规模监控任务的部署。包含一系列项目,如items, triggers, graphs, screens, applicati***, low-level discovery rules
application
逻辑组中的一组items
web scenario
一个或多个HTTP request用以检查web站点可用性
frontend
zabbix的web界面
zabbix api
允许通过JSON RPC 协议创建、更新和获取zabbix对象如,hosts, items, graphs and others。或者执行其他任务
zabbix server
zabbix核心,履行监控,与zabbix proxies、zabbix client交互、计算trigger、发送notification、存储数据等任务
zabbix agent
部署在被监控主机上用于监控本地资源和应用
zabbix proxy
可代zabbix server收集数据分担处理负载
#zabbix配置:
可通过WEB界面或者模板进行配置
需配置内容包括users、user groups、hosts、host groups、items、Triggers、Events、notification、templates、visualisation等。
最终配置会被存储在后端database中。
参考:
***隐藏网址***
zabbix取数方式
1.zabbix api
基于WEB的API,通过JSON PRC协议获取或更改zabbix配置,并可用于获取历史监控数据。clients和API间的request和resp***e使用JSON格式。包含一系列可从功能上分为不同组别的方法。
发起HTTP请求的格式类似如下:
***隐藏网址***
Content-Type: application/json-rpc
{"jsonrpc":"2.0","method":"apiinfo.version","id":1,"auth":null,"params":{}}
***隐藏网址***
一些实例:
*登录认证
{
"jsonrpc": "2.0",
"method": "user.login",
"params": {
"user": "Admin",
"password": "zabbix"
},
"id": 1,
"auth": null
}
其中:
jsonrpc:指明JSON-RPC协议版本,这里是2.0版本
method:指明调用的API方法,这里是用户登录
params:需要传递给API method的参数,这里是用户名和密码
id:本次请求的标识符
auth:用户认证令牌,目前尚无所以为null
若参数无误resp***e将会包含用户认证令牌,如:
{
"jsonrpc": "2.0",
"result": "0424bd59b807674191e7d77572075f33",
"id": 1
}
*获取hosts信息
{
"jsonrpc": "2.0",
"method": "host.get",
"params": {
"output": [
"hostid",
"host"
],
"selectInte***ces": [
"inte***ceid",
"ip"
]
},
"id": 2,
"auth": "0424bd59b807674191e7d77572075f33"
}
本例使用可用的用户认证令牌通过host.get方法获取所配置的主机的ID 、name等信息,返回如下
{
"jsonrpc": "2.0",
"result": [
{
"hostid": "10084",
"host": "Zabbix server",
"inte***ces": [
{
"inte***ceid": "1",
"ip": "127.0.0.1"
}
]
}
],
"id": 2
}
为了考虑性能影响、尽量仅列出所需项而非返回所有数据
*创建新监控项
例如在上一步获取的host上建立新的监控项、监控/home/joe/目录的剩余空间
{
"jsonrpc": "2.0",
"method": "item.create",
"params": {
"name": "Free disk space on $1",
"key_": "vfs.fs.size",
"hostid": "10084",
"type": 0,
"value_type": 3,
"inte***ceid": "1",
"delay": 30
},
"auth": "0424bd59b807674191e7d77572075f33",
"id": 3
}
其中params参数中的几个关键参数含义如下:
name:监控项的名称,这个可以自己灵活定义,其中的$1代表key_中的第一个参数,此处为/home/joe/
key_:预定义的监控项,zabbix提供了一系列此类监控内容,此处需从其中进行选择。
hostid:即上步获得的hostid
value_type:监控数据值的类型,不同的数字代表不同的类型,此处的3代表整型
delay:zabbix取数时间间隔,此处为30秒取一次
返回结果如下:
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"24759"
]
},
"id": 3
}
itemid为生成的监控项的id
*获取历史数据:
从历史记录表获取itemids为23296的按clock降序排列的十条记录
history参数可能的取值
0 - float;
1 - string;
2 - log;
3 - integer;
4 - text.
{
"jsonrpc": "2.0",
"method": "history.get",
"params": {
"output": "extend",
"history": 0,
"itemids": "23296",
"sortfield": "clock",
"sortorder": "DESC",
"limit": 10
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
返回结果:
{
"jsonrpc": "2.0",
"result": [
{
"itemid": "23296",
"clock": "1351090996",
"value": "0.0850",
"ns": "563157632"
},
{
"itemid": "23296",
"clock": "1351090936",
"value": "0.1600",
"ns": "549216402"
},
...]
}
*错误处理
下例忘记了groups这个参数
{
"jsonrpc": "2.0",
"method": "host.create",
"params": {
"host": "Linux server",
"inte***ces": [
{
"type": 1,
"main": 1,
"useip": 1,
"ip": "192.168.3.1",
"dns": "",
"port": "10050"
}
]
},
"id": 3,
"auth": "0424bd59b807674191e7d77572075f33"
}
返回结果如下,包含的不是result属性而是error属性
{
"jsonrpc": "2.0",
"error": {
"code": -32602,
"message": "Invalid params.",
"data": "No groups for host \"Linux server\"."
},
"id": 3
}
对于获取监控数据来说,比较关心的应该是history.get这个方法。这种方式实际上最终还是由后台数据库获取的。方法提供了丰富的参数,使用非常灵活。但对于一次性大规模的取出大量主机大量监控项的大批数据不太适合。

有GridControl和Nagios,该监控Oracle哪些指标

我们都是用脚本写的,发短信报警
监控服务器负载和进程数(这个nagios好像就能,我们用的是zabbix)
监控磁盘空间
监控表空间
监控阻塞
监控alert
监控逻辑库的同步状态
监控每天表的变化!

如何用zabbix来监控磁盘IO

使用zabbix监控磁盘IO
前面的文章介绍了zabbix简单的安装,下面介绍下利用zabbix监控磁盘IO的方法
默认的 Zabbix 监控模板中,对于磁盘主要是剩余空间之类的监控,对于 IO 方面却没有,好在 Zabbix 提供了丰富的定制功能,可自行添加想要监控的任意内容。具体步骤如下:
1、 在被监控服务器的配置文件(/etc/zabbix/zabbix_agentd.conf)中添加以下内容:
###disk io
UserParameter=custom.vfs.dev.read.ops,cat /proc/diskstats | grep $1 | head -1 | awk ’{print $$4}’
UserParameter=custom.vfs.dev.read.ms,cat /proc/diskstats | grep $1 | head -1 | awk ’{print $$7}’
UserParameter=custom.vfs.dev.write.ops,cat /proc/diskstats | grep $1 | head -1 | awk ’{print $$8}’
UserParameter=custom.vfs.dev.write.ms,cat /proc/diskstats | grep $1 | head -1 | awk ’{print $$11}’
UserParameter=custom.vfs.dev.io.active,cat /proc/diskstats | grep $1 | head -1 | awk ’{print $$12}’
UserParameter=custom.vfs.dev.io.ms,cat /proc/diskstats | grep $1 | head -1 | awk ’{print $$13}’
UserParameter=custom.vfs.dev.read.sectors,cat /proc/diskstats | grep $1 | head -1 | awk ’{print $$6}’
UserParameter=custom.vfs.dev.write.sectors,cat /proc/diskstats | grep $1 | head -1 | awk ’{print $$10}’
可以先测试看其是否生效,使用如下命令,看是否正常返回数字。注意在命令行运行时,grep 那里的 $1 需根据自己磁盘设定修改为 sda 或 sdb,awk 那里需去除一个 $ 符号。
cat /proc/diskstats | grep sda | head -1 | awk ’{print $4}’
2、被监控主机重启 agent
/etc/init.d/zabbix_agentd_ctl restart
3、在 zabbix server 上测试能否接收数据,将其中的 AgentServerIP 修改为被监控服务器的IP,注意这里是在运行 zabbix 服务端的机器上执行此操作。如果返回的是一串数字则正确,如果返回ZBX_NOTSUPPORTED ,请检查确认被监控主机的 agent 是否有重启,网络端口是否开放。
zabbix_get -s AgentServerIP -p 10050 -k custom.vfs.dev.write.ops
4、在 zabbix web 配置界面的模板中,导入这里提供的模板。并将此模板关联到要监控的服务器主机上,很快就可以在 Latest data 中看到获取的数据并可画出趋势图了。

oracle后台监控不能通过搜索消息

本文将介绍如何使用zabbix监控oracle的后台日志,当oracle后台日志出现“ORA-”或“Error”时,第一时间将该信息报警出来
zabbix agent端
以下所有操作均用root执行
为oracle后台日志创建硬链接
直接使用zabbix去读取oracle后台日志报权限不足,因此通过创建硬链接方式绕过权限问题
cd /tmp
ln /u01/app/oracle/diag/rdbms/orcltest/orcltest/trace/alert_orcltest.log alert_orcltest.log
chmod 644 alert_orcltest.log
创建目录
mkdir -p /etc/zabbix/scripts
创建脚本
vi /etc/zabbix/scripts/alert.sh
chmod 755 /etc/zabbix/scripts/alert.sh
创建agent conf文件
vi /etc/zabbix/zabbix_agentd.d/userparameter_alert.conf
------------------------------------
UserParameter=ora.alert.,/etc/zabbix/scripts/alert.sh $1
------------------------------------
重启zabbix agent服务
service zabbix-agent restart
zabbix server端
测试监控项
zabbix_get -s 10.40.16.120 -k ’ora.alert.’
正常情况下返回空行,如果返回其他错误,根据错误提示去检查问题
在zabbix web页面中设置宏
添加监控项
添加触发器
测试
在数据库中模拟一个死锁出来,然后静静地等待zabbix报警
大功告成,其实过程还蛮简单的,监控其它类型的数据库的后台日志都可以按照这种方式去处理。不过此方式不适用于日志文件太大,否则脚本执行时间会比较久而导致超时,应该定期归档后台日志,使后台日志不至于太大。归档后台日志之后,手动删除/tmp/tmp_alertrows.txt和/tmp/alert_orcltest.log,重新给后台日志做个硬链接就行了。
但是有个问题,就是如果alert 日志太大,会导致zabbix 监控慢,甚至会超时,所以要定期归档alert log。我写了个归档alert log的脚本,参考如下。

关于zabbix监控oracle和如何通过Zabbix获取监控数据的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
本文编辑:admin

更多文章:


plot函数绘制折线图(如何用matplotlib画折线图)

plot函数绘制折线图(如何用matplotlib画折线图)

大家好,如果您还对plot函数绘制折线图不太了解,没有关系,今天就由本站为大家分享plot函数绘制折线图的知识,包括如何用matplotlib画折线图的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

2026年4月20日 00:40

模板免费建站(免费建个网站,不花钱有这样的支持平台吗)

模板免费建站(免费建个网站,不花钱有这样的支持平台吗)

前几天,一位朋友问我:模板免费建站到底该怎么学?我只回了他三个字:抓住免费建个网站,不花钱有这样的支持平台吗。今天就来详细说说为什么。

2026年4月20日 00:20

嵌入式软件开发公司(入职嵌入式软件开发公司会发电脑吗)

嵌入式软件开发公司(入职嵌入式软件开发公司会发电脑吗)

承接之前对嵌入式软件开发公司的讨论,本篇我们将视角下沉,专门来聊聊实操中无法回避的入职嵌入式软件开发公司会发电脑吗问题,让知识落地。

2026年4月20日 00:00

zabbix监控oracle(如何通过Zabbix获取监控数据)

zabbix监控oracle(如何通过Zabbix获取监控数据)

面对zabbix监控oracle这个议题,很多人在如何通过Zabbix获取监控数据这里栽了跟头。今天,我们就来聊聊如何避免这个坑,轻松上手。

2026年4月19日 23:40

网页应用程序中的服务器错误(**一个网站时,出现“/”应用程序中的服务器错误.要怎么解决)

网页应用程序中的服务器错误(**一个网站时,出现“/”应用程序中的服务器错误.要怎么解决)

承接之前对网页应用程序中的服务器错误的讨论,本篇我们将视角下沉,专门来聊聊实操中无法回避的**一个网站时,出现“/”应用程序中的服务器错误.要怎么解决问题,让知识落地。

2026年4月19日 23:20

第一模板网官网(模板网站与定制网站的区别)

第一模板网官网(模板网站与定制网站的区别)

相信点开这篇文章的你,一定对第一模板网官网抱有好奇。没关系,下面我们就结合模板网站与定制网站的区别,带你一步步揭开它的面纱。

2026年4月19日 23:00

架构师工资一月多少钱(华泰证券哪些导师工资是多少)

架构师工资一月多少钱(华泰证券哪些导师工资是多少)

有没有这种经历:明明想搞懂架构师工资一月多少钱,却被华泰证券哪些导师工资是多少卡住了脖子?今天这篇文章,就是专治这种“卡脖子”问题的。

2026年4月19日 22:40

河南省疫情最新情况(2022年1月6日洛阳新安县疫情最新消息(2020年12月新安县疫情))

河南省疫情最新情况(2022年1月6日洛阳新安县疫情最新消息(2020年12月新安县疫情))

河南省疫情最新情况的背后,隐藏着怎样的秘密?2022年1月6日洛阳新安县疫情最新消息(2020年12月新安县疫情)又在其中扮演了何种角色?带着疑问,我们一起探秘。

2026年4月19日 22:20

java之家(哪些发明家是加拿大人)

java之家(哪些发明家是加拿大人)

你是否好奇,为什么人人都在谈java之家?它和哪些发明家是加拿大人之间究竟存在着怎样微妙的联系?答案就在下文。

2026年4月19日 22:00

java环境安装出错(电脑安装不了J**A环境)

java环境安装出错(电脑安装不了J**A环境)

本篇文章给大家谈谈java环境安装出错,以及电脑安装不了J**A环境对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

2026年4月19日 21:40

最近更新

java之家(哪些发明家是加拿大人)
2026-04-19 22:00:03 浏览:0
热门文章

html定位(html怎么固定位置)
2026-04-14 11:00:02 浏览:0
activiti modeler教程(Activiti Explorer定制)
2026-04-13 16:20:02 浏览:0
floatleft是什么意思(displayflex和floatleft的区别)
2026-04-17 04:40:03 浏览:0
最难的编程语言是c++吗?(C++的难度)
2026-04-13 19:00:02 浏览:0
标签列表