Prometheus的基本操作配置

Prometheus安装

获取安装包(外网下载,国内网大概率下不下来)
wget https://github.com/prometheus/prometheus/releases/download/v2.5.0/prometheus-2.5.0.linux-amd64.tar.gz

将压缩包中的prometheus、promtool文件拷贝到/usr/local/bin目录下,此时可以通过prometheus --version查看版本。

  #检查配置文件
  promtool check config /etc/prometheus/prometheus.yml
  #启动应用
 ./prometheus --config.file "/etc/prometheus/prometheus.yml" --web.enable-lifecycle

注:--storage.tsdb.retention=1d 此参数表示存储的数据只保留1天。

此外,还可以通过docker的方法安装。

#将容器的 9090端口映射到主机的 9090 端口,主机的目录 /tmp/prometheus.yml映射到容器的 /etc/prometheus/prometheus.yml。
docker run -d -p 9090:9090 -v /tmp/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus

-d: 后台运行容器,并返回容器ID
-v:主机目录映射
-p: 端口映射,格式为:主机(宿主)端口:容器端口
--name="***": 为容器指定一个名称

更改配置之后热配置的方法:
1、法一:
curl -X POST http://ip:9090/-/reoad 需要在启动prometheus时增加参数--web.enable-lifecycle

注:reload之后是立即生效的。

2、法二:

#得到进程ID
ps -aux | grep prom  
kill -HUP PID

部署cadvisor

#拉取镜像
docker pull google/cadvisor:latest
#部署运行
docker run --volume=/:/rootfs:ro --volume=/var/run:/var/run:rw --volume=/sys:/sys:ro --volume=/var/lib/docker/:/var/lib/docker:ro --volume=/dev/disk/:/dev/disk:ro --publish=8080:8080  --detach=true --name=cadvisor google/cadvisor:latest

部署Grafana

docker run  -d  -p 3000:3000 --name grafana grafana/grafana:latest

在K8S上部署prometheus

基本概念

在这里插入图片描述

influxdb、openTSDB是专门的时间序列数据库。

Prometheus系统可以直接通过Kubernetes等系统的接口,发现要监控的目标,不需要人员干预,不需要做系统对接方面的开发。

注1:
只有前缀不加__的label可以在graph中显示。如__metrics_path__="/metrics"不会显示,而job="***"则会显示。

注2:在target访问通过k8s api server服务发现的指标时,在浏览器直接打开是需要证书的。只要prometheus能打开,也就是显示up状态就行,而在我们本机不一定能打开。

注3:graph中时间序列的断点处,是我们将prometheus删除造成的。

注4:解决浏览器和server时间不匹配的问题
修改server的时间。去到prometheus部署的那个节点上,修改server的时间,修改方法为:date -s 14:51:30 。将server的时间设置为浏览器当前的时间。

待验证:
1、nginx-ingress-controller
不安装可能导致Grafana的部署出问题

2、文本文件收集器 --collector.textfile.directory=""
默认是加载的,我们只需指定目录即可。

3、echo tee

4、

猜你喜欢

转载自blog.csdn.net/weixin_38645718/article/details/85111527