概述
日志服务支持根据仪表盘中的查询图表设置告警,实现实时的服务状态监控。日志服务的告警功能基于仪表盘中的查询图表实现。在日志服务控制台查询页面或仪表盘页面设置告警规则,并指定告警规则的配置、检查条件和通知方式。本文以用户常见的需求:如果某个字段包含某一段固定字符“xxxx”,则告警。介绍整个告警过程的配置实现。
Step by Step
1、日志服务管理控制台创建project 和 logstore
2、配置索引
3、使用Java SDK写入日志,参考链接
import com.aliyun.openservices.log.Client;
import com.aliyun.openservices.log.common.LogItem;
import com.aliyun.openservices.log.exception.LogException;
import com.aliyun.openservices.log.request.PutLogsRequest;
import java.util.Date;
import java.util.Vector;
public class SendDataToLogstore111 {
public static void main(String args[]) throws LogException, InterruptedException {
String endpoint = "cn-beijing.log.aliyuncs.com"; // 选择与上面步骤创建 project 所属区域匹配的
// Endpoint
String accessKeyId = "LTAIOZZg********"; // 使用您的阿里云访问密钥 AccessKeyId
String accessKeySecret = "v7CjUJCMk7j9aKduMAQLjy********"; // 使用您的阿里云访问密钥
String project = "*********"; // 上面步骤创建的项目名称
String logstore = "alarmdemo"; // 上面步骤创建的日志库名称
// 构建一个客户端实例
Client client = new Client(endpoint, accessKeyId, accessKeySecret);
// 写入日志到日志库
String source = "127.0.0.1";//设置本机IP地址做为source
String topic = "topictest";
// 连续发送 10 个数据包,每个数据包有 5 条日志
for (int i = 0; i < 10; i++) {
Vector<LogItem> logGroup = new Vector<LogItem>();
for (int j = 0; j < 500; j++) {
LogItem logItem = new LogItem((int) (new Date().getTime() / 1000));
logItem.PushBack("msg","获取到userId为空第二个 参数是消费者名称:获取到 ERROR为空,UPDATE_Demo同一个dd为空:2DF4K3M,消费组下面的消费者名称必须不同,可以使用相同的消费组名称");
logGroup.add(logItem);
}
PutLogsRequest req2 = new PutLogsRequest(project, logstore, topic, source, logGroup);
client.PutLogs(req2);
}
System.out.println("日志写入成功!");
}
}
4、日志写入效果
5、告警配置
这里以msg字段出现“ERROR”字符进行告警配置演示。
- 5.1 测试查询语句
- 5.2 配置告警
- 5.3 告警列表查看
- 5.4 邮箱查看