使用aws云数据库,慢sql直接接到cloudwatch,不过aws自带的工具要做到实时告警,需要自己把慢日志输出到流,然后写脚本处理不同格式的日志,然后使用sns发送告警,整个过程比较复杂。
#!/usr/bin/env bash #取最近1min cloudwatch 慢日志 logs="/aws/rds/instance/pro-xxx-pg-collections/postgresql" /root/.pyenv/shims/awslogs get $logs --start=‘1min ago‘ >> /data/awsrds_logs/pg_rds_slow.log
使用awslog这个工具就可以实时拉cloudwatch里面的慢日志,加到crontab,一分钟执行一次,然后接到阿里云的日志服务,就可以几乎实时告警了。
mongo:
postgres:
类似这样,阿里云的日志服务还是挺方便的,价格也便宜,使用也简单。