您好,欢迎来到网暖!

当前位置:网暖 » 站长资讯 » 建站基础 » 网络技术 » 文章详细 订阅RssFeed

Prometheus完整的部署方案+实战实例

来源:网络整理 浏览:346次 时间:2022-08-19

Prometheus简介是一套开源的系统监控报警框架。Prometheus作为新一代的云原生监控系统,相比传统监控监控系统(Nagios或者Zabbix)拥有如下优点

易管理性:Prometheus核心部分只有一个单独的二进制文件,可直接在本地工作,不依赖于分布式存储

高效性:单一Prometheus可以处理数以百万的监控指标;每秒处理数十万的数据点

易于伸缩性:通过使用功能分区(sharing)+联邦集群(federation)可以对Prometheus进行扩展,形成一个逻辑集群

丰富的看板:多种可视化图表及仪表盘支持

针对容器监控:对docker,k8S监控有成熟解决方案

Prometheus架构图

Prometheus  Server:  收集指标和存储时间序列数据,并提供查询接口ClientLibrary:客户端库Push Gateway: 短期存储指标数据。主要用于临时性的任务Exporters:采集已有的第三方服务监控指标并暴露metricsAlertmanager:告警Web  UI :简单的web控制台

官方安装说明

https://prometheus.io/docs/prometheus/latest/installation/

准备两台服务器

192.168.106.101   #Prometheus服务端192.168.106.100   #被监控服务器

101下载prometheus.yml主配置文件

# my global configglobal:  scrape_interval:     15s # 采集被监控段指标的一个周期  evaluation_interval: 15s # 告警评估的一个周期# 告警的配置文件alerting:  alertmanagers:  - static_configs:    - targets:      # - alertmanager:9093# 告警规则配置rule_files:  # - "first_rules.yml"#被监控端的配置scrape_configs:  - job_name: 'prometheus'    static_configs:    - targets: ['localhost:9090']  - job_name: "docker"    static_configs:    - targets: ['192.168.31.62:8080']  - job_name: "Linux"    static_configs:    - targets: ['192.168.31.62:9100']
下载镜像
docker pull   prom/prometheus 

开启内核路由转发

echo -e "net.ipv4.ip_forward = 1\nnet.ipv4.conf.default.rp_filter = 0 \nnet.ipv4.conf.all.rp_filter = 0" >> /etc/sysctl.confsysctl -p
启动镜像,将主配置文件挂载到容器内
docker run -d  --name=prometheus   -p 9090:9090   -v /tmp/prometheus.yml:/etc/prometheus/prometheus.yml    prom/prometheus

http://192.168.106.101:9090/ #访问该地址,出现一个简单ui界面,说明部署成功

实战一:监控一个容器服务(常用的监控指标有: 内存,CPU,硬盘,网络,状态)非交互获取容器的监控指标
`docker stats  --no-stream  lnmp_nginx `

cAdvisor (Container Advisor) 用于收集正在允许的容器资源使用和性能信息。相当于zabbix-agent一样提供一个数据采集的接口

docker部署cAdvisor:

100被监控服务器安装

docker run -d   \--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 \google/cadvisor:latest
访问该地址,就能看到实时采集到的数据
http://192.168.106.100:8080/containers/  

http://192.168.106.100:8080/metrics #该地址的数据为prometheus识别的数据的接口

去101上修改prometheus的配置文件,复制一个job文件,job_name 指名称,targets为cAdvisor服务器地址ip和端口

vim    /tmp/prometheus.yml

docker  restart  prometheus  #重启服务

http://192.168.106.101:9090/ 可以看到监控指标说明获取数据成功

101服务器上安装grafana

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

http://192.168.106.101:3000/ #p配置数据源,配置完成点击保存

https://grafana.com/grafana/download    #该地址下载grafana模板

保存,选择Prometheus数据源后可以看到如下图所示

可以看到100上所有容器都被监控到了,至此监控容器完成!

实战二:监控Linux主机

编写了一个采集linux主机metrics的脚本

 cat   node_exporter.sh #!/bin/bashwget https://github.com/prometheus/node_exporter/releases/download/v0.17.0/node_exporter-0.17.0.linux-amd64.tar.gztar zxf node_exporter-0.17.0.linux-amd64.tar.gzmv node_exporter-0.17.0.linux-amd64 /usr/local/node_exportercat <<EOF >/usr/lib/systemd/system/node_exporter.service[Unit]Description=https://prometheus.io[Service]Restart=on-failureExecStart=/usr/local/node_exporter/node_exporter[Install]WantedBy=multi-user.targetEOFsystemctl daemon-reloadsystemctl enable node_exportersystemctl restart node_exporter

运行这个脚本就能监控Linux主机

测试 访问

http://192.168.106.100:9100/metrics

说明采集信息成功

修改101服务上的配置文件/tmp/prometheus.yml

docker restart prometheus

检测方法:http://192.168.106.101:9090/classic/targets,up说明采集成功

然后配置grafana仪表盘,本次导入9276模板,和刚才导入模板的方式一致。导入完成即可看到如图所示模板

至此实战监控Linux部署完成

推荐站点

  • 腾讯腾讯

    腾讯网(www.QQ.com)是中国浏览量最大的中文门户网站,是腾讯公司推出的集新闻信息、互动社区、娱乐产品和基础服务为一体的大型综合门户网站。腾讯网服务于全球华人用户,致力成为最具传播力和互动性,权威、主流、时尚的互联网媒体平台。通过强大的实时新闻和全面深入的信息资讯服务,为中国数以亿计的互联网用户提供富有创意的网上新生活。

    www.qq.com
  • 搜狐搜狐

    搜狐网是全球最大的中文门户网站,为用户提供24小时不间断的最新资讯,及搜索、邮件等网络服务。内容包括全球热点事件、突发新闻、时事评论、热播影视剧、体育赛事、行业动态、生活服务信息,以及论坛、博客、微博、我的搜狐等互动空间。

    www.sohu.com
  • 网易网易

    网易是中国领先的互联网技术公司,为用户提供免费邮箱、游戏、搜索引擎服务,开设新闻、娱乐、体育等30多个内容频道,及博客、视频、论坛等互动交流,网聚人的力量。

    www.163.com
  • 新浪新浪

    新浪网为全球用户24小时提供全面及时的中文资讯,内容覆盖国内外突发新闻事件、体坛赛事、娱乐时尚、产业资讯、实用信息等,设有新闻、体育、娱乐、财经、科技、房产、汽车等30多个内容频道,同时开设博客、视频、论坛等自由互动交流空间。

    www.sina.com.cn
  • 百度一下百度一下

    百度一下,你就知道

    www.baidu.com