企业培训师资格证报考2022,网站建设推广优化有哪些基本方法,北京网站建设百度排名,网站项目实施方案基本介绍
Grafana#xff1a;一个监控仪表系统#xff0c;可以根据提供的监控数据#xff0c;生产可视化仪表盘#xff0c;同时也具有告警通知功能。这里的监控数据来源#xff0c;目前主要以Prometheus为主#xff08;也支持其它数据源#xff09;#xff0c;每次展现…基本介绍
Grafana一个监控仪表系统可以根据提供的监控数据生产可视化仪表盘同时也具有告警通知功能。这里的监控数据来源目前主要以Prometheus为主也支持其它数据源每次展现仪表盘时都会向Prometheus服务发送一个查询请求从而拿到监控数据并构建可视化仪表盘。
Prometheus主要负责存储和查询数据并对Grafana的请求进行响应。
Prometheus如何采集数据
有两种方式pull以及push
pull主动拉取被监控机器需安装各类exporter监控插件:node_exporter、mysql_exporter等exporter以守护进程的方式运行进行自动采集并将数据返回给prometheus。
push被动推送安装pushgateway然后将数据组织成key value形式的metrics发送给pushgateway然后再由pushgateway推送给Prometheus。
exporter的下载与使用
本文以node_exporter监控两台linux机器为例子可以在官网进行下载。地址Download | Prometheus
找到我们需要的node_exporter进行下载。
下载完成后在linux服务器输入rz将安装包上传至服务器然后对其进行解压。
tar xf node_exporter-1.7.0.linux-amd64.tar.gz -C /usr/local/ #解压至指定路径下
mv /usr/local/node_exporter-1.7.0.linux-amd64/ /usr/local/node_exporter #重命名
解压完毕后会发现有一个node_exporter可执行程序我们可以在后面加上--help查看其语法也可直接运行默认监听9100端口。
由于要求它在后台运行这里为了方便推荐一款工具screen,直接yum install -y screen进行下载即可。下载完成后输入screen会进入后台然后运行node_exporter,紧接着按住ctrlad即可退出screen。输入screen -ls可以查看以该方式运行的程序 同理由于我们演示监控两台机器所以我们在另一台被监控机器进行上述操作。
Prometheus与Grafana的下载与使用
这里为了方便我们直接以docker容器方式进行运行。有关docker下载相关在前文[点击跳转]。这两个安装在哪里都可以。
#不指定tag时会自动拉取最新版本镜像
docker pull prom/prometheus
docker pull grafana/grafanadocker run -d --name prometheus -p 9090:9090 prom/prometheus #启动prometheus
docker run -d --name grafana -p 3000:3000 grafana/grafana #启动grafana将exporter添加到prometheus服务
接下来我们将exporter添加到promtheus服务我们直接输入如下指令
docker exec -it -u root prometheus sh #以root身份进入prom容器内部
打开其配置文件并添加服务
vi /etc/prometheus/prometheus.yml
完毕后保存并退出同时重启容器使配置生效
接下来我们可以在浏览器通过ip端口访问prometheus服务此时我们可以看到我们监控的两台linux服务。同理也可以监控其它服务如mysql、redis、elasticsearch等 当然我们也可以输入一些promQL语句进行查询监控数据
Grafana展示数据
为了使数据更加直观的展示我们可以用Grafana来实现通过ip端口访问grafana服务默认初始账号与密码都是admin登陆后会要求重置密码 进去后添加数据源 这里的地址填写我们的prometheus地址即可这里我是部署在47.99.141.178机器上。
接下来我们就可以创建仪表盘了可以自己创建也可以直接导入模板使用这里先演示直接导入模板使用 最后点击import导入即可。
Grafana制作面板
有时候仅仅依靠模板是无法满足实际业务需求所以也需学会如何自己来制作面板。我们点击新建仪表盘 点击后选择prometheus数据源此时会出现如下界面 Panel options模块
Tooltip模块
Legend模块
Axis模块 Graph styles模块
Standard options模块
Data links这块不咋使用这里也不做讲解
Value mappings模块
Thresholds模块
制作完毕后保存即可可以点击add选项继续在仪表盘中添加相应面板。
面板的样式是非常多的可以根据需求制作相应样式的面板。
变量的设置
我们还可以在仪表盘中添加一些变量这就类似于我们在写代码时使用变量避免将代码写死。
在设置完毕变量后我们就可以在我们的promQL语句中通过$进行使用了。 将Grafana嵌入前端页面
我们可以通过使用iframe标签将制作的grafana面板嵌入前端页面
如下所示,src中填入上方url
!DOCTYPE html
htmlbodyh1grafana_test/h1iframesrchttp://47.99.141.178:3000/d/cba6fca4-090c-415e-8394-d2f42d4cde63/new-dashboard?orgId1from1706234620306to1706256220307width1250height850frameborder0/iframe/body
/html不过grafana默认是关闭通过iframe嵌入的所以我们需要进入grafana容器找到grafana.ini文件
docker exec -it -u root grafana bash # 以root身份进入grafana容器
vi打开后,找到allow_embedding设置将其改为true此时可以通过iframe进行嵌入到其它页面但是会进行登录验证要关闭登录验证将 [auth.anonymous]中的enabled 设置也改为true。 注意将前面的;也要去掉
保存退出后重启grafana容器即可。
此时就实现了嵌入到前端页面功能并且去除了登录验证。此时的grafana面板是没有edit编辑功能的