使用准备

    • 数据库状态正常,并且用户已将数据目录写入环境变量,并以PGDATA命名。
    • Python版本建议为Python3.6及以上,且运行环境中已经安装相应依赖,并能够正常启动调优程序。
    • 本工具由Agent和Detector组成,Agent和Detector之间通过’http’或者’https’方式传递数据,因此需要保证Agent服务器和Detector服务器之间能够正常通信。
    • Detector模块运行server和monitor服务, 需要分别启动。
    • 如果使用’https’方式进行通信,需要准备CA证书以及Agent和Detector的证书和密钥,并分别放入项目根目录certificate下的ca、agent、server中,同时将密钥加密密码放入certificate的pwf中,并将其权限设置为600,防止其他用户进行读写操作。用户也可以使用share中的脚本生成证书和密钥。

    图1 anomaly_detection结构图

    anomaly_detection是一个独立于数据库内核之外的工具,其结构如图1所示,anomaly_detection主要由agent和detector模块组成:

    • agent:数据代理模块,由Source、Channel以及Sink组成。部署在数据库环境上的,用于采集数据库中的指标,并通过http或者https方式将其传送给远端检测器模块。
    1. 在当前目录下可以看到 requirements.txt 等文件,通过pip包管理工具根据该 requirements.txt 文件安装依赖:

    2. 安装成功后可执行main.py. 以获取帮助信息为例,则可以执行:

    a-detection.conf:该配置文件包含agent、server、database、security、forecast、log六个section,参数解释如下:

    metric_task.conf:该配置文件包含所有监控指标的参数,以disk_space为例: