Zabbix监控神通数据库教程

news/2024/9/29 4:20:42

作者:乐维社区(forum.lwops.cn) 乐乐

神通数据库,即神舟通用数据库(ShenTong Database),是我国自主研发的一款关系型数据库管理系统。它在国内市场有一定的应用,尤其是在一些对数据安全、独立性有较高要求的领域,如政府、金融、电信、能源、医疗等行业。

Zabbix是一款被广泛应用的开源监控工具,常常被用于企业机构等IT基础架构的监控。

本文将介绍如何使用 Docker 快速安装和配置神舟通用数据库,并使用Zabbix监控神舟通用数据库。

安装步骤参考:

https://blog.csdn.net/weixin_46603727/article/details/131300046

docker镜像下载:https://pan.baidu.com/s/1-W_tuGk4waewNhr6C8Z00g

提取码:9572

1. 安装步骤

1.1. 安装docker,下载神舟通用数据库镜像shentong_342_163_x86_64bit.zip并上传至服务器。

yum install docker

systemctl start docker

unzip shentong_342_163_x86_64bit.zip

docker load -i shentong_342_163_x86_64bit

导入完成后,可以使用 docker images 查看导入的镜像。结果显示如下:

 

 

1.2. 初始化容器。

date -s "2023/06/20"  #该镜像有试用授权期限,因此需要调整日期

docker run -d -p 2003:2003 --name Oscar shentong_342_163_x86_64bit

#创建并运行容器,将会在后台启动一个名为 oscar 的容器,并将容器的2003端口映射到宿主机的2003端口,将数据目录映射到/opt/ShenTong/。

docker ps -a    #查看容器运行状态

正常启动后能看到容器里启动了/opt/ShenTong/bin/oscar和/opt/ShenTong/bin/oscaragent进程。如果没有/opt/ShenTong/bin/osca进程,可能是授权到期了导致启动失败,需要调整本机时间。

默认用户名:SYSDB,密码:szoscar55,库:OSRDB,schema:SYSDBA

容器内可使用/opt/ShenTong/bin/isql -U SYSDBA/szoscar55 -d osrdb命令连接数据库。

默认用户名:SYSDBA,密码:szoscar55,库:OSRDB,schema:SYSDBA

容器内可使用/opt/ShenTong/bin/isql -U SYSDBA/szoscar55 -d osrdb命令连接数据库。

 

测试连接并执行命令:(需要指定连接客户端的字符集为UTF-8)

export LANG=en_US.UTF-8

export LC_ALL=en_US.UTF-8

/opt/ShenTong/bin/isql -U SYSDBA/szoscar55 -d osrdb sysdba

select version;

 

2. 准备监控神舟通用数据库

2.1. 将神舟通用数据库提供的python模块及需要的lib文件复制到容器外的/opt目录下。

docker cp Oscar:/opt/ShenTong/STPython/ /opt

docker cp Oscar:/opt/ShenTong/bin/libaci.so /lib64/

ldconfig -v | grep libaci #加载lib

 

 

2.2. 安装python3.5用于监控神舟通用数据库。

安装步骤略

2.3. 安装连接神舟通用数据库用的python模块。

python3 -m pip install --no-index --find-links=/opt/STPython/Python35  STPython

2.4. 创建监控用的脚本。

zabbix的外部检查目录下创建2个监控用的脚本,我使用的是/itops/zabbix/share/zabbix/externalscripts/目录,需要根据实际情况进行修改。

vi /itops/zabbix/share/zabbix/externalscripts/pyshentongdb#!/usr/bin/bash/usr/bin/python3 /itops/zabbix/share/zabbix/externalscripts/pyshentongdb.py --username $1 --password $2 --address $3 --port $4 --database $5 $6 $7 $8

vi /itops/zabbix/share/zabbix/externalscripts/pyshentongdb.py

#!/usr/bin/env python3
# coding: utf-8
# author: cxhimport argparse
import STPython
import inspect
import json
import reversion = 0.2class Checks(object):def version(self):"""查数据库版本"""sql = "select version"self.cur.execute(sql)res = self.cur.fetchall()for i in res:print(i[0])class Main(Checks):def __init__(self):parser = argparse.ArgumentParser()parser.add_argument('--username')parser.add_argument('--password')parser.add_argument('--address')parser.add_argument('--port')parser.add_argument('--database')subparsers = parser.add_subparsers()for name in dir(self):if not name.startswith("_"):p = subparsers.add_parser(name)method = getattr(self, name)argnames = inspect.getargspec(method).args[1:]for argname in argnames:p.add_argument(argname)p.set_defaults(func=method, argnames=argnames)self.args = parser.parse_args()def db_connect(self):a = self.argsusername = a.usernamepassword = a.passwordaddress = a.addressport = a.portdatabase = a.databaseself.db = STPython.Connection(user=username,password=password,dsn=str(address)+':'+str(port)+'/'+str(database))self.cur = self.db.cursor()def db_close(self):self.db.close()def __call__(self):try:a = self.argscallargs = [getattr(a, name) for name in a.argnames]self.db_connect()try:return self.args.func(*callargs)finally:self.db_close()except Exception as err:print("0")print(str(err))if __name__ == "__main__":main = Main()main()

  

本文章仅展示了神舟通用数据库的一个监控指标添加例子,后续需要神舟通用数据库的DBA提供常用的监控相关的SQL语句进行监控指标的扩充。

监控结果如下:

 

 

附:

数据库版本监控指标配置示例:

名称:数据库版本

类型:外部检查

键值:

pyshentongdb[{$USERNAME},{$PASSWORD},{HOST.CONN},{$PORT},{$DATABASE},version]

更新间隔:7200 (按需进行设置)

需要在模板上增加以下宏:

{$USERNAME}:填写数据库的连接用户名

{$PASSWORD}:填写数据库的连接密码

{$PORT}:填写数据库的监听端口

{$DATABASE}:填写数据库的实例名,本文是osrdb

以上就是本期文章的全部内容。大家好,我是乐乐,专注运维技术研究与分享,想要了解更多zabbix开源监控使用技巧,欢迎关注乐维社区,同时zabbix使用问题也欢迎到乐维社区留言提问~

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hjln.cn/news/47098.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

智能制造 | 璞华科技入选「2023年苏州市智能制造优秀服务商」名单

刚刚,璞华科技入选「2023年苏州市智能制造优秀服务商」公示名单!再次表明,璞华科技在智能制造领域的实力得到了业界认可。璞华科技有限公司是一家以“帮助客户实现数智化转型升级”为愿景的高科技企业,在苏州、武汉、北京、香港、东京等地拥有多个业务据点,在行业数智化领…

AndroidStudio隐藏标题栏

找到这个文件打开找到android:theme一行将""里内容改为android:theme="@style/Theme.AppCompat.NoActionBar"

实现熔断,设置开启/关闭熔断器,设置半打开熔断器

1.熔断器的开启--常用的熔断器方法:defaultFallback // 可以造成熔断的方法@GetMapping("/sleep5/{id}")@HystrixCommand(defaultFallback = "sleepBreaker", commandProperties = {@HystrixProperty(name = "circuitBreaker.enabled", value =…

Nuxt3页面开发实战探索

摘要:这篇文章是关于Nuxt3页面开发实战探索的。它介绍了Nuxt3的基础入门,安装与配置,项目结构,内置组件与功能,以及页面与路由的相关内容。Nuxt3是基于Vue 3的服务器端渲染框架,旨在简化Vue应用程序的开发流程,提供最佳的性能和开发title: Nuxt3页面开发实战探索 date: …

入坑typecho!

虽然博客搭建完成已有一年多的时间,但是还是没有找到我非常喜欢的主题。最近看到一个博主的主题VOID,非常的惊艳,感觉这个主题之前应该是看过的,不过当时一心折腾halo没有想去折腾typecho,最近心血来潮想试一试,折腾的过程中也遇到不少问题。 VOID主题出现的很早,并且很…

SAP ABAP FB05 清账函数

传入凭证+年度+行 标准筛选 MF05BFS0筛选凭证item 行项目

R语言求取大量遥感影像的平均值、标准差:raster库

本文介绍基于R语言中的raster包,批量读取多张栅格图像,对多个栅格图像计算平均值、标准差,并将所得新的栅格结果图像保存的方法~本文介绍基于R语言中的raster包,批量读取多张栅格图像,对多个栅格图像计算平均值、标准差,并将所得新的栅格结果图像保存的方法。在文章基于R…

一行超长日志引发的 “血案” - Containerd 频繁 OOM 背后的真相

案发现场:混沌初现 2024年6月10日,本应是平静的一天。但从上午 9 点开始,Sealos 公有云的运维监控告警就开始不停地响。北京可用区服务器节点突然出现大量 “not ready” 告警,紧接着,系统自动触发 004 节点重启,让服务暂时恢复了正常。就在我以为这只是个小插曲的时候,…