Prometheus实战

22 篇文章 1 订阅

Prometheus实战

参考https://blog.csdn.net/weixin_46902396/article/details/115294424

Prometheus + Grafana 监控平台
一、Prometheus 简介
1.Prometheus 特点
2.Prometheus 架构
二、部署 Prometheus + Grafana 监控平台
1.安装 Docker
2.安装 Prometheus
3.安装 Grafana
4.安装 Node_exporter
5.配置 Prometheus 监控 Node 节点
1)修改 Prometheus 主配置文件
2)重启 Prometheus 容器
6.配置 Prometheus + Grafana
一、Prometheus 简介
Prometheus(普罗米修斯)是一套开源的监控&报警&时间序列数据库的组合,由 SoundCloud 公司开发。

Prometheus 基本原理是通过 HTTP 协议周期性抓取被监控组件的状态,这样做的好处是任意组件只要提供 HTTP 接口就可以接入监控系统,不需要任何 SDK 或者其他的集成过程。这样做非常适合虚拟化环境比如 VM 或者 Docker 。

Prometheus 应该是为数不多的适合 Docker、Mesos、Kubernetes 环境的监控系统之一。

1.Prometheus 特点
多维数据模型(有 metric 名称和键值对确定的时间序列)
灵活的查询语言。
不依赖分布式存储。
通过 pull 方式采集时间序列,通过 http 协议传输。
支持通过中介网关的 push 时间序列的方式。
监控数据通过服务或者静态配置来发现。
支持图表和 dashboard 等多种方式。
2.Prometheus 架构


Prometheus 主程序:主要是负责存储、抓取、聚合、查询方面。
Alertemanager 程序:主要是负责实现报警功能。
Pushgateway 程序:主要是实现接收有 Client-push 过来的指标数据,在指定的时间间隔,有主程序来抓取。
*_exporter 程序:主要是负责采集物理机、中间件的信息。
二、部署 Prometheus + Grafana 监控平台
准备工作:

主机名    操作系统    IP地址
Docker    CentOS 7.7    192.168.1.1
1.安装 Docker
1)安装需要的软件包

[root@Docker ~]# yum -y install yum-utils device-mapper-persistent-data lvm2
1
2)设置 Docker 的 yum 源

[root@Docker ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
[root@Docker ~]# yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
1
2
3
4

3)安装 Docker

可使用 yum list docker-ce --showduplicates | sort -r 命令来查看 Docker 的所有版本。
[root@Docker ~]# yum -y install docker-ce-17.12.1.ce                 #安装Docker
1
4)启动 Docker 并设置开启自启

[root@Docker ~]# systemctl start docker
[root@Docker ~]# systemctl enable docker
1
2
5)验证 Docker 是否安装成功

[root@Docker ~]# docker version                                        #查看Docker版本
1

6)配置 Docker 加速器

[root@Docker ~]# cat <<END > /etc/docker/daemon.json
{
    "registry-mirrors": [
        "https://1nj0zren.mirror.aliyuncs.com",
        "https://docker.mirrors.ustc.edu.cn",
        "http://f1361db2.m.daocloud.io",
        "https://registry.docker-cn.com"
    ]
}
END
[root@Docker ~]# systemctl daemon-reload                            #重新加载systemd配置
[root@Docker ~]# systemctl restart docker                             #重启Docker
1
2
3
4
5
6
7
8
9
10
11
12


2.安装 Prometheus
[root@Docker ~]# docker pull prom/prometheus
[root@Docker ~]# docker run -itd --name=prometheus --restart=always -p 9090:9090 prom/prometheus
1
2

容器创建成功后,即可通过浏览器访问 http://192.168.1.1:9090 来进行验证


3.安装 Grafana
Grafana 是一个跨平台开源的度量分析和可视化工具,可以通过将采集的数据查询然后可视化的展示,并及时通知。
[root@Docker ~]# docker pull grafana/grafana
[root@Docker ~]# docker run -itd --name=grafana \
--restart=always \
-p 3000:3000 \
-v $PWD/grafana-storage:/var/lib/grafana \
grafana/grafana
1
2
3
4
5
6

容器创建成功后,即可通过浏览器访问 http://192.168.1.1:3000 来进行验证

4.安装 Node_exporter
因为 Prometheus 本身不具备监控功能,所以想要通过 Prometheus 收集数据的话,需要安装对应的 exporter。
[root@Docker ~]# docker pull prom/node-exporter
[root@Docker ~]# docker run -itd --name=node-exporter \
--restart=always \
-p 9100:9100 \
-v "/proc:/host/proc:ro" \
-v "/sys:/host/sys:ro" \
-v "/:/rootfs:ro" \
prom/node-exporter
1
2
3
4
5
6
7
8

容器创建成功后,即可通过浏览器访问 http://192.168.1.1:9100/metrics 来查看监控收集的数据


5.配置 Prometheus 监控 Node 节点
1)修改 Prometheus 主配置文件
[root@Docker ~]# docker cp prometheus:/etc/prometheus/prometheus.yml $PWD
[root@Docker ~]# vim prometheus.yml
在Prometheus配置文件按以下内容修改:
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: 'prometheus'

    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.

    static_configs:
    - targets: ['localhost:9090']
      labels:
        instance: prometheus

  - job_name: linux
    static_configs:
    - targets: ['192.168.1.1:9100']                    #被监控端的IP地址和端口号(有多个被监控端可用 逗号 隔开)
      labels:
        instance: localhost
[root@Docker ~]# docker cp $PWD/prometheus.yml prometheus:/etc/prometheus/prometheus.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2)重启 Prometheus 容器
[root@Docker ~]# docker restart prometheus
1
6.配置 Prometheus + Grafana
使用浏览器访问:http://192.168.1.1:3000 来将 Node 节点监控

Grafana 官方提供模板地址:https://grafana.com/grafana/dashboards

##########################################################################################3

删除容器和镜像
https://www.jianshu.com/p/2bb5eca8d04c

cadvisor容器后外部无法访问映射端口
https://www.cnblogs.com/Leonardo-li/p/13536641.html

docker run -v /:/rootfs:ro -v /var/run:/var/run:rw -v /sys:/sys:ro -v /var/lib/docker:/var/lib/docker:ro -p 8080:8080 --detach=true --name=cadvisor --net=host google/cadvisor

docker run \
--volume=/:/rootfs:ro \
--volume=/var/run:/var/run:rw \
--volume=/sys:/sys:ro \
--volume=/var/lib/docker/:/var/lib/docker:ro \
--publish=8080:8080 \
--detach=true \
--name=cadvisor \
--net=host \
google/cadvisor:latest

docker run \
  --volume=/:/rootfs:ro \
  --volume=/var/run:/var/run:ro \
  --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 \
  --privileged \
  --device=/dev/kmsg \
  google/cadvisor:latest
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@2
prometheus实战成功典范
https://blog.csdn.net/weixin_46902396/article/details/115294424
https://blog.csdn.net/weixin_40274679/article/details/108546972
https://blog.csdn.net/java060515/article/details/86300357
https://blog.csdn.net/iuskye/article/details/116457525

cat <<END > /etc/docker/daemon.json
{
    "registry-mirrors": [
        "https://1nj0zren.mirror.aliyuncs.com",
        "https://docker.mirrors.ustc.edu.cn",
        "http://f1361db2.m.daocloud.io",
        "https://registry.docker-cn.com"
    ]
}
END


docker run -itd --name=grafanajwwng \
--restart=always \
-p 3000:3000 \
-v $PWD/grafana-storage:/var/lib/grafana \
grafana/grafana


grafana一直重启
https://blog.csdn.net/weixin_45465395/article/details/115768125
https://blog.csdn.net/mayifan0/article/details/106543173/
拉取grafana镜像并启动
docker pull grafana/grafana
docker run -d -p 3000:3000  --restart always  --name grafana grafana/grafana

docker run -itd --name=node-exporter \
--restart=always \
-p 9100:9100 \
-v "/proc:/host/proc:ro" \
-v "/sys:/host/sys:ro" \
-v "/:/rootfs:ro" \
prom/node-exporter


labels:
        instance: prometheus

  - job_name: linux
    static_configs:
    - targets: ['10.168.0.29:9100']
      labels:
        instance: localhost

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值