一、前言
YashanDB监控运维工具是由深圳计算科学研究院研发的一款针对YashanDB、面向企业级数据库的一站式运维监控管理平台,英文名是YashanDB Cloud Manager,简称YCM。
监控运维平台YCM使用场景:包括实例纳管、资源、性能、容量、配置等管理服务,日常监控巡检、故障分析的智能服务,以及备份恢复、高可用等稳定性和安全方面的服务等。
本次体验涉及YCM的安装部署,纳管主机及数据库,实现OS、DB层面的监控告警。
二、介质准备
YashanDB安装包下载地址:
登录:https://download.yashandb.com/download
选择:YashanDB Personal 23.1(根据虚机CPU架构自行选择x86或者arm)
YashanDB Cloud Manager安装包下载地址:
登录:https://download.yashandb.com/download
选择:YashanDB Cloud Manager V23.1(根据虚机CPU架构自行选择x86或者arm)
三、YashanDB个人版安装
--1.上传安装包至yashan主目录并解压至/home/yashan/install
[root@localhost ~]# su - yashan
[yashan@localhost ~]$ mkdir install
[yashan@localhost ~]$ tar -xf yashandb-personal-23.1.1.100-linux-aarch64.tar.gz -C install
[yashan@localhost ~]$ cd install/
--2.执行如下命令生成安装参数文件,ssh登录密码为创建yashan用户时指定的密码,请将--ip参数后面的值更换成安装服务端主机所在IP地址
[yashan@localhost install]$ ./bin/yasboot package se gen --cluster yashandb -u yashan -p "qsc1@#$%" --ip 192.168.8.213 --port 22 --install-path /home/yashan/yasdb_home --data-path /home/yashan/yasdb_data --begin-port 1688
hostid | group | node_type | node_name | listen_addr | replication_addr | data_path
--------------------------------------------------------------------------------------------------------------
host0001 | dbg1 | db | 1-1 | 192.168.8.213:1688 | 192.168.8.213:1689 | /home/yashan/yasdb_data
----------+-------+-----------+-----------+--------------------+--------------------+-------------------------
Generate config success
--3.执行如下命令安装YashanDB数据库,如实际安装数据库版本与示例中版本不同,请将-i参数后的软件包名称更改成实际名称:
[yashan@localhost install]$ ./bin/yasboot package install -t hosts.toml -i /home/yashan/yashandb-personal-23.1.1.100-linux-aarch64.tar.gz
checking install package...
install version: yashandb 23.1.1.100
host0001 100% [====================================================================] 3s
update host to yasom...
--4.执行部署
[yashan@localhost install]$ ./bin/yasboot cluster deploy -t yashandb.toml
type | uuid | name | hostid | index | status | return_code | progress | cost
------------------------------------------------------------------------------------------------------------
task | 9d070c3fb82af2fc | DeployYasdbCluster | - | yashandb | SUCCESS | 0 | 100 | 7
------+------------------+--------------------+--------+----------+---------+-------------+----------+------
task completed, status: SUCCESS
--5.配置环境变量
[yashan@localhost install]$ cd /home/yashan/yasdb_home/yashandb/23.1.1.100/conf/
[yashan@localhost conf]$ cat yashandb.bashrc >> ~/.bashrc
[yashan@localhost conf]$ source ~/.bashrc
--6.执行如下命令设置YashanDB数据库中sys用户的密码:
[yashan@localhost conf]$ cd /home/yashan/yasdb_data/db-1-1/instance
[yashan@localhost instance] mv yasdb.pwd yasdb1.pwd
[yashan@localhost instance] yaspwd file=yasdb.pwd
Enter password for SYS:
--7.查看数据库状态
[yashan@localhost instance]$ yasboot cluster status -c yashandb
host_id | node_type | nodeid | pid
-----------------------------------------
host0001 | db | 1-1:1 | 3361393
----------+-----------+--------+---------
--8.执行如下命令连接数据库,请将password更改成设置的sys用户密码:
[yashan@localhost instance]$ yasql sys/password
YashanDB SQL Personal Edition Release 23.1.1.100 aarch64
Connected to:
YashanDB Server Personal Edition Release 23.1.1.100 aarch64 - X86 64bit Linux
SQL>
如需操作系统免密登录数据库,请参考:https://doc.yashandb.com/yashandb/23.1/zh/%E4%BA%A7%E5%93%81%E5%AE%89%E5%85%A8/%E7%94%A8%E6%88%B7%E5%8F%8A%E8%AE%A4%E8%AF%81/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E8%AE%A4%E8%AF%81%E7%AE%A1%E7%90%86/%E9%85%8D%E7%BD%AE%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E8%AE%A4%E8%AF%81.html
四、YCM安装并启动
--解压YCM安装包,在yashan主目录生成安装目录ycm
[yashan@localhost ~]$ tar zxf yashandb-cloud-manager-23.1.1.6-linux-aarch64.tar.gz
[root@localhost prometheus]# cd /home/yashan/ycm
--按照需要修改配置文件 etc/deploy.yml,然后使用sudo或者root用户执行部署命令。
# 使用sqlite作为后台数据库(默认)
[root@localhost ycm]# ./ycm-init deploy --conf=./etc/deploy.yml
2023-11-29 10:49:58 INFO execer/exec.go:25 exec: test -x /etc/rc.local starting
2023-11-29 10:49:58 INFO execer/exec.go:25 exec: bash -c cat /etc/rc.local | grep '^#!\/' starting
2023-11-29 10:49:58 INFO deploy/manage.go:36 conf manager starting...
...
2023-11-29 10:50:08 INFO execer/exec.go:25 exec: bash /data/ycm/ycm/monit/monitctl reload starting
2023-11-29 10:50:08 INFO deploy/deploy.go:62 reload monit success, progress:95
2023-11-29 10:50:08 INFO deploy/deploy.go:262 success, progress:100
--打开浏览器访问 IP:9060,9060为默认端口,如果修改了deploy.yml,以文件为准,如下图
admin/admin为默认登录账号密码。可在YCM登陆首页或者【个人中心】->【个人信息】中修改密码。
五、主机管理
--添加主机
1.登录YCM平台,点击左侧导航栏的主机管理,进入主机列表页面。点击页面右上角的添加主机,进入添加主机页面。 2.进入添加主机界面后,填写左侧的主机信息,输入主机IP地址或IP地址段,以及主机root或具有sudo权限账户的密码和SSH连接端口。支持多主机输入,要求登录密码一致。
3.点击下一步后主机信息配置页面的右侧是扫描成功后的主机信息检查情况令。 主机agent建议试使用默认端口,如果存在端口冲突改成不一样的,安装路径默认采用deploy.yml定义的路径,页面也可以重新指定
4.点击提交按钮之后,当前页面可以查看添加主机的进度,点击日志可以查看添加主机的任务日志。当进度完成,状态显示成功,即表示添加主机成功。点击右下角的提交按钮将跳转到第1步的主机列表页面,此时添加成功的主机将出现在该页面。
--主机详情
点击主机名,进入到主机详情界面。
在主机详情界面,可以查看该主机的详细信息,包括:主机基本信息,主机配置信息,主机硬件信息,主机文件系统,网络配置信息。
--主机监控 主机监控使用了折线图来展示当前主机的运行状态,监控首页展示的基本信息有:CPU使用率,内存使用率,网络吞吐量,磁盘吞吐量。 在监控界面的右侧告警,能够看到该主机的相关告警信息,更多告警详细信息查看告警管理模块;点击基本信息右上角的更多监控能够查看其它指标的信息,详细请查看资源监控-->主机监控。
--主机日志分析
在主机详情界面,可以点击日志分析切换到日志分析界面。 常见主机日志有: install_sh.log : 主机安装日志 node_exporter.log : node_exporter收集指标组件日志 promtail.log : promtail收集日志组件日志 ycm-agent.log : ycm-agent日志 ycm-agent-start.log : ycm-agent标准输出日志。 # 点击live模式,可以实时更新日志信息
六、数据库管理
登录YCM平台,进入数据库管理界面,点击YashanDB,选择YashanDB列表可以查看已添加的YashanDB,并对YashanDB进行管理操作。
前置条件:将数据库相关主机添加到YCM,保证添加主机的安装用户和数据库用户一致。可见上文“添加主机”。
--添加YashanDB
YashanDB列表页点击添加YashanDB按钮,即可进入添加数据库界面。
进入OM部署数据库托管页面,填写准备托管到YCM的数据库信息,包括:
数据库名称。
数据库别名(可以为空,当多个数据库名称相同可以使用别名托管)。
数据库SYS密码。
OM所在主机IP地址。
填写完成后点击检查。
检查成功出现YashanDB详情总览信息,确认无误后点击添加数据库。
添加任务完成后,YashanDB列表显示添加的数据库,添加成功。
添加成功数据库后,可以在YashanDB列表页查看数据库的基本信息和运行状态,并且可对整个数据库进行一系列操作:
重启(重启数据库的所有节点)
停止(停止数据的所有节点)
移除托管(将数据库从YCM解除托管,实际上不会删除)
订阅(订阅数据库之后,资源相关的告警消息,资源变动,任务消息都会以站内消息的形式发送给当前用户)
点击数据库名称即可进入YashanDB详情页,YashanDB详情页提供了一系列数据库运维管理功能。
点击【告警监控】进入数据库监控页面
数据库监控同样使用了折线图来展示当前DB的运行状态,监控首页展示的基本信息有:数据库连接数,表空间使用率,磁盘读取次数,磁盘读取时长,缓存命中率,内存读取次数,等待事件数量。
在监控界面的右侧告警,能够看到该DB的相关告警信息,更多告警详细信息查看告警管理模块;点击基本信息右上角的更多监控能够查看其它指标的信息,详细请查看资源监控-->YashanDB监控。
七、个人使用感受
YashanDB个人版安装相对简便快捷,可以实现快速上手。SQL与其他关系型数据库基本相同,有相关使用经验的人员上手也比较容易,语法、语义、PL/SQL以及系统视图与Oracle兼容性很高。
YashanDB监控运维工具也同样简单方便,主机管理及数据库管理参考官方文档可以搞定,主机/数据库层级监控告警指标丰富,可以覆盖日常运维,告警阈值没找到可以自定义的地方,邮件和短信推送告警功能很好用。
笔者之前接触过几类国产数据库,YashanDB在功能和性能上都能称得上一款优秀的数据库管理系统,希望YashanDB在百花齐放的国产数据库中占有一席。