数据库agent

网友投稿 359 2023-11-27

其实这个已经没什么好说的了,一般的数据库管理都有agent,每个人有每个人的需求,可能做的也都不太一样。这个东西面试时候也没什么好问的吧,也不是纯小白,稍微管理过一些数据库的都有这个需求,只不过集群量大小问题,大的集群可能会有些特殊需求

数据库agent

我的观点是一切涉及数据库的手工操作,都通过agent执行,dba不直接操作数据库,所有外围其他系统,都是通过调用接口通过agent操作数据库,所以agent应该是all in one的东西,所有的运维脚本,监控分析脚本全部整合到agent中,尽可能的整合,不存在其他单独的脚本。

工单的执行和高可用是相对独立的系统,目前还没法统一走agent。

我的agent功能:

1 配置文件中设置数据库类型,连接信息。

     todo 现在的数据库信息是写在文件中,应该修改成自动发现的方式,不需要配置,链接信息密码的安全性需要更改。

2 收集数据库的信息

    上传实例信息,参数设置,状态,主从关系等,表大小信息,磁盘使用信息 ,数据库大小,表大小,分区表信息,没有主键的表,非innodb表,集群拓扑等,当然你的大事务监控,锁等待告警,对比实例参数与文件参数区别。现在的任务分类只分了,频繁执行和非频繁执行任务,结果上传可以上传到接口或保存到数据库中。

 后续改进,服务侧设置每个收集任务的策略,可以设置收集或停止收集,设置每个任务的上传方式

3 os 信息收集

 是否开启swap ,raid卡信息,fs 文件系统信息,numa设置,os脏页设置

4 数据库实例的操作,提供对应的接口

    实例的安装,启动,停止,升级,清理,复制启停,查看复制状态,设置主从关系,获取版本信息,清理日志,查看error log,等所有的日常运维命令,都可以通过接口进行远程执行。

5 限制资源使用,cpu使用,内存使用。

 限制agent资源使用,目前主要是cpu,memory使用限制,可以方便添加其他限制。

6备份恢复

 后端设置备份策略,agent获取备份策略,开始本地执行备份任务,以及自动恢复实例任务

7监控告警的部署

定期检测告警是否设置,工作是否正常,对于新的实例,在创建后,自动添加监控告警agent。

8binlog relaylog 获取到本地进行解析处理

服务端功能:

1 根据agent上传的内容,进行统计告警,参数设置,集群拓扑结构等

2 设置备份策略,信息收集上传策略

3 调用agent接口,操作agent

4 维护cmdb表结构信息。

5 集群的安装部署,通过接口的方式调用实例的创建,复制关系的设置

agent封装的操作

The commands are listed below.   install <role>   start   shutdown   upgrade   version   startslave   stopslave   stopio   stopsql   startio   startsql   restartslave   isreadonly   setreadonly   setwriteble   showslavestatus   showmasterstatus   kill <id>   backup   backuptables <tables>   flushlogs   purgelogs <toLog>   waitutil <targetgtid>   setreplpos <pos>   changemaster <master>,<port>   delayrepl <seconds>   filterrepl <replicationdb>   removefilter <>   utilsqlafter <targetgtid>   showblock   showprocesslist   showbigtrx   showmaster   showslaves   showmasterstatus   showerror   showrole   showvar <pattern>   setvar <name>,<value>   comparevar   showlogs   showos   showerrant   showdbs   showusers   showgrant <user>   createdb <dbname>,<rw_net>,<ro_net><owner><product>   dropdb <dbname>   grant <user>,<db>,<privileges>,<nets>   parsebinlog <logfile>,<startTime>,<endTime>   execute <sqlfile>   skipgtid <gtid>   initos   search

来自 “ ITPUB博客 ” ,链接:http://blog.itpub-/25719946/viewspace-2852120/,如需转载,请注明出处,否则将追究法律责任。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:mysql有user表吗
下一篇:mysql中的where关键字如何使用
相关文章

 发表评论

暂时没有评论,来抢沙发吧~