ConsulManager应用场景1:如何优雅的基于Consul自动同步ECS主机监控
【ConsulManager介绍】
Consul字段设计说明
- 服务首次启动时会创建一个随机秘钥,存放到consul_kv的
/ConsulManager/assets/secret/skey,该秘钥用于对登录Token,各云厂商账号AKSK的加解密使用。 - 云厂商的每个账号下的ECS实例信息:会存储到Consul的对应Services下的实例中,ECS的实例ID会作为ServiceID。
- 云厂商的每个账号下的AKSK和分组信息:存放到consul_kv的
/ConsulManager/assets下各个云厂商的目录下的aksk(加密存储)和group目录。 - 分组字段:是采集云厂商用于资源分组的字段,阿里云:资源组,华为云:企业项目,腾讯云:所属项目。请在创建云主机时设置好属组。
- 新增的各个云厂商的ECS同步任务:会存放到consul_kv的
/ConsulManager/jobs下,服务启动的时候会加载这些任务。 - 每次同步任务的执行结果:会存储到consul_kv的
/ConsulManager/record/jobs的各个云厂商目录下。 - 新增云厂商的数据源之后会自动同步一次分组信息,ECS信息则会在设置的时间间隔之后才会同步,可以手动点击同步按钮同步一次。
- Linux默认监控node_exporter的9100端口,Windows默认监控windows_exporter的9128端口。
配置说明
1. 新增同步源
- 在Web页面点击
ECS 云主机监控/接入数据源,点击新增同步源,输入各字段: 账户可随意填写,用来区分云厂商不同云账户的标识,支持中文,例如用主账户的名称。- 填写的
AKSK需要有获取ECS的权限以及各云厂商分组信息的权限。(注意:腾讯云的分组信息因为在ECS中没有找到对应接口,是从分布式数据库TDSQL-查询项目列表 (DCDB)的接口中获取的,AKSK需要有对应权限。) - 选择好对应的ECS所在区域(暂支持国内),以及分组与ECS的刷新间隔,确认即可,分组信息会自动同步一次,ECS信息则会在设置的时间间隔之后才会同步,可以手动点击同步按钮同步一次。
2. 查看云主机列表
- 可以点击
查看按钮或者在云主机列表中查看同步后的ECS信息。(华为云暂未获取到ECS到期日信息)
3. 配置Prometheus
- 点击
ECS 云主机监控/Prometheus 配置,根据需要来生产各账号、系统(均支持多选)的Prometheus配置信息,复制配置后,追加到prometheus.yml的末尾,重启Prometheus即可。
4. 查看Prometheus
- 在Prometheus的Web页面中,点击
Status-Targets,能看到新增的Job即表示数据同步到Prometheus。
5. 导入Node Exporter Dashboard
- 更新了主机监控的grafana看板,可匹配自动同步方式采集ECS信息字段的展示。
- 优化了大量图表,使用新版表格重建,新增健康评分概念,并新增了整体资源消耗信息的一些图表。
- 导入ID:8919
- 详细URL:https://grafana.com/grafana/dashboards/8919
注意:
主动关机的ECS,会在同步时候从Consul中清除,即会在Prometheus中去除(减少无效的告警),重新开机后会增加回去。
各ECS的Node_exporter需要自行安装。
【最近7天P99资源使用率】图表需要在Prometheus增加记录规则(采集1小时后出数据):
- name: node_usage_record_rules
interval: 1m
rules:
- record: cpu:usage:rate1m
expr: (1 - avg(rate(node_cpu_seconds_total{mode="idle"}[1m])) by (instance,vendor,account,group,name)) * 100
- record: mem:usage:rate1m
expr: (1 - node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes) * 100
ConsulManager应用场景1:如何优雅的基于Consul自动同步ECS主机监控的更多相关文章
- Prometheus基于consul自动发现监控对象 https://www.iloxp.com/archive/11/
Prometheus 监控目标为什么要自动发现 频繁对Prometheus配置文件进行修改,无疑给运维人员带来很大的负担,还有可能直接变成一个“配置小王子”,即使是配置小王子也会存在人为失误的情况 ...
- 使用Clion优雅的完全远程自动同步和远程调试c++
摘要:在linux上用vim写C++的时候,通常用gdb进行调试,不能随心所欲的看代码和跳转代码以及加watch(也有可能是因为我还没有get正确的使用方法).为此我发现Clion可以做到自动同步本场 ...
- [ python3 ] 基于zabbix 自动抓取每天监控数据
通过python登录到zabbix直接抓取每天的数据的图片趋势图,并制作成静态index.html给与展示并发送提示邮件. 操作系统:Centos6.7 python版本:python3.5 #!/u ...
- 基于Consul的数据库高可用架构
几个月没有更新博客了,已经长草了,特意来除草.本次主要分享如何利用consul来实现redis以及mysql的高可用.以前的公司mysql是单机单实例,高可用MHA加vip就能搞定,新公司mysql是 ...
- 基于Consul的数据库高可用架构【转】
几个月没有更新博客了,已经长草了,特意来除草.本次主要分享如何利用consul来实现redis以及mysql的高可用.以前的公司mysql是单机单实例,高可用MHA加vip就能搞定,新公司mysql是 ...
- 基于HTML5技术的电力3D监控应用(一)
最近参与了国网计量中心的四线一库自动化检定系统的项目开发,团队封闭开发了大半年终于快到尾声了,整个项目过程实在非常累,我的mentor杨杨老师是这样描述的:累的不想说话了.我估计是我太渴望新知识,整天 ...
- 基于Spark自动扩展scikit-learn (spark-sklearn)(转载)
转载自:https://blog.csdn.net/sunbow0/article/details/50848719 1.基于Spark自动扩展scikit-learn(spark-sklearn)1 ...
- 基于consul高可用
1.介绍consul Consul 是一个支持多数据中心分布式高可用的服务发现和配置共享的服务软件,由 HashiCorp 公司用 Go 语言开发, 基于 Mozilla Public License ...
- 一个基于Consul的.NET Leader选举类库
前段时间有传言说Consul将不能在我国继续使用,后被查明是因法律问题Vault企业版产品不能在国内销售.Valut和Consul都是HashiCorp公司的产品,并且都推出了开源版本,继续使用开源版 ...
- 基于 prometheus 的微服务指标监控
基于prometheus的微服务指标监控 服务上线后我们往往需要对服务进行监控,以便能及早发现问题并做针对性的优化,监控又可分为多种形式,比如日志监控,调用链监控,指标监控等等.而通过指标监控能清晰的 ...
随机推荐
- SSM_Spring+SpringMVC+MyBatis学习
没听过的重点部分 springSecurity 4.0开始默认打开_csrf防护,但是会导致403 forbidden问题,所以可以关闭,但是关了就没有csrf防护了 其中还有传递的token和加密的 ...
- 玄机蓝队靶场_应急响应_02:apache日志分析
日志分析这块,感觉都是对grep.awk.sort.wc.uniq,这几个命令的使用. 一:靶场 (1)直接cd到linux日志, cd /var/log 发现apache2目录, cd ./apac ...
- tar 解压文件时提示 Ignoring unknown extended header keyword
在 Linux 上使用 tar 解压文件时出现下列提示: tar: Ignoring unknown extended header keyword 'LIBARCHIVE.xattr.com.app ...
- IDEA - ruoyi - srpingboot - 离线运行
前提:有项目对应的repository文件,RY的DB配置正常(mysql新增schema ry, 执行 /sql下的sql文件,同步调整ruoyi-admin下的application-druid. ...
- 在虚拟机CentOS中安装jdk
公众号本文地址:在虚拟机CentOS中安装jdk 本文主要是记录在CentOS中安装新的JDK的过程. 在虚拟机的centos中安装Jdk主要分为三步,第一步上传jdk文件到centos中,第二步解压 ...
- Codeforces Round 916 (Div. 3) (A~F附带题解和详细思路)
Codeforces Round 916 (Div. 3) (A~E2) A. Problemsolving Log 签到题,对于给出的字符串,用数组记录每个字母出现的次数,然后遍历一边记录数组,如果 ...
- Angular 18+ 高级教程 – Library
前言 当你需要管理超过一个项目时,你就需要知道怎么使用 Angular Library. 你可以把多个项目共享的组件放到这个 Library 了,就像 Angular Material 那样. 参考 ...
- TypeScript – Using Disposable
前言 TypeScript v5.2 多了一个新功能叫 Disposable. Dispose 的作用是让 "对象" 离开 "作用域" 后做出一些 " ...
- Google sheet
最近做比较多 data migration 的东西. 当我们开发一个新的系统去替代一个旧系统时,通常就需要做大量的 migration 动作. 有好几个做法 我之前比较常用的的工具是 sql 和 c# ...
- Naive UI 2.38.1
https://www.naiveui.com/zh-CN/os-theme/docs/i18n 配置字体 Naive UI 可以和 vfonts 配合,你可以简单的引入 vfonts 中的字体,包含 ...