暂无图片
暂无图片
3
暂无图片
暂无图片
暂无图片

崖山数据库监控运维平台YCM安装使用

原创 飞天 2024-11-28
806

1、崖山数据库介绍

崖山数据库系统YashanDB是深圳计算科学研究院完全自主研发设计的新型数据库系统,融入原创理论,支持单机/主备、共享集群、分布式等多种部署方式,覆盖OLTP/HTAP/OLAP交易和分析混合负载场景,为客户提供一站式的企业级融合数据管理解决方案。

2、监控运维平台YCM介绍

YashanDB Cloud Manager(以下简称YCM)崖山数据库云管平台是一款针对YashanDB的云管理平台,该平台提供了对YashanDB及相关资源的全生命周期管理。提供管理和运维YashanDB,并提供预警和健康检测等监控告警功能,还提供了用户创建、权限授予、资源隔离等系统管理功能。

核心使用场景:包括实例纳管、资源、性能、容量、配置等管理服务,日常监控巡检、故障分析的智能服务,以及备份恢复、高可用等稳定性和安全方面的服务。通过化被动为主动的运维模式,有效地提升数据库运维水平。

3、监控运维平台YCM安装部署

3.1 安装前准备

3.1.1 服务器最低配置

托管数据库规模 服务器最低配置
低于10实例 2核,2G内存,50G硬盘
10-100实例 8核,16G内存,100G硬盘
100实例以上 16核,32G内存,500G硬盘

3.1.2 开放端口

服务器 默认端口
管理平台服务器 9060,9061,9062,9063,9064
数据库服务器或其他需要被平台托管的服务器 9070和9071

3.1.3 安装包下载并上传到服务器

下载网址:https://download.yashandb.com/download
image.png
安装包名称:yashandb-cloud-manager-23.3.1.0-linux-x86_64.tar.gz
安装包上传路径:/opt/soft

3.1.4 用户准备

3.1.4.1 创建用户

# 新建yasmanager用户
# useradd -d /home/yasmanager -m yasmanager
# passwd yasmanager

3.1.4.2 授予sudo权限

# 对用户赋权并打开/etc/sudoers文件
# cd /etc
# ll sudoers
# chmod +w sudoers
# vi /etc/sudoers

# 在文件的最后添加如下内容后保存退出
# yasmanager  ALL=(ALL)NOPASSWD:ALL

# chmod -w sudoers

3.1.5 应用环境准备

3.1.5.1 libnsl环境准备

# ldconfig -p | grep libnsl

# 若不存在,可使用以下方式安装
# yum install libnsl  
# 或
# apt update && apt-get -y install rpm  && rpm -ivh libnsl-2.28-164.el8.aarch64.rpm --nodeps 
anguage

3.1.6 数据库环境准备(可选)

后端数据库可选sqlite3或YashanDB,若选择YashanDB,需提前部署好YashanDB的单机环境。

sqlite3(默认) 说明
版本要求 3.7.17及之后版本
YashanDB 说明
版本要求 22.2及之后版本
部署形态 单机数据库
数据库用户 新建yasman用户,赋予dba权限: create user yasman;grant dba to yasman;

3.1.7 开机自启

管理平台开机自启需要确保对rc.local有可执行权限,可执行以下命令:

# chmod +x /etc/rc.local

管理平台在安装部署过程中会自动将自启程序写入/etc/rc.local,没有该文件或无可执行权限不影响部署。
管理平台部署成功后也可以手动添加,将下列启动程序命令添加到自启配置文件中:

# su {安装用户} -c '{安装路径}/ycm/monit/bin/monit -c {安装路径}/ycm/monit/data/monitrc'
su yasmanager -c '/data/install/ycm/monit/bin/monit -c /data/install/ycm/monit/data/monitrc'

3.2 单节点安装部署

3.2.1 解压安装包

以下操作都用yasmanager用户进行。

# su - yasmanager
$ cd /opt/soft
$ tar -zxvf yashandb-cloud-manager-23.3.1.0-linux-x86_64.tar.gz 

3.2.2 修改配置文件

$ cd /opt/soft/ycm
$ vi ./etc/deploy.yml
加入:

server:
install_path: /data/install      # 修改安装路径为/data/install
system_user: yasmanager          # 修改系统用户为安装用户

# 后端数据库为yashandb时,还需修改以下配置项
dbconfig:
    driver: "yashandb"  # 后端为yashanDB时,必须指定为yashandb
    url: "192.*.*.60:1688"   # 包括数据库的所有主备实例及监听端口,逗号分隔 
    libPath: "/home/yasmanager/yashandb-client/lib" # 使用产品内置客户端无需配置,或者配置为自行安装的客户端lib路径         

修改后的配置文件如下:
image.png

3.2.3 部署管理平台

sqlite作为后端数据库

# 采用默认的部署配置,使用sqlite作为后端数据库
$ sudo ./ycm-init deploy --conf ./etc/deploy.yml
Copied!

YashanDB作为后端数据库

# 后端数据库为YashanDB
$ sudo ./ycm-init deploy --conf ./etc/deploy.yml --username yasman --password password

本文中使用YashanDB作为后端数据库。操作如下:

$ sudo ./ycm-init deploy --conf ./etc/deploy.yml --username yasman --password password
注意:需要提前在yashandb数据库中创建好yasman用户,否则会提示:
yashandb connection failed: YAS-02143 invalid username/password, login denied
2024-11-28 14:21:41     FATAL   db/yashandb.go:22       yashandb connection failed: YAS-02143 invalid username/password, login denied

部署日志如下,可以看到部署了哪些内容以及部署进度:

sudo ./ycm-init deploy --conf ./etc/deploy.yml --username yasman --password ******
2024-11-28 14:45:56     WARN    deploy/deploy.go:142    parse yashandb url failed, err YASDB_DATA:192.*.*.60:1688 is not existed
2024-11-28 14:45:56     INFO    execer/exec.go:30       exec: bash -c tar -zxf /opt/soft/ycm/packages/yashandb-client-*.tar.gz -C /tmp/ycm_client_20241128144556 starting
2024-11-28 14:45:57     WARN    deploy/deploy.go:142    parse yashandb url failed, err YASDB_DATA:192.*.*.60:1688 is not existed
2024-11-28 14:45:57     INFO    deploy/deploy.go:200    yashandb lib path is /data/install/ycm/tool/yashandb-client/lib
2024-11-28 14:45:57     INFO    deploy/manage.go:39     conf manager starting...
2024-11-28 14:45:57     INFO    deploy/deploy.go:339    beginning install ycm
2024-11-28 14:45:57     INFO    deploy/deploy.go:248    mkdir ycm installpath success, progress:20

2024-11-28 14:45:57     INFO    deploy/deploy.go:248    mkdir ycm-agent installpath success, progress:21

2024-11-28 14:45:57     INFO    execer/exec.go:30       exec: bash /opt/soft/ycm/scripts/install.sh ycm yasmanager /data/install/ycm starting
2024-11-28 14:46:07     INFO    deploy/deploy.go:261    unzip packages success, progress:30

2024-11-28 14:46:07     INFO    deploy/deploy.go:248    mkdir cert path success, progress:32

2024-11-28 14:46:08     INFO    deploy/deploy.go:248    generate self signed cert key success, progress:35

2024-11-28 14:46:08     INFO    deploy/deploy.go:420    beginning generate ycm config file
2024-11-28 14:46:08     INFO    deploy/deploy.go:248    generate ycm.yaml success, progress:40

2024-11-28 14:46:08     INFO    deploy/deploy.go:248    generate config.ini success, progress:43

2024-11-28 14:46:08     INFO    deploy/deploy.go:248    generate prometheus.yml success, progress:45

2024-11-28 14:46:08     INFO    deploy/deploy.go:248    generate loki-local-config.yaml success, progress:47

2024-11-28 14:46:08     INFO    deploy/deploy.go:248    generate promtail-local-config.yaml success, progress:48

2024-11-28 14:46:08     INFO    deploy/deploy.go:248    generate yasdbpasswd.ini success, progress:50

2024-11-28 14:46:08     INFO    deploy/deploy.go:248    check backend database exists table success, progress:59

2024-11-28 14:46:09     INFO    model/auto_migrate.go:260       auto migrate all of 91 tables success
2024-11-28 14:46:10     WARN    alarm/add_default.go:365        query alarm notify strategy is incorrect, just add default, allns: [], err: <nil>
2024-11-28 14:46:10     INFO    execer/exec.go:30       exec: cp -f /data/install/ycm/loki/rules/fake/loki-rules.yaml /data/install/ycm/loki/loki-rules.yaml.bak starting
2024-11-28 14:46:10     INFO    execer/exec.go:30       exec: cp -f /data/install/ycm/prometheus/rules.yml /data/install/ycm/prometheus/rules.yml.bak starting
2024-11-28 14:46:10     INFO    deploy/deploy.go:248    set conf success, progress:60

2024-11-28 14:46:10     INFO    deploy/deploy.go:248    set conf success, progress:65

2024-11-28 14:46:10     INFO    deploy/deploy.go:248    init db success, progress:70

2024-11-28 14:46:10     INFO    deploy/deploy.go:546    beginning start ycm process
2024-11-28 14:46:10     INFO    execer/exec.go:30       exec: chown -R yasmanager:yasmanager /data/install/ycm starting
2024-11-28 14:46:10     INFO    deploy/deploy.go:261    chown ycm path success, progress:75

2024-11-28 14:46:10     INFO    execer/exec.go:30       exec: chown -R yasmanager:yasmanager /data/install/ycm-agent starting
2024-11-28 14:46:10     INFO    deploy/deploy.go:261    chown ycm-agent path success, progress:76

2024-11-28 14:46:10     INFO    execer/exec.go:30       exec: chmod 0755 /data/install starting
2024-11-28 14:46:10     INFO    deploy/deploy.go:261    chmod path success, progress:78

2024-11-28 14:46:10     INFO    execer/exec.go:30       exec: bash /data/install/ycm/scripts/ycm.sh start starting
2024-11-28 14:46:11     INFO    deploy/deploy.go:261    start server success, progress:80

2024-11-28 14:46:11     INFO    execer/exec.go:30       exec: bash /data/install/ycm/scripts/yashandb_exporter.sh start starting
2024-11-28 14:46:12     INFO    deploy/deploy.go:261    start yashandb_exporter success, progress:85

2024-11-28 14:46:12     INFO    execer/exec.go:30       exec: bash /data/install/ycm/scripts/prometheus.sh start starting
2024-11-28 14:46:14     INFO    deploy/deploy.go:261    start monitor success, progress:88

2024-11-28 14:46:14     INFO    execer/exec.go:30       exec: bash /data/install/ycm/scripts/loki.sh start starting
2024-11-28 14:46:15     INFO    deploy/deploy.go:261    start loki success, progress:90

2024-11-28 14:46:15     INFO    execer/exec.go:30       exec: bash /data/install/ycm/scripts/promtail.sh start starting
2024-11-28 14:46:16     INFO    deploy/deploy.go:261    start promtail success, progress:91

2024-11-28 14:46:16     INFO    execer/exec.go:30       exec: bash /data/install/ycm/monit/monitctl reload starting
2024-11-28 14:46:16     INFO    deploy/deploy.go:261    reload monit success, progress:93

2024-11-28 14:46:16     INFO    deploy/deploy.go:304    success, progress:100

[yasmanager@node1 ycm]$ 

3.2.4 访问管理平台

http://<YCM运维平台所在的服务器ip>:9060
首次登录的用户名和密码:admin/admin
首次登录后会提示修改密码

image.png
修改密码后,会进入崖山监控运维平台主界面:
image.png

4、YCM使用

4.1 主机管理

路径:主机管理->添加主机
image.png
填写主机信息,点“扫描”按钮:
image.png
扫描成功后,会出现主机信息:
image.png
成功托管的主机列表:
image.png

4.2 数据库管理

路径:数据库管理->托管YashanDB数据库
image.png
输入数据库信息,点击“检查”按钮
需要注意:om所在主机ip是选择出来的,所以必须先托管om所在的主机才可以选择出ip。
image.png
成功托管的数据库列表:
image.png

4.3 数据库监控

image.png

4.4 主机监控

image.png

5、碰到的问题

1、部署ycm的时候提示后台数据库yashan没启动:
sudo ./ycm-init deploy --conf ./etc/deploy.yml --username yasman

[yasmanager@node1 ycm]$ 
2024-11-28 13:08:49     WARN    deploy/deploy.go:142    parse yashandb url failed, err YASDB_DATA:192.*.*.60:1688 is not existed
user yasman password(enter return if no password):
[yasmanager@node1 ycm]$ 

解决办法:

启动yashan数据库

2、启动yashan数据库提示:

$ yasboot cluster start -c yashandb -m open
dial tcp 192.*.*.60:1675: connect: connection refused

原因:yasboot会通过agent和om进程来管理数据库,agent和om进程没有启动。
解决办法:


# 启动yasom进程【使用实际数据库名称替换yashandb字符串】
yasboot process yasom start -c yashandb
# 启动yasagent进程【使用实际数据库名称替换yashandb字符串】
yasboot process yasagent start -c yashandb
# 查看yasom和yasagent进程
$ ps -ef|grep yashan

yashan     5382      1  0 13:17 ?        00:00:01 /data/yashan/yasdb_home/yashandb/23.2.1.100/bin/yasom -c yashandb -l 192.*.*.60:1675 -d
yashan     5412      1  0 13:18 ?        00:00:00 /data/yashan/yasdb_home/yashandb/23.2.1.100/bin/yasagent -c yashandb -l 192.*.*.60:1676 -d
# 启动yashan数据库
$ yasboot cluster start -c yashandb -m open
 type | uuid             | name              | hostid | index    | status  | return_code | progress | cost 
-----------------------------------------------------------------------------------------------------------
 task | 73d19ef2807b9086 | StartYasdbCluster | -      | yashandb | SUCCESS | 0           | 100      | 10   
------+------------------+-------------------+--------+----------+---------+-------------+----------+------
task completed, status: SUCCESS

6、总结

崖山数据库监控运维平台YCM的安装部署非常丝滑,实例管理、日常监控巡检、故障分析的智能服务,以及备份恢复、高可用等稳定性和安全方面的核心功能可以满足用户的日常维护需要,大大提升了数据库的运维效率。

关于作者:
专注于Oracle、MySQL、PG、OpenGauss和国产数据库的研究,热衷于分享数据库技术。
微信公众号:飞天online
墨天轮:https://www.modb.pro/u/15197
如有任何疑问,欢迎大家留言,共同进步~~~

最后修改时间:2024-12-05 10:15:46
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论