标题:
Zabbix调用Python3脚本监控Linux下的Oracle(一)
[打印本页]
作者:
admin
时间:
2022-8-12 22:42
标题:
Zabbix调用Python3脚本监控Linux下的Oracle(一)
笺注: 被监控主机的Agent的安装可参考
Zabbix使用Agent监控Oracle Linux6
被监控主机的Python3的安装可参考
Python3脚本管理Oracle11gR2
这是在
使用Navicat连接Oracle11gR2
的基础上进行的。 被监控主机的信息: [root@oracle ~]# cat /etc/issue |head -1 Oracle Linux Server release 6.9 [root@oracle ~]# [root@oracle ~]# uname -r 4.1.12-61.1.28.el6uek.x86_64 [root@oracle ~]# [root@oracle ~]# ifconfig eth1 |grep "inet addr" |awk '{print $2}' |cut -d: -f 2
192.168.168.135
[root@oracle ~]# 被监控主机查看自己的zabbix-agent版本: [root@oracle ~]# rpm -qi
zabbix-agent
Name : zabbix-agent Relocations: (not relocatable) Version :
4.4.5
Vendor: (none) Release : 2.el6 Build Date: Thu 30 Jan 2020 01:04:44 AM CST Install Date: Mon 12 Aug 2019 07:24:17 AM CST Build Host: builds.zabbix.lan Group : Applications/Internet Source RPM: zabbix-4.4.5-2.el6.src.rpm Size : 1773628 License: GPLv2+ Signature : RSA/10, Thu 30 Jan 2020 01:14:39 AM CST, Key ID 082ab56ba14fe591 URL : http://www.zabbix.com/ Summary : Old Zabbix Agent Description : Zabbix agent to be installed on monitored systems. [root@oracle ~]# 被监控主机本地登录Oracle:(Oracle已启动时) [root@oracle ~]#
su - oracle
[oracle@oracle ~]$
sqlplus /nolog
SQL*Plus: Release 11.2.0.1.0 Production on Mon Aug 12 06:49:09 2019 Copyright (c) 1982, 2009, Oracle. All rights reserved. SQL>
conn /as sysdba;
Connected. SQL> SQL>
show user;
USER is "SYS"
SQL> 查看Oracle的版本: SQL> SELECT version FROM product_component_version WHERE substr(product, 1, 6) = 'Oracle'; VERSION --------------------------------------------------------------------------------
11.2.0.1.0
SQL> 切换用户: SQL> connect
happy
/mima; Connected. SQL> SQL> show user;
USER is "HAPPY"
SQL> 创建表TABLE_1: SQL> Create table TABLE_1(ID number(3),NAME varchar2(10)); Table created. SQL> 查看当前用户happy所拥有的表: SQL> Select t.table_name from user_tables t; TABLE_NAME ------------------------------------------------------------
TABLE_1
SQL> 查看表TABLE_1的表结构: SQL> desc TABLE_1; Name Null? Type ----------------------------------------- -------- ---------------------------- ID NUMBER(3) NAME VARCHAR2(10) SQL> ############# ############# Windows客户端使用Navicat连接Oracle11gR2: 往表TABLE_1插入一条记录: INSERT into TABLE_1 (ID,NAME) values (1,'Zhuohua');
下载
(46.39 KB)
2022-8-12 22:38
输出表TABLE_1中的所有记录: Select * FROM TABLE_1;
下载
(24.31 KB)
2022-8-12 22:38
############# ############# 被监控主机使用Python3脚本查看本地的Oracle版本: [root@oracle ~]# cat /script/xx.py #coding=utf-8 import cx_Oracle def db_connect(): #本地连接数据库;使用数据库用户
happy
,数据库实例
ORCL
db=cx_Oracle.connect('
happy
/mima@127.0.0.1:1521/
ORCL
') cursor = db.cursor() Sql_1 = "SELECT version FROM product_component_version WHERE substr(product, 1, 6) = 'Oracle'" cursor.execute(Sql_1) Result_1 = cursor.fetchone() print(Result_1[0]) print("-" * 10) print(f"数据库的版本信息:{Result_1[0]}") db.close() #关闭数据库连接 def func_main(): try: db_connect() except Exception as e: print(f"数据库连接失败,原因: {e}") if __name__ == "__main__": func_main() 脚本运行的结果: [root@oracle ~]# python3 /script/xx.py 11.2.0.1.0 ---------- 数据库的版本信息:11.2.0.1.0 [root@oracle ~]# ############# 被监控主机使用Python3脚本获取SQL语句执行后的返回值: [root@oracle ~]# cat /script/xx.py #coding=utf-8 import cx_Oracle def db_connect(): db=cx_Oracle.connect('happy/mima@127.0.0.1:1521/ORCL') cursor=db.cursor() Sql_1="SELECT ID from TABLE_1 WHERE NAME = 'Zhuohua'" cursor.execute(Sql_1) Results=cursor.fetchone() #print (Results) #
(1,)
#print (type(Results)) #
print (Results[0]) #print (type(Results[0])) #
db.close() def main(): try: db_connect() except Exception as e: print(e) if __name__ == "__main__": main() 脚本运行的结果: [root@oracle ~]# python3 /script/xx.py
1
[root@oracle ~]# 设置脚本权限: [root@oracle ~]# chmod
a+x
/script/xx.py [root@oracle ~]# ll /script/xx.py -rwxr-xr-x 1 root root 479 Aug 12 07:59 /script/xx.py [root@oracle ~]# ############# ############# 修改被监控主机的Agent配置文件: [root@oracle ~]# vi /etc/zabbix/zabbix_agentd.conf # UnsafeUserParameters=0 修改为:(启用该功能) UnsafeUserParameters=1 接着插入: UserParameter=
command_1
,/usr/bin/python3 /script/xx.py 如下图:
下载
(34.3 KB)
2022-8-12 22:40
保存好配置文件后,重启zabbix-agent: [root@oracle ~]# service zabbix-agent restart Shutting down Zabbix agent: [ OK ] Starting Zabbix agent: [ OK ] [root@oracle ~]# ###### 在Zabbix服务器测试,验证能否获取被监控主机(192.168.168.135)的key: [root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.135 -k
command_1
1
[root@centos8 ~]# ##################Zabbix添加被监控主机: 配置》主机》创建主机 (主机名称无需与被监控主机的真实主机名一致;群组可以随便选;IP地址那里要输入被监控主机的IP地址;端口为10050)
下载
(32.62 KB)
2022-8-12 22:41
注释: 使用agent代理程序的接口。 使用 TCP 10050 端口。 主机添加成功:(主机可以不用模板的)
下载
(21.5 KB)
2022-8-12 22:42
给“被监控主机使用Python3脚本获取SQL语句执行后的返回值”创建监控项: 自定义名称:
Oracle command_1
键值:
command_1
信息类型:
数字(无正负)
下载
(24.75 KB)
2022-8-12 22:42
备注:其他地方保持默认,点击底下的“添加”按键。 ###### 给监控项“Oracle command_1”创建图形“Oracle command_1 image”:
下载
(73.42 KB)
2022-8-12 22:43
备注:其他地方保持默认,点击底下的“添加”按键。 查看图形“Oracle command_1 image”: 监测》图形:
下载
(74.72 KB)
2022-8-12 22:44
下载
(81.73 KB)
2022-8-12 22:44
下载
(35.92 KB)
2022-8-12 22:44
############# ############# 更改表TABLE_1的字段ID的值: UPDATE TABLE_1 SET ID =
2
WHERE NAME = 'Zhuohua'; SELECT * FROM TABLE_1;
下载
(50.9 KB)
2022-8-12 22:45
在Zabbix服务器测试,验证能否获取被监控主机(192.168.168.135)的key: [root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.135 -k
command_1
2
[root@centos8 ~]# 再次查看图形“Oracle command_1 image”:
下载
(73.91 KB)
2022-8-12 22:46
下载
(30.99 KB)
2022-8-12 22:46
###### 给监控项“Oracle command_1”创建触发器:(返回值大于5就告警) 自定义名称:
ID is bigger than 5
下载
(37.49 KB)
2022-8-12 22:46
插入表达式:(监控项:
Oracle_1: Oracle command_1
)
下载
(26.15 KB)
2022-8-12 22:46
自动生成的表达式:(触发器的表达式要用到监控项中的键值) {Oracle_1:
command_1
.last()}>5
下载
(22.98 KB)
2022-8-12 22:47
备注:其他地方保持默认,点击底下的“添加”按键。 至此,在图形“Oracle command_1 image”上,理应可以看到新建的触发器“ID is bigger than 5”:
下载
(40.78 KB)
2022-8-12 22:47
############# ############# 再次更改表TABLE_1的字段ID的值: UPDATE TABLE_1 SET ID =
6
WHERE NAME = 'Zhuohua'; SELECT * FROM TABLE_1;
下载
(51.44 KB)
2022-8-12 22:48
在Zabbix服务器测试,验证能否获取被监控主机(192.168.168.135)的key: [root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.135 -k
command_1
6
[root@centos8 ~]# 再次查看图形“Oracle command_1 image”:
下载
(84.8 KB)
2022-8-12 22:49
下载
(37.47 KB)
2022-8-12 22:49
监控项“Oracle command_1”的返回值大于5时,仪表板会如下图显示:(显示对应触发器的名称)
ID is bigger than 5
下载
(54.55 KB)
2022-8-12 22:49
下载
(7.56 KB)
2022-8-12 22:49
相关文章:
Zabbix调用Python3脚本监控Linux下的Oracle(二)
CentOS8编译安装Zabbix4.4.5
Zabbix调用Python3脚本监控Linux下的MySQL
图片附件:
图片1.png
(2022-8-12 22:38, 46.39 KB) / 下载次数 59
http://blog.zhuohua.store/attachment.php?aid=20177&k=d85b92409a8187d3bf01a4653581ffbf&t=1714688058&sid=Ooojwi
图片附件:
图片2.png
(2022-8-12 22:38, 24.31 KB) / 下载次数 67
http://blog.zhuohua.store/attachment.php?aid=20178&k=0e271459b572c9eb97d8f060a9ad5106&t=1714688058&sid=Ooojwi
图片附件:
图片3.png
(2022-8-12 22:40, 34.3 KB) / 下载次数 61
http://blog.zhuohua.store/attachment.php?aid=20179&k=ee443f8adccf1429722f39a170f6fdd0&t=1714688058&sid=Ooojwi
图片附件:
图片4.png
(2022-8-12 22:41, 32.62 KB) / 下载次数 65
http://blog.zhuohua.store/attachment.php?aid=20180&k=2a2c509ad9a6e42ee1cbfe138004a68c&t=1714688058&sid=Ooojwi
图片附件:
图片5.png
(2022-8-12 22:42, 21.5 KB) / 下载次数 67
http://blog.zhuohua.store/attachment.php?aid=20181&k=ff50df502794a56f6bbacdf687731a65&t=1714688058&sid=Ooojwi
图片附件:
图片6.png
(2022-8-12 22:42, 24.75 KB) / 下载次数 66
http://blog.zhuohua.store/attachment.php?aid=20182&k=c8496e5b90a2ed083834d0bcb8c95ec8&t=1714688058&sid=Ooojwi
图片附件:
图片7.png
(2022-8-12 22:43, 73.42 KB) / 下载次数 68
http://blog.zhuohua.store/attachment.php?aid=20183&k=62b924923fe5000cbaa8e87f7484f284&t=1714688058&sid=Ooojwi
图片附件:
图片8.png
(2022-8-12 22:44, 74.72 KB) / 下载次数 67
http://blog.zhuohua.store/attachment.php?aid=20184&k=32fd86dc9e702a34c129bcac2526d379&t=1714688058&sid=Ooojwi
图片附件:
图片9.png
(2022-8-12 22:44, 81.73 KB) / 下载次数 75
http://blog.zhuohua.store/attachment.php?aid=20185&k=41ed7f3a10ab604f3166f37e6253a8b7&t=1714688058&sid=Ooojwi
图片附件:
图片10.png
(2022-8-12 22:44, 35.92 KB) / 下载次数 65
http://blog.zhuohua.store/attachment.php?aid=20186&k=ea01275f6a6667abc90be2e8f747c431&t=1714688058&sid=Ooojwi
图片附件:
图片11.png
(2022-8-12 22:45, 50.9 KB) / 下载次数 51
http://blog.zhuohua.store/attachment.php?aid=20187&k=5742644b92d0ba374272bb605c63eb32&t=1714688058&sid=Ooojwi
图片附件:
图片12.png
(2022-8-12 22:46, 73.91 KB) / 下载次数 61
http://blog.zhuohua.store/attachment.php?aid=20188&k=f91c0e938170b06dc9f1eebb8787fc97&t=1714688058&sid=Ooojwi
图片附件:
图片13.png
(2022-8-12 22:46, 30.99 KB) / 下载次数 60
http://blog.zhuohua.store/attachment.php?aid=20189&k=032f3fe96d00e8722d15b3b9ca1103a6&t=1714688058&sid=Ooojwi
图片附件:
图片14.png
(2022-8-12 22:46, 37.49 KB) / 下载次数 56
http://blog.zhuohua.store/attachment.php?aid=20190&k=6c850749a05a7a87088e78b1d55f4ac4&t=1714688058&sid=Ooojwi
图片附件:
图片15.png
(2022-8-12 22:46, 26.15 KB) / 下载次数 64
http://blog.zhuohua.store/attachment.php?aid=20191&k=4fc08605231e7116b9c672d829dbe934&t=1714688058&sid=Ooojwi
图片附件:
图片16.png
(2022-8-12 22:47, 22.98 KB) / 下载次数 55
http://blog.zhuohua.store/attachment.php?aid=20192&k=ebfb039110f191aff9b88b39c38bf689&t=1714688058&sid=Ooojwi
图片附件:
图片17.png
(2022-8-12 22:47, 40.78 KB) / 下载次数 65
http://blog.zhuohua.store/attachment.php?aid=20193&k=d05abc41781bf8a81a988e1c428384ac&t=1714688058&sid=Ooojwi
图片附件:
图片18.png
(2022-8-12 22:48, 51.44 KB) / 下载次数 60
http://blog.zhuohua.store/attachment.php?aid=20194&k=c7ad55cba7d590602d4d04d3e16e2233&t=1714688058&sid=Ooojwi
图片附件:
图片19.png
(2022-8-12 22:49, 84.8 KB) / 下载次数 72
http://blog.zhuohua.store/attachment.php?aid=20195&k=cdef0d0d158a29ea905b5c0459aebd41&t=1714688058&sid=Ooojwi
图片附件:
图片20.png
(2022-8-12 22:49, 37.47 KB) / 下载次数 73
http://blog.zhuohua.store/attachment.php?aid=20196&k=1f63902d4d518c132385c6d66cb3c554&t=1714688058&sid=Ooojwi
图片附件:
图片21.png
(2022-8-12 22:49, 54.55 KB) / 下载次数 67
http://blog.zhuohua.store/attachment.php?aid=20197&k=081a89ed6f5100dcae7a35dc705a8b26&t=1714688058&sid=Ooojwi
图片附件:
图片22.png
(2022-8-12 22:49, 7.56 KB) / 下载次数 69
http://blog.zhuohua.store/attachment.php?aid=20198&k=02b816a524b0f9907d127a4f0494bff9&t=1714688058&sid=Ooojwi
欢迎光临 blog.zhuohua.store (http://blog.zhuohua.store/)
Powered by Discuz! 7.2