Board logo

标题: Zabbix5.0.12_调用Python3脚本监控Windows下的MSSQL [打印本页]

作者: admin    时间: 2022-8-20 15:12     标题: Zabbix5.0.12_调用Python3脚本监控Windows下的MSSQL

笺注: 这是在 CentOS8_LNMP_编译安装Zabbix5.0.12 的基础上进行的。 被监控主机是在 使用Navicat远程管理MSSQL2014 的基础上进行的。 笺注:使用以下方法,被监控主机不用安装zabbix-agent 被监控主机配置MSSQL数据库: 创建库db1: CREATE DATABASE db1; 在库db1中创建表Table1: Use db1; Create table Table1 (id int primary key not null identity (1,1),Name nvarchar(20),Chinese numeric(12,2)) 插入测试的数据: INSERT into Table1(Name,Chinese) values ('Zhuohua',8.8); INSERT into Table1(Name,Chinese) values ('小明',16); 输出库db1的表Table1中的所有记录: Use db1; Select * from Table1; 图片1.png ############# ############# Zabbix服务器的Python3的安装可参考:CentOS8安装Python3 第三方库pymssql的安装可参考:CentOS8使用Python3脚本管理MSSQL2008R2 Zabbix服务器使用Python3脚本获取被监控主机的MSSQL版本: [root@centos8 ~]# cat /script/xx.py #coding=utf-8 import pymssql def db_connect(): #连接数据库;MSSQL服务器的IP地址(192.168.168.133)、端口号(1433)、用户名(sa)、用户密码、其中一个库的名称 db=pymssql.connect('192.168.168.133:1433','sa','Jacky888','db1') cursor = db.cursor() Sql_1 = "select @@VERSION as version" cursor.execute(Sql_1) Result_1 = cursor.fetchone() print('数据库的版本信息:') print(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 数据库的版本信息: Microsoft SQL Server 2014 - 12.0.2000.8 (X64) Feb 20 2014 20:04:26 Copyright (c) Microsoft Corporation Enterprise Edition (64-bit) on Windows NT 6.3 (Build 9600: ) (Hypervisor) [root@centos8 ~]# ############# Zabbix服务器使用Python3脚本输出SQL语句执行后的返回值: [root@centos8 ~]# cat /script/xx.py #coding=utf-8 import pymssql def db_connect(): db=pymssql.connect('192.168.168.133:1433','sa','Jacky888','db1') cursor = db.cursor() Sql_1 = "Select Chinese from Table1 where Name = 'Zhuohua'" cursor.execute(Sql_1) Results = cursor.fetchone() #print (Results) #(Decimal('8.80'),) #print (type(Results)) # #print (Results[0]) #8.80 #print (type(Results[0])) # Results_1 = float(Results[0]) #转换为浮点数 print (Results_1) #print (type(Results_1)) # db.close() def func_main(): try: db_connect() except Exception as e: print(e) if __name__ == "__main__": func_main() 脚本运行的结果: [root@centos8 ~]# python3 /script/xx.py 8.8 [root@centos8 ~]# 设置脚本权限: [root@centos8 ~]# chmod a+x /script/xx.py [root@centos8 ~]# ############# Zabbix服务器使用Python3脚本输出SQL语句执行后的返回值: [root@centos8 ~]# cat /script/yy.py #coding=utf-8 import pymssql def db_connect(): db=pymssql.connect('192.168.168.133:1433','sa','Jacky888','db1') cursor = db.cursor() Sql_1 = "Select Chinese from Table1 where Name = '小明'" cursor.execute(Sql_1) Results = cursor.fetchone() #print (Results) #(Decimal('16.00'),) #print (type(Results)) # #print (Results[0]) #16.00 #print (type(Results[0])) # Results_1 = float(Results[0]) #转换为浮点数 print (Results_1) #print (type(Results_1)) # db.close() def func_main(): try: db_connect() except Exception as e: print(e) if __name__ == "__main__": func_main() 脚本运行的结果: [root@centos8 ~]# python3 /script/yy.py 16.0 [root@centos8 ~]# 设置脚本权限: [root@centos8 ~]# chmod a+x /script/yy.py [root@centos8 ~]# ############# ############# 修改Zabbix服务器的Agent配置文件: [root@centos8 ~]# find / -name zabbix_agentd.conf /root/zabbix-5.0.12/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 如下图: 图片2.png 保存好配置文件后,重启一下Zabbix本机的客户端和服务端: pkill -9 -U zabbix /usr/local/zabbix/sbin/zabbix_agentd /usr/local/zabbix/sbin/zabbix_server ###### 在Zabbix服务器测试,验证能否获取本机(127.0.0.1)的键值: [root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -k command_1 ZBX_NOTSUPPORTED: Timeout while executing a shell script. [root@centos8 ~]# 解决方法: 修改Zabbix服务器的Agent配置文件: [root@centos8 ~]# vi /usr/local/zabbix/etc/zabbix_agentd.conf # Timeout=3 修改为: Timeout=30 保存好配置文件后,重启一下Zabbix本机的客户端和服务端: pkill -9 -U zabbix /usr/local/zabbix/sbin/zabbix_agentd /usr/local/zabbix/sbin/zabbix_server [root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -k command_1 8.8 [root@centos8 ~]# [root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -k command_2 16.0 [root@centos8 ~]# ################## 配置》主机: 在主机Zabbix server中创建监控项: 图片3.png 给“Zabbix服务器使用Python3脚本输出SQL语句执行后的返回值”创建监控项: 自定义名称: Oracle command_1 键值: command_1 信息类型: 浮点数 图片4.png 备注:其他地方保持默认,点击底下的“添加”按键。 监控项“Oracle command_1”添加成功后,可以测试一下: 图片5.png 点击“Get value and test”: 图片6.png 可以获取到键值的返回值就可以了: 图片7.png 给监控项“Oracle command_1”创建图形“Oracle command_1 image”: 图片8.png 备注:其他地方保持默认,点击底下的“添加”按键。 查看图形“Oracle command_1 image”: 监测》主机》左击主机名称Zabbix server》图形: 图片9.png 选择时间范围: 图片10.png 使用“过滤器”,选择显示的图形:(默认会显示所有图形) 图片11.png 图片12.png 图片13.png ###### 给监控项“Oracle command_1”创建触发器:(返回值大于或等于10.8就告警) 自定义名称: Chinese is greater than or equal to 10.8 图片14.png 插入表达式:(监控项: Zabbix server: Oracle command_1 图片15.png 自动生成的表达式:(触发器的表达式要用到监控项中的键值) {Zabbix server:command_1.last()}>=10.8 图片16.png 备注:其他地方保持默认,点击底下的“添加”按键。 再次查看图形“Oracle command_1 image”:(理应可以看到触发器“Chinese is greater than or equal to 10.8”) 图片17.png ############# ############# 在库db1的表Table1中更改数据: Use db1; Update Table1 set Chinese = 10.8 where Name = 'Zhuohua'; Select * from Table1; 图片18.png 再次查看图形“Oracle command_1 image”: 图片19.png 图片20.png 监控项“Oracle command_1”的返回值大于或等于10.8时,仪表板会如下图显示:(显示对应触发器的名称) Chinese is greater than or equal to 10.8 图片21.png 图片22.png ############# ############# 再次在库db1的表Table1中更改数据: Use db1; Update Table1 set Chinese = 10 where Name = 'Zhuohua'; Select * from Table1; 图片23.png 再次查看图形“Oracle command_1 image”: 图片24.png 图片25.png 监控项“Oracle command_1”的返回值小于10.8时,仪表板会如下图显示: 触发器“Chinese is greater than or equal to 10.8”会自动消失 图片26.png 相关文章: MSSQL的SQL语句 Zabbix调用Python3脚本监控MSSQL Zabbix5.0.12_调用Python3脚本监控Linux下的MySQL

图片附件: 图片1.png (2022-8-20 14:58, 6.36 KB) / 下载次数 50
http://blog.zhuohua.store/attachment.php?aid=20297&k=090559b3546f80dc6cbe555fe81584b6&t=1714925170&sid=Zm7rRP



图片附件: 图片2.png (2022-8-20 15:03, 44.97 KB) / 下载次数 44
http://blog.zhuohua.store/attachment.php?aid=20298&k=ce64e2325a71461980040b263492feaf&t=1714925170&sid=Zm7rRP



图片附件: 图片3.png (2022-8-20 15:04, 14.42 KB) / 下载次数 43
http://blog.zhuohua.store/attachment.php?aid=20299&k=718cfbf1b5ba5d9ab57c002702815d2f&t=1714925170&sid=Zm7rRP



图片附件: 图片4.png (2022-8-20 15:05, 28.2 KB) / 下载次数 47
http://blog.zhuohua.store/attachment.php?aid=20300&k=d924fd62cdddd6fadf9d0f61b80b77ee&t=1714925170&sid=Zm7rRP



图片附件: 图片5.png (2022-8-20 15:05, 21.27 KB) / 下载次数 36
http://blog.zhuohua.store/attachment.php?aid=20301&k=ba39f17103aa51e2400581c122b18d69&t=1714925170&sid=Zm7rRP



图片附件: 图片6.png (2022-8-20 15:05, 27.88 KB) / 下载次数 50
http://blog.zhuohua.store/attachment.php?aid=20302&k=671bdc478ac1934a8b41ba2694299f5f&t=1714925170&sid=Zm7rRP



图片附件: 图片7.png (2022-8-20 15:06, 31.06 KB) / 下载次数 48
http://blog.zhuohua.store/attachment.php?aid=20303&k=b3807a1121c8b3a7941812cf5be060fa&t=1714925170&sid=Zm7rRP



图片附件: 图片8.png (2022-8-20 15:06, 76.3 KB) / 下载次数 47
http://blog.zhuohua.store/attachment.php?aid=20304&k=840a15e36fe9a914e53b8ba92d52d8a5&t=1714925170&sid=Zm7rRP



图片附件: 图片9.png (2022-8-20 15:06, 46.06 KB) / 下载次数 38
http://blog.zhuohua.store/attachment.php?aid=20305&k=ca9ce1cacdddb65744ff7a72328df560&t=1714925170&sid=Zm7rRP



图片附件: 图片10.png (2022-8-20 15:07, 61.54 KB) / 下载次数 42
http://blog.zhuohua.store/attachment.php?aid=20306&k=521ba5a83bbf819a735ef9add060cbb6&t=1714925170&sid=Zm7rRP



图片附件: 图片11.png (2022-8-20 15:07, 14.79 KB) / 下载次数 50
http://blog.zhuohua.store/attachment.php?aid=20307&k=98f327deaa6fbbebe9c8c0e9e178566e&t=1714925170&sid=Zm7rRP



图片附件: 图片12.png (2022-8-20 15:07, 73.26 KB) / 下载次数 45
http://blog.zhuohua.store/attachment.php?aid=20308&k=b7ab5e0d19cef0c06c89778c8212878f&t=1714925170&sid=Zm7rRP



图片附件: 图片13.png (2022-8-20 15:07, 39.72 KB) / 下载次数 49
http://blog.zhuohua.store/attachment.php?aid=20309&k=6f7edf20fcd5240c31e5e64cc26ae0ff&t=1714925170&sid=Zm7rRP



图片附件: 图片14.png (2022-8-20 15:08, 39.38 KB) / 下载次数 40
http://blog.zhuohua.store/attachment.php?aid=20310&k=417fec2e02dc69d373255cc123c25851&t=1714925170&sid=Zm7rRP



图片附件: 图片15.png (2022-8-20 15:08, 22.31 KB) / 下载次数 43
http://blog.zhuohua.store/attachment.php?aid=20311&k=74f829cc7eeb58b3702895ab3a2e484d&t=1714925170&sid=Zm7rRP



图片附件: 图片16.png (2022-8-20 15:08, 12.7 KB) / 下载次数 43
http://blog.zhuohua.store/attachment.php?aid=20312&k=40dbb8dc8c9beabe870097aa20f644f8&t=1714925170&sid=Zm7rRP



图片附件: 图片17.png (2022-8-20 15:09, 45.82 KB) / 下载次数 48
http://blog.zhuohua.store/attachment.php?aid=20313&k=4121a2bd6f9ad7ed21d99cf0c1d612c1&t=1714925170&sid=Zm7rRP



图片附件: 图片18.png (2022-8-20 15:09, 6.48 KB) / 下载次数 54
http://blog.zhuohua.store/attachment.php?aid=20314&k=3c44f945a85c66a31a0d771958dfa4af&t=1714925170&sid=Zm7rRP



图片附件: 图片19.png (2022-8-20 15:10, 81.62 KB) / 下载次数 40
http://blog.zhuohua.store/attachment.php?aid=20315&k=2d8986d23063032271cf9eb890f06056&t=1714925170&sid=Zm7rRP



图片附件: 图片20.png (2022-8-20 15:10, 54.82 KB) / 下载次数 52
http://blog.zhuohua.store/attachment.php?aid=20316&k=3218ba48425b2a441de3d06667809b08&t=1714925170&sid=Zm7rRP



图片附件: 图片21.png (2022-8-20 15:10, 50.29 KB) / 下载次数 48
http://blog.zhuohua.store/attachment.php?aid=20317&k=8bd787019507815cd62537f2d6479307&t=1714925170&sid=Zm7rRP



图片附件: 图片22.png (2022-8-20 15:11, 21.3 KB) / 下载次数 46
http://blog.zhuohua.store/attachment.php?aid=20318&k=7f72402cb015ef97a7695073eb4b921d&t=1714925170&sid=Zm7rRP



图片附件: 图片23.png (2022-8-20 15:11, 6.34 KB) / 下载次数 37
http://blog.zhuohua.store/attachment.php?aid=20319&k=3aae8697d4a2974147780ed1bcc3dcc8&t=1714925170&sid=Zm7rRP



图片附件: 图片24.png (2022-8-20 15:12, 82.89 KB) / 下载次数 48
http://blog.zhuohua.store/attachment.php?aid=20320&k=f83cda51157b9f6e86384103766e18cd&t=1714925170&sid=Zm7rRP



图片附件: 图片25.png (2022-8-20 15:12, 56.98 KB) / 下载次数 47
http://blog.zhuohua.store/attachment.php?aid=20321&k=612d3a6f5e46b76288bdf8a8a36496b7&t=1714925170&sid=Zm7rRP



图片附件: 图片26.png (2022-8-20 15:12, 43.91 KB) / 下载次数 47
http://blog.zhuohua.store/attachment.php?aid=20322&k=3e64d34ec434345a2c64698326c87510&t=1714925170&sid=Zm7rRP






欢迎光临 blog.zhuohua.store (http://blog.zhuohua.store/) Powered by Discuz! 7.2