TheRiver | blog

You have reached the world's edge, none but devils play past here

0%

prometheus+grafana单机部署

今天有个python的grpc server,新起的服务,有一些功能还在调试需要测下性能,拿到rps,tp99,cpu等信息。就想着部署下prometheus+grafana在单机下使用,原来k8s下linkerd里面已经集成了这些,并且linkerd代理了每个服务,所以可以跨语言。我这里是单机的,服务的metric需要单独设置,官方的grpc只有go/java的exporter,网上找了只有几颗星的https://github.com/lchenn/py-grpc-prometheus个人实现的python版本,先拿来试着用,本文主要记录下单机部署prometheus+grafana的过程

prometheus

直接docker运行的,参考官方的步骤,prometheus只是pull数据的,本身不收集数据,所以docker运行简单方便。需要自己配置exporter,所以命令可以挂在宿主机的yml文件进去:

1
2
3
4
docker run \
-p 9090:9090 \
-v /path/to/prometheus.yml:/etc/prometheus/prometheus.yml \
prom/prometheus

prometheus.yml简单配置:

1
2
3
4
5
6
7
global:
scrape_interval: 15s

scrape_configs:
- job_name: node
static_configs:
- targets: ['localhost:9100']

node exporter

参考官方步骤即可,然后配置到prometheus的配置文件就行了。

grafana

参考官方的步骤,我这里因为是阿里云的机器别人配置的,好像是有外部的防火墙配置,所以需要修改默认的3000端口,/etc/grafana/grafana.ini里面找到port就行了改一下,然后重启systemctl restart grafana-server;默认的用户和密码也在这个文件里面,第一次登陆成功会提升修改密码的。

然后就是配置数据源为prometheus:

再接着加dashboard,官方有模板,拿来用就行,我目前只部署了系统数据收集的node exporter,所以copy this过来就ok了,最终结果:

reference

https://help.aliyun.com/document_detail/123108.html

https://grafana.com/grafana/dashboards/1860-node-exporter-full/

https://github.com/lchenn/py-grpc-prometheus

https://grafana.com/docs/grafana/v9.0/setup-grafana/installation/rpm/

https://prometheus.io/docs/guides/node-exporter/

https://rm-rf.medium.com/how-to-install-and-configure-prometheus-node-exporter-node-exporter-as-a-service-on-centos-7-50339b086704

https://prometheus.io/docs/instrumenting/exporters/

----------- ending -----------