前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Centos 7.x Docker安装prometheus和grafana

Centos 7.x Docker安装prometheus和grafana

作者头像
xdd
发布2022-07-12 14:29:23
7890
发布2022-07-12 14:29:23
举报
文章被收录于专栏:java技术鸡汤java技术鸡汤

Centos 7.x Docker安装grafana和prometheus

一、Centos7.x安装docker

执行如下命令:

yum install -y docker-io

二、Docker安装node-exporter

执行如下命令:

docker pull prom/node-exporter

效果:

三、Docker安装prometheus

执行如下命令:

docker pull prom/prometheus

效果:

四、Docker安装grafana

执行如下命令:

docker pull grafana/grafana

效果:

五、启动Node-exporter

执行命令:

docker run -d -p 9100:9100 \> -v "/proc:/host/proc:ro" \> -v "/sys:/host/sys:ro" \> -v "/:/rootfs:ro" \> --net="host" \> prom/node-exporter

效果如下:

查看Node-exporter是否启动成功

执行如下命令:

netstat -anpt

效果:

访问URL来验证

URL:http://172.16.90.250:9100/metrics

展示效果如下图:

六、启动prometheus

新建prometheus文件夹,修改prometheus.yml文件

执行如下命令:

mkdir /opt/Prometheuscd /opt/prometheus/

编辑prometheus.yml文件

执行如下命令:

vim prometheus.yml

贴入如下内容:

global: scrape_interval: 60s evaluation_interval: 60sscrape_configs: - job_name: application-instance-name metrics_path: /actuator/prometheus static_configs: - targets: ['172.16.113.41:31986'] # application instance ip:port labels: instance: application_instance_name_jvm

启动prometheus,执行如下命令:

# 默认9090端口 对外挂载的端口是19091docker rm -f prometheus && docker run -d -p 19091:9090 -v /opt/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml --name prometheus prom/prometheus

效果:

查看prometheus容器是否启动成功命令:

docker ps -a | grep prometheus

启动效果:

启动成功效果如下:

点击连接可以看到JVM的信息

七、启动grafana

新建空文件夹grafana-storage,用来存储数据

执行如下命令:

mkdir /opt/grafana-storage

设置权限(grafana用户会在该目录中写入文件),执行如下命令

chmod 777 -R /opt/grafana-storage

启动grafana,执行如下命令

docker run -d \> -p 3000:3000 \> --name=grafana \> -v /opt/grafana-storage:/var/lib/grafana \> grafana/grafana

效果如下:

访问URL:http://172.16.90.250:3000/login

效果如下图所示:

默认用户名和密码都是admin,首次登录需要修改,目前是adminadmin/adminadmin

登录以后的效果:

选择数据源prometheus

设置prometheus信息

lName:默认写prometheus

lURL:prometheus的ip+port

lTimeout:表示请求超时时间

lAccess:默认Server

lAuth:目前没有使用Spring Security

lScrape interval代表轮询时间间隔,默认15s,可以配置修改

点击save & test,出现如下画面表示设置成功

添加JVM grafana模板

https://grafana.com/grafana/dashboards/

DataSource选择prometheus,找一个适合自己的模板

我们选择第一个JVM(micrometer)

在grafana中import进去ID

最终效果如图所示:

八、实现原理

在SpringBoot工程中使用spring-boot-actor,以http的方式将jvm等状态数据输出,Prometheus通过配置读取接口数据方式,将jvm等状态数据进行存储,最后在Grafana中配置Prometheus数据源,设计相关图表,通过Prometheus SQL读取存储的状态数据返回到页面渲染图标,实现运行在k8s中的springboot应用jvm可视化监控

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-10-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 java技术鸡汤 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档