IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 《Kubernetes监控篇:Grafana通过自动化方式添加datasource和dashboard》 -> 正文阅读

[系统运维]《Kubernetes监控篇:Grafana通过自动化方式添加datasource和dashboard》



推荐网站:Grafana官网


一、背景信息

由于业务性质原因,我们需要将业务系统部署在多个客户本地机房,由于客户没有一个统一的监控系统,所以我们需要在客户机房部署监控系统,主要监控主机、接口、端口等方面。

针对业务系统部署及维护场景,我们开发了运维工具,主要包括前期部署、后期维护两大核心要点,监控作为部署环节比较重要的一项指标,所以我们需要将这些监控模块融合到运维工具中,这里的监控系统组件包括:node-exporter+blackbox-exporter+alertmanager+prometheus+grafana。

grafana作为监控组件中比较重要的一个模块,要想实现自动化部署其实是很简单,除了部署完之后还有很多其它操作,比如添加数据源、导入监控模板,这些需要人工手动来操作。如果这些无法实现自动化的话,那么你这个运维工具就很难称得上是自动化工具。

这里就着重介绍一下如何通过自动化的方式来添加datasource和dashboard?


二、操作步骤

方法一:通过http api接口

Grafana http_api

1、创建API令牌

[root@host-sdjw-ansible-client-191 ~]# curl -X POST -H "Content-Type: application/json" -d '{"name":"apikeycurl", "role": "Admin"}' http://lolaage:ZDSstvk1QFWEVOn9@localhost:3000/api/auth/keys
{"id":1,"name":"apikeycurl","key":"eyJrIjoiRVhoREdHR2VFUHNQZ2pvaXd4Z3lac1FpR2NQM2xYRVoiLCJuIjoiYXBpa2V5Y3VybCIsImlkIjoxfQ=="}

说明:将此处返回的密钥保存在您的密码管理器中,因为将来无法再次获取它。
在这里插入图片描述


2、创建数据源,这里里prometheus为例

说明:如果你第一次不知道怎么写,建议你可以在grafana页面上手动添加一个prometheus数据源,通过接口按名称获取单个数据源
在这里插入图片描述

[root@host-sdjw-ansible-client-191 ~]# curl  -H "Authorization: Bearer eyJrIjoiRVhoREdHR2VFUHNQZ2pvaXd4Z3lac1FpR2NQM2xYRVoiLCJuIjoiYXBpa2V5Y3VybCIsImlkIjoxfQ=="  http://localhost:3000/api/datasources/name/Prometheus 

如下图所示:
在这里插入图片描述
返回值如下所示:

{"id":1,"orgId":1,"name":"Prometheus","type":"prometheus","typeLogoUrl":"","access":"proxy","url":"http://192.168.1.191:9090","password":"","user":"","database":"","basicAuth":false,"basicAuthUser":"","basicAuthPassword":"","withCredentials":false,"isDefault":false,"jsonData":{},"secureJsonFields":{},"version":1,"readOnly":true}

说明:上述的返回值,其实就是我们需要创建数据源的核心内容,其实创建prometheus数据源只需要填写几项核心要点就行,当然你也可以将返回结果进行复制,只需将id值和name值进行修改,然后参考如下所示进行执行

[root@host-sdjw-ansible-client-191 ~]#  curl -X POST -H "Content-Type: application/json" -d '{"name":"Prometheus-node","type":"prometheus","url":"http://192.168.1.191:9090","access":"proxy","basicAuth":false}' "http://lolaage:ZDSstvk1QFWEVOn9@127.0.0.1:3000/api/datasources"
或者
[root@host-sdjw-ansible-client-191 ~]#  curl -X POST -H "Content-Type: application/json" -d '{"id":2,"orgId":1,"name":"Prometheus-node","type":"prometheus","typeLogoUrl":"","access":"proxy","url":"http://192.168.1.191:9090","password":"","user":"","database":"","basicAuth":false,"basicAuthUser":"","basicAuthPassword":"","withCredentials":false,"isDefault":false,"jsonData":{},"secureJsonFields":{},"version":1,"readOnly":true}' "http://lolaage:ZDSstvk1QFWEVOn9@127.0.0.1:3000/api/datasources"

执行命令后,可通过页面方式查看数据源是否添加成功

在这里插入图片描述


3、创建dashboard

说明:首先在grafana中通过json model来导出我们的dashboard(带有variable),如下所示:

[root@host-sdjw-ansible-client-191 ~]# curl -H "Content-Type: application/json" -X POST -d @/root/node.json "http://lolaage:ZDSstvk1QFWEVOn9@127.0.0.1:3000/api/dashboards/db"

总结:整理不易,如果对你有帮助,可否点赞关注一下?

更多详细内容请参考:Ansible自动化运维实战

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-06-25 18:26:09  更:2022-06-25 18:29:18 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 14:19:35-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码