shentong_exporter使用手册¶
产品简介¶
shentong_exporter是神通数据库的Prometheus导出器, 采集神通数据库各项性能指标, 采用go语言实现, 依赖go-aci进行数据库操作。 shentong_exporter将采集到的数据库指标,结合Prometheus + grafana,能实现对单个或多个神通数据库的性能实时监控。
支持平台¶
支持X86、X64、ARM、Loongarch等平台,支持Windows、Linux、银河麒麟、统信等系统。
注解
对于没有提供可执行程序的平台,可以联系神通技术支持人员或服务平台定制提供。
相关端口¶
默认端口9161,可-web.listen-address参数进行动态配置。
相关文件¶
shentong_exporter安装在$SZ_OSCAR_HOME/shentong_exporter目录下,包括可执行程序、默认指标文件等文件。
可监控产品¶
支持对神通关系数据库、神通分布式数据库(MPP)、神通海量数据存储库(KSTORE)产品系的数据库指标监控。
安装部署¶
GO安装¶
安装GO环境,安装步骤忽略。版本要求1.10以上,如果环境中符合版本的GO版本,此步骤可跳过。
go-aci部署¶
go-aci是神通数据库的go语言开发接口,shentong_exporter运行时需要用go-aci与数据库进行交互。go-aci安装步骤如下(详细可参考 "GoLang 语言开发手册->Go-ACI程序员开发指南->环境部署" 章节):
1). 将神通go-aci驱动拷贝到go的src目录,比如:/usr/lib/go/src,如下:
2). 更新aci的头文件和aci库文件:
头文件:go-aci自带aci头文件,默认情况下不用更新,aci头文件可从数据库安装目录:$SZ_OSCAR_HOME/drivers/aci/include获取。
aci库文件:aci库文件在go-aci目录中,需要根据部署平台从数据库中的安装目录中拷贝$SZ_OSCAR_HOME/drivers/aci/,比如在arm平台下,将$SZ_OSCAR_HOME/drivers/aci/arm64/libaci.so文件拷贝到/usr/lib/go/src/go-aci目录下。
3). 修改aci.pc文件: aci.pc文件中记录的是编译go-aci依赖头文件和aci库文件的路径,将其修改为对应目录,比如:
4). 终端中cd /usr/lib/go/src/,执行go build go-aci,确保编译无错,如图:
5). go-aci测试 到/usr/lib/go/src/go-aci/test目录下,编译test.go : go build -o test_goaci test.go,如图
执行test_goaci:./test_goaci sysdba/szoscar55@localhost:2003/osrdb
备注:链接数据库的用户名、密码、ip和端口、实例名称都是可以更改的,执行前在数据库中建表:create table test( a int ,b text);如果没事先创建好test表,运行程序插入数据时会报错表不存在。
注解
因为go-aci依赖的是神通aci驱动,因此在go调用go-aci程序时,需要确认aci库所在的路径是否系统运行时找到,如果没有,可以将aci库与运行程序放在同一目录或者把aci库路径加进LD_LIBRARY_PATH环境变量里。
其他依赖部署¶
shentong_exporter运行依赖toml、prometheus、sys、log等组件,可使用在线和离线两种模式进行安装:
在线模式
git安装:
apt-get install git
toml安装:
go get github.com/BurntSushi/toml
安装目录为:$GOPATH/src/github.com/BurntSushi/toml
prometheus安装:
go get github.com/prometheus/client_golang/prometheus
sys安装:
cd $GOPATH/src
mkdir -p golang.org/x
cd golang.org/x
git clone https://github.com/golang/sys.git
log安装:
go get github.com/prometheus/common/log
离线模式
方式1:可在有网环境中安装后,将相关依赖组件文件直接拷贝到无网环境中即可。
方式2:神通shentong_exporter在V1.0.2版本中支持了将依赖发布到depends目录,使用者可以将depends文件夹中的文件,拷贝到go的安装目录中,假如go的安装路径为/root/go,则将文件放置到/root/go/src/目录中,如图:
启动导出器¶
执行时需要指定DSN数据源:
export DATA_SOURCE_NAME=sysdba/szoscar55@localhost:2003/osrdb
./shentong_exporter
获取指标¶
在浏览器中输入:http://localhost:9161/metrics
注意事项:
需要设置DATA_SOURCE_NAME环境变量才可以正常运行,链接字符串中的信息根据实际情况修改;
shentong_exporter可执行程序依赖default-metrics.toml指标文件,需要放置在同一目录;
shentong_exporter可执行程序依赖aci库文件,需要将同平台的aci库放置在同一目录。
高级配置¶
服务端口变更¶
shentong_exporter的默认端口为9161,在项目中如果需要变更端口,有两种方式:
1). 修改代码 main.go 中的模块端口,并重新编译,代码中端口:
将9161修改后重新编译即可。
2). 启动时制定端口:参数 -web.listen-address=:9198,例如: ./shentong_exporter -web.listen-address=:9198
设置数据连接信息¶
在设置DATA_SOURCE_NAME环境句柄不方便的时候,可以通过参数来实现数据库连接信息的设置:参数为db.dsn,使用方式为:
exporter_shentong –db.dsn=sysdba/szoscar55@localhost:2003/osrdb
如果既没有指定DATA_SOURCE_NAME环境变量,也没有传入db.dsn参数,exporter会采用默认连接信息:–db.dsn=sysdba/szoscar55@localhost:2003/osrdb