在监控系统体系里,grafana相信大家都是听说过的,grafana将我们的监控数据以大屏的形式直观的展示出来,作为一个喜欢折腾linux的我来说,自从grafana开源套件的出现,他的展示直观、配置轻便、功能强大、界面科幻一直是吸引我的地方。当grafana服务运行之后,只需要在web界面中进行配置即可。
阿里云发布的grafana托管服务,更是为云上的资产提供了高效的监控数据可观测能力。阿里云grafana弹性、免运维,可以方便的对接云上云下的各种数据源。
一、启用创建Grafana服务
在grafana服务进行下单,需要填入【工作区名称】与【Admin密码】
阿里云grafana托管服务,可使用的用户可以通过阿里云账户进行单点登录转跳,也可以通过管理员账户admin完成登陆
完成grafana专家版服务的创建
点击ID,进入工作区管理界面,此处可以看到grafana的连接信息,这个url就是我们访问grafana的地址,下方提供了云服务集成。
访问连接信息,即可访问grafana的主页
二、手动添加数据源,对ECS云服务器进行监控可观测性的实现
我手上刚好有四台ECS资源,这里就对ECS云服务进行一个监控数据展示的配置。对ECS的监控数据源配置有几种,包括【企业云监控】、【Prome云监控探针到ECS】等,这里针对我个人没有那么多云资产的情况,就使用【aliyun-cms数据源插件】完成grafana到云监控数据源的配置。
1.手动配置云监控数据源插件
在【Configuraion】下,点击【Data sources】,此处可以手动添加数据源
点击【Add data source】
阿里grafana提供了多种数据源接入,此处我们选择【CMS Grafana Service】,点击【Select】
配置【Aliyun UserId】输入用户ID、【AccessKeyId】、【AccessKey】,点击【Save&test】进行保存与测试连接
OK,我们的信息么问题,提示数据源工作了
完成了对云监控数据的手动添加,此时cms显示default默认数据源
2.完成Dashboard展示面板的创建
先看一下我的四台ECS在云监控下的情况,所有主机监控正常,插件运行中
在grafana上选择【+】,create创建【Dashboard】
在dashboard页面点击【Add panel】新建面板
这里测试举例几种面板的形式,可能观测的内容和展示的方式不太合适,这个见仁见智咯
【Time series时序图】ECS的CPU使用率展示
进入面板的新建,这里我们的data source数据源是默认的cms,即为云监控的数据。
【Namespace】选择acs_ecs_dashboard,为ECS的相关监控
【Metric】选择cpuutilzation,为CPU使用率
【Dimensions】选择需要展示的ECS云服务器实例
【Y-column】选择Average平均值,当然也有最大值max与最小值min
【X-column】默认timestamp
右侧为面板的相关配置,这里我修改了【Title】标题,完成配置点击右上角【Apply】
所有需要配置的几项参数,都会自动展开或补全
【Namesapce】:监控的云服务
【Metric】:监控指标
【Period】:同步周期
【Group】:云监控分组
【Dimensions】:展示实例
这里的【Metric】监控指标,可以在云监控的文档中找到参照
监控项说明-指路:https://help.aliyun.com/document_detail/43505.html
面板完成创建可执行修改编辑,导出删除等
【Gauge仪表盘】ECS的磁盘写入IOPS展示
【Metric】选择DiskWriteIOPS,为所有磁盘写IOPS
其他配置参照之前
【Stat状态阈值图】ECS的TCP连接数展示
【Metric】选择net_tcpconnection,为TCP连接数
其他配置参照之前
这里我对面板属性【thresholds】进行了配置,对各个阶段的数值区分颜色,可设定固定值也可百分比
【Bar gauge】ECS的内存用率展示
【Metric】选择memory_usedutilization,为内存使用率
其他配置参照之前
这里我对面板属性【orientation】进行了配置,调整了水平条的方向为纵向
完成了需要展示的面板配置,这就是整个dashboard的展示效果
当然可以折腾更多监控类型,这里就简单展示几项。
与云监控里的主机监控提供了监控相比,是不是更好看了,更高大上了,更直观了,也可以我们自己定义更多的监控项目了!好东西哇
二、其他数据源的接入(举例)
阿里云的接入不仅仅是云监控,更多应用层面的监控,集群层面的监控。。。grafana支持更多的数据源进行接入。我这里再举例两种不同类型接入方式
1.通过ARMS下的Prometheus实例
Prometheus是一种多维度的系统监控与报警系统,同时阿里云的ARMS提供了各种颗粒更加细化的应用级别监控。这里我们继续将prome实例接入ECS集群,将prome监控系统作为数据源集成到grafana
在ARMS的控制台,新建Prometheus实例,选择【for VPC】接入ECS集群
选择VPC并配置安装信息
完成VPC接入,就可以对不少应用与服务环境进行监控,这里我就不多配置了。
回到grafana的控制台,就可在下方【云服务集成】中的【Prometheus服务】找到接入的VPC,点击同步确认即可
完成同步后,grafana界面中数据源出现prome的对接信息
同时系统自动创建一个prome的文件夹,可以在这个文件夹下创建相关dashboard,分门别类管理
2.打通VPC对接自建的数据源
数据源除了对接云服务,也可对接企业自建的监控系统,获取数据源。通过VPC内网获取数据源,可灵活利用原有的监控系统,降低成本,也可以减少来自公网的攻击。这里我假设我的监控系统数据在内网ECS的Mysql数据库中,对接一下内网的数据库服务。
在grafana控制台里,选择【VPC数据通道管理】,点击【安装数据源通道】
选择好【区域】,【VPC】,【交换机】,我这里就选择了与ECS云服务器同一VSW。完成点击【安装】
此时回到grafana,点击【DataSource】,选择【MySQL】
这里就可以选择刚刚添加的VPC通道,手动配置数据库用户连接信息即可
点击下方【Save & test】保存配置并且测试,这里回显已经完成数据库的连接测试,ok
完成数据源的添加,创建面板时就可以选择相对应的数据源
阿里云作为国内可观测的引领者,没有采用完全保姆式闭源的产品去实现,而是采用了对接多种云上\云下,自研\开源的各种方式实现云上的可观测服务落地,对待用户原有的监控方案有不错的兼容。