阿里云 ElasticSearch¶
阿里云 ElasticSearch 指标展示,包括集群状态、索引 QPS、 节点 CPU/内存/磁盘使用率等。
配置¶
安装 Func¶
推荐开通 观测云集成 - 扩展 - 托管版 Func
如果自行部署 Func 参考自行部署 Func
开通脚本¶
提示:请提前准备好符合要求的阿里云 AK(简单起见,可直接授予全局只读权限
ReadOnlyAccess)
托管版开通脚本¶
- 登陆观测云控制台
- 点击【集成】菜单,选择【云帐号管理】
- 点击【添加云帐号】,选择【阿里云】,填写界面所需的信息,如之前已配置过云帐号信息,则忽略此步骤
- 点击【测试】,测试成功后点击【保存】,如果测试失败,请检查相关配置信息是否正确,并重新测试
- 点击【云帐号管理】列表上可以看到已添加的云账号,点击相应的云帐号,进入详情页
- 点击云帐号详情页的【集成】按钮,在未安装列表下,找到阿里云 ElasticSearch,点击【安装】按钮,弹出安装界面安装即可。
手动开通脚本¶
- 
登陆Func 控制台,点击【脚本市场】,进入观测云脚本市场,搜索: integration_alibabacloud_elasticsearch
- 
点击【安装】后,输入相应的参数:阿里云 AK ID 、AK Secret 及账户名。 
- 
点击【部署启动脚本】,系统会自动创建 Startup脚本集,并自动配置相应的启动脚本。
- 
开启后可以在「管理 / 自动触发配置」里看到对应的自动触发配置。点击【执行】,即可立即执行一次,无需等待定期时间。稍等片刻,可以查看执行任务记录以及对应日志。 
验证¶
- 在「管理 / 自动触发配置」确认对应的任务是否已存在对应的自动触发配置,同时可以查看对应任务记录及日志检查是否有异常
- 在观测云,「基础设施 / 自定义」中查看是否存在资产信息
- 在观测云,「指标」查看是否有对应监控数据
指标¶
配置好阿里云-云监控,默认的指标集如下, 可以通过配置的方式采集更多的指标 阿里云云监控指标详情
| Metric Id | Metric Name | Dimensions | Statistics | Unit | 
|---|---|---|---|---|
| ClusterAutoSnapshotLatestStatus | 快照状态 | userId,clusterId | Maximum | value | 
| ClusterIndexQPS | 集群写入QPS | userId,clusterId | Average | Count/Second | 
| ClusterQueryQPS | 集群查询QPS | userId,clusterId | Average | Count/Second | 
| ClusterStatus | 集群状态 | userId,clusterId | Value,Maximum | value | 
| NodeCPUUtilization | elasticsearch实例节点CPU使用率 | userId,clusterId,nodeIP | Average,Maximum | % | 
| NodeDiskUtilization | elasticsearch实例节点磁盘使用率 | userId,clusterId,nodeIP | Average,Maximum | % | 
| NodeHeapMemoryUtilization | elasticsearch实例节点HeapMemory使用率 | userId,clusterId,nodeIP | Average,Maximum | % | 
| NodeLoad_1m | 节点Load_1m | userId,clusterId,nodeIP | Average | value | 
| NodeStatsDataDiskR | 每秒完成的读请求数量 | userId,clusterId,nodeIP | Maximum | count | 
| NodeStatsDataDiskRm | 每秒钟读取的大小 | userId,clusterId,nodeIP | Maximum | MB/s | 
| NodeStatsDataDiskUtil | IOUtil | userId,clusterId,nodeIP | Maximum | % | 
| NodeStatsDataDiskW | 每秒完成的写请求数量 | userId,clusterId,nodeIP | Maximum | count | 
| NodeStatsDataDiskWm | 每秒钟写入的大小 | userId,clusterId,nodeIP | Maximum | MB/s | 
| NodeStatsExceptionLogCount | Exception次数 | userId,clusterId,nodeIP | Maximum | Count | 
| NodeStatsFullGcCollectionCount | FullGc次数 | userId,clusterId,nodeIP | Maximum | Count | 
| NodeStatsNetworkinPackages | 节点网络流入包 | userId,clusterId,nodeIP | Maximum | count | 
| NodeStatsNetworkinRate | 数据流入率 | userId,clusterId,nodeIP | Maximum | kB/s | 
| NodeStatsNetworkoutPackages | 节点网络流出包 | userId,clusterId,nodeIP | Maximum | count | 
| NodeStatsNetworkoutRate | 数据流出率 | userId,clusterId,nodeIP | Maximum | kB/s | 
| NodeStatsTcpEstablished | 节点TCP链接数 | userId,clusterId,nodeIP | Maximum | count | 
对象¶
采集到的阿里云 ElasticSearch 对象数据结构, 可以从「基础设施-自定义」里看到对象数据
{
  "measurement": "aliyun_elasticsearch",
  "tags": {
    "RegionId"       : "cn-hangzhou",
    "esVersion"      : "7.4.0_with_X-Pack",
    "instanceId"     : "es-cn-xxxx",
    "name"           : "es-cn-xxxx",
    "paymentType"    : "prepaid",
    "resourceGroupId": "rg-acfm2l3p7xxxx",
    "serviceVpc"     : "True",
    "status"         : "active"
  },
  "fields": {
    "advancedDedicateMaster": false,
    "createdAt"             : "2021-04-07T06:10:50.527Z",
    "extendConfigs"         : "[ {集群扩展参数配置 JSON 数据}, ...]",
    "message"               : "{实例 JSON 数据}"
  }
}
日志¶
前提条件¶
提示1:使用本采集器前,必须安装「观测云集成 Core 核心包」及其配套的第三方依赖包 提示2:本脚本的代码运行依赖 mongodb 实例对象采集,如果未配置 mongodb 的自定义对象采集,慢日志脚本无法采集到慢日志数据
安装脚本¶
在之前的基础上,需要再安装一个对应 elasticsearch 日志采集的脚本
在「管理 / 脚本市场」中点击并安装对应的脚本包:
- 「观测云集成(阿里云-ElasticSearch采集)」(ID:integration_alibabacloud_elasticsearch_log)
数据上报格式¶
数据正常同步后,可以在观测云的「基础设施-自定义对象」中查看数据。
上报的数据示例如下:
{
  "measurement": "aliyun_elasticsearch_log",
  "tags": {
    "RegionId"       : "cn-hangzhou",
    "esVersion"      : "7.10.0_with_X-Pack",
    "host"           : "10.14.xxx.xxx",
    "instanceId"     : "es-cn-xxxx",
    "name"           : "es-cn-xxxx",
    "paymentType"    : "prepaid",
    "resourceGroupId": "rg-aekzkcwe4dxxxx",
    "serviceVpc"     : "True",
    "status"         : "active"
  },
  "fields": {
    "timestamp"        : 1684304299000,
    "contentCollection": "[ {日志详细信息 JSON 数据}, ...]",
    "message"          : "{实例 JSON 数据}"
  }
}
log_types(日志类型)赋值含义:
| 取值 | 说明 | 
|---|---|
| INSTANCELOG | 主日志 | 
| SEARCHSLOW | searching慢日志 | 
| INDEXINGSLOW | indexing慢日志 | 
| JVMLOG | GC日志 | 
| ES_SEARCH_ACCESS_LOG | ES访问日志 | 
| AUDIT | 审计日志 | 
注意:
tags、fields中的字段可能会随后续更新有所变动 提示1:tags.name值为实例 ID,作为唯一识别 提示2:fields.message为 JSON 序列化后字符串