配置审计(Config)变配报警设置
简介: 本文作者【紫极zj】,本篇将主要介绍通过配置审计的自定义规则等服务,对负载均衡进行预警行为的相关介绍。
前言
配置审计(Config)将您分散在各地域的资源整合为全局资源列表,可便捷地搜索全局资源,并通过规则对资源配置进行评估,过滤出不符合业务要求的资源变配操作。
负载均衡(SLB)变配进行报警,帮助企业快速感知变配内容并及时做出相应对策。
背景
负载均衡(SLB)+关系型数据库RDS,每天都担心核心服务异常变配导致业务中断,希望变配后及时收到消息通知,想问问有没有什么方案。
日志服务(SLS)的报警。那这个产品组合是如何实现以上目标的呢?
流程图
日志服务(SLS)中。日志服务通过配置告警策略,触发告警并通知管理员。
日志服务(SLS)查看资源具体的配置变更信息。
新建一个日志库(logstore)
日志服务的文档进行操作。
本案例对应的日志项目为: aliyun-fc-cn-hangzhou-26064c43-65dc-5734-8175-3c0fdfc784df
,日志库为: specific-config-alert
。
新建函数计算(FC)的函数
函数计算(FC)实现的。函数所属的地域是不受限制的。本案例选择地域为华东1(杭州)。
我是基于 alimebot-nodejs
模板创建的函数。
我们在 ConfigService
这个服务下面新建一个名为 specific-config-change-alert
的函数。
函数的内部的业务逻辑,我们进行如下设计:
- 支持用户额外指定一个参数
arn
,方便我们对某一个特定的资源进行报警;如果不指定arn
,则表示对该类型的资源变更都进行告警; - 调用日志服务(SLS)的SDK,将日志存入日志库(logstore);
代码逻辑如下
const ALY = require('aliyun-sdk'); // 日志服务Nodejs SDK
exports.handler = function (event, context, callback) {
const sls = new ALY.SLS({
"accessKeyId": context.credentials.accessKeyId, //阿里云访问密钥AccessKey ID。更多信息,请参见访问密钥。阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维。
"secretAccessKey": context.credentials.accessKeySecret, //阿里云访问密钥AccessKey Secret。
"securityToken": context.credentials.securityToken, //RAM角色额外输入的securityToken
endpoint: 'http://cn-hangzhou.log.aliyuncs.com', //日志服务的域名。更多信息,请参见服务入口。此处以杭州为例,其它地域请根据实际情况填写。
apiVersion: '2015-06-01' //SDK版本号,固定值。
});
// -------------------------------
// put logs
// -------------------------------
const projectName = "aliyun-fc-cn-hangzhou-26064c43-65dc-5734-8175-3c0fdfc784df"; //刚刚创建的日志项目
const logStoreName = "specific-config-alert"; //刚刚创建的日志库
const parsed = JSON.parse(event); //将入参转化为js对象
if (!parsed || !parsed.invokingEvent) { //配置审计调用时传入的参包含: invokingEvent(变更数据), ruleParameters(函数规则额外传入的用户自定义参数), resultToken
callback(null, event);
return;
}
const specificArn = parsed.ruleParameters && parsed.ruleParameters.arn; //函数规则允许用户传入的自定义的资源arn
const transformData = Object.keys(parsed.invokingEvent).map(function(k) { return { key: k, value: JSON.stringify(parsed.invokingEvent[k])}});
// 日志服务需要的格式
const logGroup = {
logs : [{
time: Math.floor(new Date().getTime()/1000),
contents: transformData
}],
topic: 'special-config-change'
};
const resourceArn = parsed.invokingEvent && parsed.invokingEvent.
相关推荐
- 配置审计(Config)变配报警设置
- Nginx+tomcat 负载均衡 1.nginx配置完毕之后添加请求分发功能,但是访问nginx对应的机器之后失效并未出现请求转发 问题原因: 已确认本地防火墙已关闭,后经过一番查询之后,是因为Selinux。 SeLinux是2.6版本的Linux系统内核中提供的强制访问控制(MAC)系统。算是内置的安全系统,防火墙什么的应该算是外配的。 So:解决方法 1.关闭SeLinux 1.临时关闭(不用重启机器): setenforce 0 ##设置SELinux 成为permissive模式 ##setenforce 1 设置SELinux 成为enforcing模式 2.修改配置文件需要重启机器: 修改/etc/selinux/config 文件 将SELINUX=enforcing改为SELINUX=disabled 重启机器即可 3.执行下面的命令 setsebool -P httpd_can_Net
- OpenMP入门教程
- Hologres如何支持亿级用户UV计算 背景介绍 Apache Kylin与Hologres的对比 使用Hologres方案的收益:实时、灵活、简单 如何从Kylin迁移到Hologres 实现原理 迁移可累加指标 迁移不可累加指标(精确去重场景) 参考文档