当前位置: 首页 > news >正文

Zabbix监控神通数据库教程

作者:乐维社区(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进程,可能是授权到期了导致启动失败,需要调整本机时间。在这里插入图片描述

默认用户名: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[{KaTeX parse error: Expected 'EOF', got '}' at position 9: USERNAME}̲,{PASSWORD},{HOST.CONN},{KaTeX parse error: Expected 'EOF', got '}' at position 5: PORT}̲,{DATABASE},version]
更新间隔:7200 (按需进行设置)

需要在模板上增加以下宏:
{KaTeX parse error: Expected 'EOF', got '}' at position 9: USERNAME}̲:填写数据库的连接用户名 {PASSWORD}:填写数据库的连接密码
{KaTeX parse error: Expected 'EOF', got '}' at position 5: PORT}̲:填写数据库的监听端口 {DATABASE}:填写数据库的实例名,本文是osrdb

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

http://www.lryc.cn/news/376959.html

相关文章:

  • 5.音视频基础 FLV
  • Ubuntu server 24 (Linux) 安装客户端(windows/linux) Zabbix 7.0 LTS Zabbix agent2
  • 在 Ubuntu 上取消登录密码和锁屏功能的简易指南
  • PAT B1046. 划拳
  • 奥特曼谈AI的机遇、挑战与人类自我反思:中国将拥有独特的大语言模型
  • Java版-剑指offer数据结构与算法 视频教程 下载
  • mac禁用电池睡眠-mac盒盖连接显示器
  • 最好用的智能猫砂盆存在吗?自用分享智能猫砂盆测评!
  • LeetCode 每日一题 2748. 美丽下标对的数目
  • 全民拼购:引领商业新潮流,共创共赢新篇章
  • HarmonyOS角落里的知识:一杯冰美式的时间 -- 之打字机
  • C++ 03 之 命名空间
  • 20个国家科学数据中心(下)
  • 本地部署 Stable Diffusion3
  • 避免Tomcat调试信息泄露的最佳实践
  • Linux C++
  • Apache Doris 基础 -- 部分数据类型及操作
  • 大话C语言:第25篇 动态库
  • 数据分析:RT-qPCR分析及R语言绘图
  • 无线模块通过TCP/IP协议实现与PC端的数据传输解析
  • 嵌入式实验---实验一 通用GPIO实验
  • 中国首例!「DataKit」上架亚马逊云科技 Marketplace add-ons
  • 【博士每天一篇文献-算法】Progressive Neural Networks
  • 深圳中小企业融资攻略,贷款方法大盘点!
  • Android的自启动
  • 开源VisualFbeditor中文版,vb7 IDE,VB6升级64位跨平台开发安卓APP,Linux程序
  • github安全问题token和sshkeys
  • 超详细的selenium使用指南
  • LogicFlow 学习笔记——1. 初步使用 LogicFlow
  • 场外个股期权通道业务是什么意思?