标题:
Zabbix调用Python3脚本监控Linux下的Oracle(二)
[打印本页]
作者:
admin
时间:
2022-8-12 23:25
标题:
Zabbix调用Python3脚本监控Linux下的Oracle(二)
笺注: Zabbix服务器安装Python3可参考
CentOS8安装Python3
这是在
使用Navicat连接Oracle11gR2
的基础上进行的。 笺注:使用以下方法,被监控主机不用安装zabbix-agent 被监控主机的信息: [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}' |awk -F: '{print $2}'
192.168.168.135
[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> 切换用户: SQL> connect
happy
/mima; Connected. SQL> SQL> show user;
USER is "HAPPY"
SQL> 查看Oracle的版本: SQL> SELECT version FROM product_component_version WHERE substr(product, 1, 6) = 'Oracle'; VERSION --------------------------------------------------------------------------------
11.2.0.1.0
SQL> 输出数据库最大连接数: SQL> Select value from v$parameter where name='processes'; VALUE --------------------------------------------------------------------------------
150
SQL> 输出数据库当前打开的连接数: SQL> Select count(*) from v$session; COUNT(*) ----------
28
SQL> 输出数据库当前处于激活状态的连接数: SQL> Select count(*) from v$session where status='ACTIVE'; COUNT(*) ----------
22
SQL> 创建表TABLE_1: SQL> Create table TABLE_1(ID number(3),NAME varchar2(10)); Table created. SQL> ############# ############# Windows客户端使用Navicat连接Oracle11gR2: 往表TABLE_1插入一条记录: INSERT into TABLE_1 (ID,NAME) values (1,'李大杰');
下载
(38.93 KB)
2022-8-12 23:26
输出表TABLE_1中的所有记录: Select * FROM TABLE_1;
下载
(26.19 KB)
2022-8-12 23:26
############# ############# Zabbix服务器使用Python3脚本查看被监控主机的Oracle版本: [root@centos8 ~]# cat /script/xx.py #coding=utf-8 import cx_Oracle def db_connect(): #远程连接数据库(IP 192.168.168.135);使用数据库用户
happy
db=cx_Oracle.connect('
happy
/mima@192.168.168.135: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@centos8 ~]# python3 /script/xx.py 11.2.0.1.0 ---------- 数据库的版本信息:11.2.0.1.0 [root@centos8 ~]# 笺注:Zabbix服务器安装第三方库等等可参考
CentOS8使用Python3脚本远程管理Oracle11gR2
############# Zabbix服务器使用Python3脚本输出被监控主机的数据库当前处于激活状态的连接数: [root@centos8 ~]# cat /script/xx.py #coding=utf-8 import cx_Oracle def db_connect(): db=cx_Oracle.connect('happy/mima@192.168.168.135:1521/ORCL') cursor=db.cursor() Sql_1 = "Select count(*) from v$session where status='ACTIVE'" cursor.execute(Sql_1) Results=cursor.fetchone() #print (Results) #
(22,)
#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@centos8 ~]# python3 /script/xx.py
22
[root@centos8 ~]# 设置脚本权限: [root@centos8 ~]# chmod
a+x
/script/xx.py [root@centos8 ~]# ll /script/xx.py -rwxr-xr-x 1 root root 488 8月 12 16:13 /script/xx.py [root@centos8 ~]# ############# Zabbix服务器使用Python3脚本输出SQL语句执行后的返回值: [root@centos8 ~]# cat /script/yy.py #coding=utf-8 import cx_Oracle def db_connect(): db=cx_Oracle.connect('happy/mima@192.168.168.135:1521/ORCL') cursor=db.cursor() Sql_1 = "SELECT ID from TABLE_1 WHERE NAME = '李大杰'" 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@centos8 ~]# python3 /script/yy.py
1
[root@centos8 ~]# 设置脚本权限: [root@centos8 ~]# chmod
a+x
/script/yy.py [root@centos8 ~]# ll /script/yy.py -rwxr-xr-x 1 root root 491 8月 12 16:14 /script/yy.py [root@centos8 ~]# ############# ############# 修改Zabbix服务器的Agent配置文件: [root@centos8 ~]# find / -name zabbix_agentd.conf /root/zabbix-4.4.5/conf/zabbix_agentd.conf
/usr/local/zabbix/etc/zabbix_agentd.conf
[root@centos8 ~]# [root@centos8 ~]# vi /usr/local/zabbix/etc/zabbix_agentd.conf # UnsafeUserParameters=0 修改为:(启用该功能) UnsafeUserParameters=1 接着插入: UserParameter=
command_1
,/usr/bin/python3 /script/xx.py UserParameter=
command_2
,/usr/bin/python3 /script/yy.py 如下图:
下载
(44.9 KB)
2022-8-12 23:29
保存好配置文件后,重启一下Zabbix本机的客户端和服务端: [root@centos8 ~]# pkill -9 -U zabbix [root@centos8 ~]# [root@centos8 ~]# /usr/local/zabbix/sbin/zabbix_agentd [root@centos8 ~]# /usr/local/zabbix/sbin/zabbix_server [root@centos8 ~]# ###### 在Zabbix服务器测试,验证能否获取本机(127.0.0.1)的key: [root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -k
command_1
22
[root@centos8 ~]# [root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -k
command_2
1
[root@centos8 ~]# ################## 在主机Zabbix server中创建监控项:
下载
(14.65 KB)
2022-8-12 23:31
给“被监控主机的数据库当前处于激活状态的连接数”创建监控项: 自定义名称:
Oracle command_1
键值:
command_1
信息类型:
数字(无正负)
下载
(28.25 KB)
2022-8-12 23:31
备注:其他地方保持默认,点击底下的“添加”按键。 ###### 给监控项“Oracle command_1”创建图形“Oracle command_1 image”:
下载
(68.26 KB)
2022-8-12 23:32
备注:其他地方保持默认,点击底下的“添加”按键。 查看图形“Oracle command_1 image”: 监测》图形:
下载
(66.33 KB)
2022-8-12 23:32
下载
(76.02 KB)
2022-8-12 23:32
下载
(34.93 KB)
2022-8-12 23:32
################## 在主机Zabbix server中再创建监控项: 给“Zabbix服务器使用Python3脚本输出SQL语句执行后的返回值”创建监控项: 自定义名称:
Oracle command_2
键值:
command_2
信息类型:
数字(无正负)
下载
(28.53 KB)
2022-8-12 23:33
备注:其他地方保持默认,点击底下的“添加”按键。 ###### 给监控项“Oracle command_2”创建触发器:(返回值大于或等于5就告警) 自定义名称:
ID is greater than or equal to 5
下载
(42.11 KB)
2022-8-12 23:33
插入表达式:(监控项:
Zabbix server: Oracle command_2
)
下载
(26.98 KB)
2022-8-12 23:34
自动生成的表达式:(触发器的表达式要用到监控项中的键值) {Zabbix server:
command_2
.last()}>=5
下载
(28 KB)
2022-8-12 23:34
备注:其他地方保持默认,点击底下的“添加”按键。 新创建的触发器“ID is greater than or equal to 5”:(使用“过滤器”搜索)
下载
(63.83 KB)
2022-8-12 23:35
############# ############# 更改表TABLE_1的字段ID的值: UPDATE TABLE_1 SET ID =
5
WHERE NAME = '李大杰'; SELECT * FROM TABLE_1;
下载
(53.31 KB)
2022-8-12 23:35
监控项“Oracle command_2”的返回值大于或等于5时,仪表板会如下图显示:(显示对应触发器的名称)
ID is greater than or equal to 5
下载
(55.07 KB)
2022-8-12 23:35
下载
(20.18 KB)
2022-8-12 23:36
############# ############# 再次更改表TABLE_1的字段ID的值: UPDATE TABLE_1 SET ID =
3
WHERE NAME = '李大杰'; SELECT * FROM TABLE_1;
下载
(52.78 KB)
2022-8-12 23:36
监控项“Oracle command_2”的返回值小于5时,仪表板会如下图显示: 触发器“ID is greater than or equal to 5”会自动消失
下载
(40.71 KB)
2022-8-12 23:37
相关文章:
Zabbix调用Python3脚本监控Linux下的Oracle(一)
Linux常用命令(一)
图片附件:
图片1.png
(2022-8-12 23:26, 38.93 KB) / 下载次数 72
http://blog.zhuohua.store/attachment.php?aid=20199&k=8040cd435d24c58171e486facb5aa685&t=1714402387&sid=kxlWpM
图片附件:
图片2.png
(2022-8-12 23:26, 26.19 KB) / 下载次数 68
http://blog.zhuohua.store/attachment.php?aid=20200&k=cbb8a39228a47c42f4dfe110ce1207e0&t=1714402387&sid=kxlWpM
图片附件:
图片3.png
(2022-8-12 23:29, 44.9 KB) / 下载次数 80
http://blog.zhuohua.store/attachment.php?aid=20201&k=fcfd63ee8ca58b884f04a2983cc63b7b&t=1714402387&sid=kxlWpM
图片附件:
图片4.png
(2022-8-12 23:31, 14.65 KB) / 下载次数 70
http://blog.zhuohua.store/attachment.php?aid=20202&k=5c0774498271754b7a4c5666a3e6b861&t=1714402387&sid=kxlWpM
图片附件:
图片5.png
(2022-8-12 23:31, 28.25 KB) / 下载次数 71
http://blog.zhuohua.store/attachment.php?aid=20203&k=38376a695175cf3017ebbc7da93117c7&t=1714402387&sid=kxlWpM
图片附件:
图片6.png
(2022-8-12 23:32, 68.26 KB) / 下载次数 77
http://blog.zhuohua.store/attachment.php?aid=20204&k=972f76fdd4e8e18d95f6900e81d4347a&t=1714402387&sid=kxlWpM
图片附件:
图片7.png
(2022-8-12 23:32, 66.33 KB) / 下载次数 66
http://blog.zhuohua.store/attachment.php?aid=20205&k=44af68ca2137bfadaf6ba32acefc2165&t=1714402387&sid=kxlWpM
图片附件:
图片8.png
(2022-8-12 23:32, 76.02 KB) / 下载次数 75
http://blog.zhuohua.store/attachment.php?aid=20206&k=5270dbbbe852b595d9dc5d5ab5c620f4&t=1714402387&sid=kxlWpM
图片附件:
图片9.png
(2022-8-12 23:32, 34.93 KB) / 下载次数 65
http://blog.zhuohua.store/attachment.php?aid=20207&k=48269d291f7bc218f17302355a919f6a&t=1714402387&sid=kxlWpM
图片附件:
图片10.png
(2022-8-12 23:33, 28.53 KB) / 下载次数 72
http://blog.zhuohua.store/attachment.php?aid=20208&k=e3793cbdae609e1cb8b77f425edd6dfb&t=1714402387&sid=kxlWpM
图片附件:
图片11.png
(2022-8-12 23:33, 42.11 KB) / 下载次数 70
http://blog.zhuohua.store/attachment.php?aid=20209&k=e73d87894e1e9a5596ce6b4cbbbd033e&t=1714402387&sid=kxlWpM
图片附件:
图片12.png
(2022-8-12 23:34, 26.98 KB) / 下载次数 63
http://blog.zhuohua.store/attachment.php?aid=20210&k=609b39b44dc39401be30f3174a11009a&t=1714402387&sid=kxlWpM
图片附件:
图片13.png
(2022-8-12 23:34, 28 KB) / 下载次数 64
http://blog.zhuohua.store/attachment.php?aid=20211&k=72dd71eeb55f6f79be13c14ba4fa353a&t=1714402387&sid=kxlWpM
图片附件:
图片14.png
(2022-8-12 23:35, 63.83 KB) / 下载次数 57
http://blog.zhuohua.store/attachment.php?aid=20212&k=ffc6ea48806038a7cb0f053c798adf6f&t=1714402387&sid=kxlWpM
图片附件:
图片15.png
(2022-8-12 23:35, 53.31 KB) / 下载次数 77
http://blog.zhuohua.store/attachment.php?aid=20213&k=b188fa247e230be1f5939ebe63fac849&t=1714402387&sid=kxlWpM
图片附件:
图片16.png
(2022-8-12 23:35, 55.07 KB) / 下载次数 70
http://blog.zhuohua.store/attachment.php?aid=20214&k=e1e6dbe6295b8cb5167c4ef1e2bd589b&t=1714402387&sid=kxlWpM
图片附件:
图片17.png
(2022-8-12 23:36, 20.18 KB) / 下载次数 82
http://blog.zhuohua.store/attachment.php?aid=20215&k=418c380ec185a59956b9bab1131b034e&t=1714402387&sid=kxlWpM
图片附件:
图片18.png
(2022-8-12 23:36, 52.78 KB) / 下载次数 74
http://blog.zhuohua.store/attachment.php?aid=20216&k=7999714a2f97983a49099b485bd52096&t=1714402387&sid=kxlWpM
图片附件:
图片19.png
(2022-8-12 23:37, 40.71 KB) / 下载次数 37
http://blog.zhuohua.store/attachment.php?aid=20217&k=20a588be37e67f3e1b21d98cae774e50&t=1714402387&sid=kxlWpM
欢迎光临 blog.zhuohua.store (http://blog.zhuohua.store/)
Powered by Discuz! 7.2