云优cms采集(阿里云监控为云上用户提供开箱即用手写前端(组图))
优采云 发布时间: 2021-10-26 19:27云优cms采集(阿里云监控为云上用户提供开箱即用手写前端(组图))
前言
对于阿里云用户来说,阿里云监控是一款非常不错的产品。首先,在配额内可以免费使用!免费!免费!重要的事情说三遍。其功能与zabbix类似,但提供的监控项比zabbix更多。基本上可以通过云监控实时监控云上使用的资源。并且提供开箱即用的方式,自然整合云资源,提供多种报*敏*感*词*式,免去监控报警系统的繁琐搭建和维护,减少资源消耗,比购买ECS少并自己构建 zabbix。消耗大量资源。同时,阿里云监控和阿里云的其他服务一样,还提供了比较完善的OpenApi和各种语言的SDK,可以基于阿里云的OpenApi与自己的系统集成。之前我们是这样做的,但是随着监控项的增加以及办公室经常需要监控的特殊监控页面,我们运维工程师使用vue的写入速度明显跟不上,页面是漂亮程度也差了很多。
手写前端VS Grafana
虽然手写前端的可定制性更强,但是调试起来还是需要很多功夫的。对于运维人员来说,连运维开发都太多了(前端小哥和*敏*感*词*姐不会帮你的,下图是我拍的我去年写的vue写的伪Grafana展示页面,花了大约一周调整这些前端元素)。
Grafana标准化程度高,陈列更符合大众审美。一些定制需求可以通过定制DataSource或AJAX插件的iframe模式来完成。后端DataSource的开发绝对没有前端调整css那么痛苦和耗时。这样一个页面的整体配置和开发,可能只需要一个人日就可以完成。新产品上线时,搭建专门的监控展示页面更快,几分钟就可以完成。
关于阿里云监控
云监控(CloudMonitor)是一项监控阿里云资源和互联网应用的服务。
云监控为云用户提供开箱即用的企业级开放式一站式监控解决方案。涵盖IT基础设施基础监控、外网质量拨号监控、基于事件、自定义指标、日志的业务监控。为您提供更高效、更全面、更划算的全方位监控服务。通过提供跨产品、跨地域的应用分组管理模型和告警模板,帮助您快速构建高效的监控告警管理系统,支持数十种云产品,管理数万个实例。通过提供 Dashboard,它可以帮助您快速构建自定义业务监控市场。使用云监控不仅可以帮助您增加系统服务的可用时间,
云监控服务可用于采集获取阿里云资源监控指标或自定义监控指标,检测服务可用性,并为指标设置告警。让您全面了解阿里云的资源使用情况、业务运行状态和健康状况,及时响应异常告警,保障应用的顺利运行。
关于 Grafana
Grafana 是一个跨平台的开源测量分析和可视化工具。您可以查询和可视化采集的数据,并及时通知您。由于Cloud Monitoring的Grafana不支持告警,这里我们只使用Grafana的可视化功能,而且告警本身是Cloud Monitoring内置的,所以不需要依赖Grafana来实现。而且我们的 Prometheus 也使用 Grafana 进行数据可视化,所以有现成的 Grafana-Server 可以使用。
阿里云监控和Grafana
首先,Grafana服务的部署方法这里就不介绍了。请使用较新版本的 Grafana,最好是 5.5.0+。下面的文章中还有我开源的基于阿里云监控的Grafana helm chart,可以使用helm安装,会直接导入云监控指标,后面会介绍。
安装阿里云监控插件
进入插件目录进行安装
cd /var/lib/grafana/plugins/
git clone https://github.com/aliyun/aliyun-cms-grafana.git
service grafana-server restart
如果使用docker或者在k8s集群中部署,也可以在Grafana部署时使用环境变量进行安装
...
spec:
containers:
- env:
- name: GF_INSTALL_PLUGINS # 多个插件请使用,隔开
value: grafana-simple-json-datasource,https://github.com/aliyun/aliyun-cms-grafana/archive/master.zip;aliyun-cms-grafana
...
也可以下载aliyun-cms-grafana.zip插件并解压,上传到服务器Grafana的plugins目录下,重启grafana-server即可。
配置云监控数据源 Grafana启动后,进入Configuration页面,选择DataSource Tab页面,点击右上角添加数据源,添加数据源。选择 cms Grafana 服务并单击选择。
填写配置项,URL根据云监控位置填写,填写阿里云账号的accessKeyId和accessSecret,完成后点击Save&Test。
创建Dashboard,点击Create -> Dashboard -> Add Query配置图标,选择之前添加的cms Grafana Service作为数据源,然后在文档中的配置项中填写指标(这里注意,云监控API只返回实例ID,没有自定义实例名称,需要在Y列describe中手动填写;且仅支持单个维度,如果输入多个维度,第一个是默认选择的。这是由于这些问题。出于我后续开发cms-grafana-builder的动机)。
配置参考云产品监控项,
使用 Helm Chart 部署 Grafana
项目地址:
cms-grafana-builder
由于上述问题,我们需要手动选择每个实例ID到Dimension中,还要在Y列describe中输入实例名称,非常繁琐,无法大量输入。
这就是我开发这个 Grafana 指标参数*敏*感*词*的原因。一开始只是一个python脚本,把我们要监控的指标组装成一个可以使用的Grafana json文件,然后结合Grafana的容器化部署方式,就做成了一个helm chart。启动时可自动生成所需参数,所有指标每日更新,无需每次新购买或发布资源时都运行脚本。
部署
只需拉下项目并运行 helm install 命令
helm install my-release kk-grafana-cms \
--namespace {your_namespace} \
--set access_key_id={your_access_key_id} \
--set access_secret={your_access_secret} \
--set region_id={your_aliyun_region_id} \
--set password={admin_password}
更多详情请参考github README,欢迎提交issue交流。
索引选择
部署成功后可以修改ConfigMap:grafana-cms-metric,然后修改相应的监控指标。
影响
电子控制系统:
RDS:
电子工业园区:
Redis:
后记
为了满足公司的需求,我们还将为公司的大屏显示器开发定制的DataSource部分。这部分是另外一个项目,不在这个项目中,就不赘述了,以后有机会再总结分享。