Prometheus+grafana环境搭建方法及流程两种方式(docker和源码包)(一)

这篇具有很好参考价值的文章主要介绍了Prometheus+grafana环境搭建方法及流程两种方式(docker和源码包)(一)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.选型对比

最近项目上有对项目服务及中间件的监控需求,要做实现方案调研,总结一下自己的成果,目前业界主流可选的方案有:

国外开源:

Prometheus:Prometheus - Monitoring system & time series database

安装prometheus+grafana,Prometheus,docker,prometheus,grafana

优点:使用exporter方式+主动拉取方式,采集灵活,覆盖面广,结合grafana能快速搭建上手,promql功能强大,自定义指标方便,对云环境支持很好

缺点:采用分布式部署,基于本地文件存储数据,数据统一采集不方便,采用配置文件配置较为繁琐,(ps也支持服务发现),promql学习成本较高

zabbix 

Grandage-Zabbix中国

安装prometheus+grafana,Prometheus,docker,prometheus,grafana

优点:老牌监控框架、all-in-one 部署,使用MySQL存储数据,使用页面配置采集。推荐6.0以上版本,使用agent2

缺点:比较重,灵活性比较差,自定义指标实现难度高

grafana

开源的可视化框架,可以使用多种数据源,对Prometheus支持非常友好,也支持zabbix。可以很方便的集成到自己的前端项目中。

安装prometheus+grafana,Prometheus,docker,prometheus,grafana

国内开源

夜莺 夜莺 - 快猫星云

优点:集成了Prometheus和zabbix的优点,可以通过页面配置监控告警还能all-in-one 部署。文档比较友好。(由于是后来才找到这个框架,所以没有深入研究)

本次我验证了(监控服务器,rabbitmq、nacos、redis、mysql、MongoDB,spring-boot,Nginx)等常用中间件的监控,留档以备后续查看。其他的基本都可以参照官网

2. Prometheus基础环境搭建

Prometheus支持两种搭建方式,二进制安装和docker安装,基本所有的组件都提供了这两种安装方式。二进制方式可以将组件注册为Linux系统服务,使用systemctl来管理

2.1 二进制方式安装

主要安装:Prometheus+node_exporter(服务器节点监控)+alertmanager+grafana,适合在离线没有网络的环境。

网上有现成的仓库 prometheus: 二进制安装prometheus

项目使用方法
1.将项目下载到自己的Linux服务器
https://gitee.com/lengedcloud/prometheus.git
进入目录 cd prometheus
2.将服务移动到系统服务目录
mv *.service /etc/systemd/system/
3.创建一个普通用户
useradd -M -s /usr/sbin/nologin prometheus  -M不创建家目录,不允许登录
4.启动服务,并设置开机启动
systemctl enable alertmanager.service --now
systemctl enable grafana-server.service --now
systemctl enable node_exporter.service --now
systemctl enable prometheus.service --now
5.检查服务状态
systemctl status alertmanager.service 
systemctl status grafana-server.service 
systemctl status node_exporter.service 
systemctl status prometheus.service 
6.访问测试
alertmanager.service 告警 端口 ip:9093/metrics
grafana-server 数据展示 端口 ip:3000  账号/密码 admin/admin 
node_exporter 数据采集  ip:9100/metrics
prometheus 数据存储 端口 ip:9090
2.2 docker方式安装

主要安装:Prometheus+cadvsior(docker监控)+node_exporter++alertmanager+grafana

此处可以下载打包 docker-compose: docker-compose仓库

 docker-compose.yaml文件如下

version: '3.3'

volumes:
  prometheus_data: {}
  grafana_data: {}

networks:
  monitoring:
    driver: bridge

services:
  prometheus:
    image: prom/prometheus:v2.37.6
    container_name: prometheus
    restart: always
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - ./prometheus/:/etc/prometheus/
      - prometheus_data:/prometheus
    command:
      - '--config.file=/etc/prometheus/prometheus.yml'
      - '--storage.tsdb.path=/prometheus'
      - '--web.console.libraries=/usr/share/prometheus/console_libraries'
      - '--web.console.templates=/usr/share/prometheus/consoles'
      #热加载配置
      - '--web.enable-lifecycle'
      #api配置
      #- '--web.enable-admin-api'
      #历史数据最大保留时间,默认15天
      - '--storage.tsdb.retention.time=30d'  
    networks:
      - monitoring
    links:
      - alertmanager
      - cadvisor
      - node_exporter
    expose:
      - '9090'
    ports:
      - 9090:9090
    depends_on:
      - cadvisor

  alertmanager:
    image: prom/alertmanager:v0.25.0
    container_name: alertmanager
    restart: always
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - ./alertmanager/:/etc/alertmanager/
    command:
      - '--config.file=/etc/alertmanager/config.yml'
      - '--storage.path=/alertmanager'
    networks:
      - monitoring
    expose:
      - '9093'
    ports:
      - 9093:9093

  cadvisor:
    image: google/cadvisor:latest
    container_name: cadvisor
    restart: always
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /:/rootfs:ro
      - /var/run:/var/run:rw
      - /sys:/sys:ro
      - /var/lib/docker/:/var/lib/docker:ro
    networks:
      - monitoring
    expose:
      - '8080'
    ports:
      - '8080:8080'

  node_exporter:
    image: prom/node-exporter:v1.5.0
    container_name: node-exporter
    restart: always
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /proc:/host/proc:ro
      - /sys:/host/sys:ro
      - /:/rootfs:ro
    command: 
      - '--path.procfs=/host/proc' 
      - '--path.sysfs=/host/sys'
      - '--collector.filesystem.ignored-mount-points=^/(sys|proc|dev|host|etc|rootfs/var/lib/docker)($$|/)'
    networks:
      - monitoring
    ports:
      - '9100:9100'

  grafana:
    image: grafana/grafana:9.4.3
    container_name: grafana
    restart: always
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - grafana_data:/var/lib/grafana
      - ./grafana/provisioning/:/etc/grafana/provisioning/
    env_file:
      - ./grafana/config.monitoring
    networks:
      - monitoring
    links:
      - prometheus
    ports:
      - 3000:3000
    depends_on:
      - prometheus

使用docker-compose 一键安装

docker-compose up -d 安装

安装完成后测试 同二进制安装测试相同

Prometheus页面,可以从status>target目录下查看当前的监控任务状态,点击endpoint,确认每个target路径有数据即为正常。

安装prometheus+grafana,Prometheus,docker,prometheus,grafana

grafana页面

安装prometheus+grafana,Prometheus,docker,prometheus,grafana

2.3 配置Prometheus监控

打开 vim prometheus.yaml,修改ip或服务名为自己的宿主机ip

安装prometheus+grafana,Prometheus,docker,prometheus,grafana

Prometheus重新热加载配置 很常用

curl -X POST http://localhost:9090/-/reload 

2.4 配置grafana监控页面

grafana提供了大量配置模板可以快速生成监控

给grafana配置Prometheus数据源

安装prometheus+grafana,Prometheus,docker,prometheus,grafana

填写信息,可以测试连接一下,docker版要写宿主机的ip,http一定要加

安装prometheus+grafana,Prometheus,docker,prometheus,grafana

1.配置模板-服务器监控

Dashboards | Grafana Labs

选择数据源,模板可以按照自己的需要进行修改,有些指标名称在不用版本的Prometheus库中可能已经被替换或者更新,实际使用时要进行相应的更改。

安装prometheus+grafana,Prometheus,docker,prometheus,grafana

点击要使用的模板,获取模板id或者json文件,此处还有Prometheus中的配置

安装prometheus+grafana,Prometheus,docker,prometheus,grafana

在grafana中导入

安装prometheus+grafana,Prometheus,docker,prometheus,grafana

输入ID,并导入

安装prometheus+grafana,Prometheus,docker,prometheus,grafana

选择数据源,修改面板名称

安装prometheus+grafana,Prometheus,docker,prometheus,grafana 查看效果

安装prometheus+grafana,Prometheus,docker,prometheus,grafana

2.配置模板-docker服务监控

选择想要的模板

安装prometheus+grafana,Prometheus,docker,prometheus,grafana

复制id 10619,重复上面的步骤导入

安装prometheus+grafana,Prometheus,docker,prometheus,grafana

3.配置模板-alertmanager告警监控,告警也是Prometheus的核心功能。

选择模板id,9578

安装prometheus+grafana,Prometheus,docker,prometheus,grafana

重复上面的步骤导入

安装prometheus+grafana,Prometheus,docker,prometheus,grafana exp告警规则可以通过使用promql定义的非常丰富。

安装prometheus+grafana,Prometheus,docker,prometheus,grafana

告警配置文件在,prometheus挂载出来的alert.yml文件中

安装prometheus+grafana,Prometheus,docker,prometheus,grafana文章来源地址https://www.toymoban.com/news/detail-861843.html

到了这里,关于Prometheus+grafana环境搭建方法及流程两种方式(docker和源码包)(一)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SpringBoot+Prometheus+Grafana 监控面板(项目配置方式【入侵】)

    提示:本文使用SpringBoot 简单样例,介绍基础配置和使用方法 包含内容:Docker、SpringBoot、Maven、 Prometheus、Grafana等 提示:本文包含官网内容介绍,具体更项目的学习,请参照各官网文档,谢谢 官网:https://prometheus.io/ 文档地址:https://prometheus.io/docs/introduction/overview/ 使用领先

    2024年02月16日
    浏览(22)
  • Prometheus + Grafana 搭建监控仪表盘

    目标要求 1、需要展现的仪表盘: SpringBoot或JVM仪表盘 Centos物理机服务器(实际为物理分割的虚拟服务器)仪表盘 2、展现要求: 探索Prometheus + Grafana搭建起来的展示效果,尽可能展示能展示的部分。 监控系统核心:prometheus-2.45.0.linux-amd64.tar 下载地址:https://github.com/prometheus

    2024年04月23日
    浏览(29)
  • Grafana Prometheus 通过JMX监控kafka 【2023最新方式】

    目前网上关于使用Prometheus 监控kafka的大部分资料都是使用一个第三方的 kafka exporter,他的原理大概就是启动一个kafka客户端,获取kafka服务器的信息,然后提供一些metric接口供Prometheus使用,随意它能展示的监控信息比较有限,只有每个主题的分区数,每秒/分钟消息数,消费组

    2024年02月13日
    浏览(24)
  • SpringBoot+Prometheus+Grafana搭建应用监控系统

    SpringBoot的应用监控方案比较多,SpringBoot+Prometheus+Grafana是比较常用的一种解决方案,主要的监控数据的处理逻辑如下: SpringBoot 的 actuator 提供了应用监控端点,可以对外暴露监控数据信息。 Prometheus 是监控系统,可以从 Springboot 采集监控数据,以时序数据的形式存储,并对外

    2024年01月22日
    浏览(27)
  • Prometheus+Grafana 监控平台实践-搭建&常用服务监控&告警

    Prometheus 是一个开放性的监控解决方案,通过各种 Exporter 采集当前主机/服务的数据,和 Grafana 相结合可以实现强大的监控和可视化功能 本篇将分享使用 docker compose 构建 Prometheus+Grafana,并监控之前文章所搭建的主机服务,分享日常使用的一些使用经验 文章较长,已安装可略

    2024年02月05日
    浏览(32)
  • Prometheus+Grafana普罗米修斯搭建+监控MySQL

    1.什么是Prometheus? ​ Prometheus 是 Cloud Native Computing Foundation 的一个监控系统项目, 集采集、监控、报警等特点于一体。 ​ Prometheus 主要受启发于 Google 的 Brogmon 监控系统, 从 2012 年开始由前 Google 工程师在 Soundcloud 以开源软件的形式进行研发, 2017 年底发布了基于全新存储层

    2024年02月08日
    浏览(28)
  • 在Docker中搭建centos7远程桌面环境(Xfce、Gnome两种方式)

    本文提供两种安装方式,均自己测试过,最后还是 选择了Xfce ,因为它比较轻量级,占用资源较少。大家也可以都试试,比较感受下。 GNOME 提供一个现代、直观的用户界面,注重美观和用户友好性。GNOME 通常 相对较重 ,对系统资源的需求较高,GNOME 是一个大型的开源社区项

    2024年02月03日
    浏览(25)
  • docker-compose搭建prometheus+grafana+钉钉告警

    前言: 本文将介绍使用docker-compose部署搭建promtheus监控容器、主机、服务等相关状态; 配合granfana面板构建监控大屏; 由于grafana的报警不是很友好,使用dingtalk,配合altermanager,实现钉钉报警。 docker环境搭建不再介绍,网上已经一大堆。  首先介绍一下需要部署的组件:

    2024年02月16日
    浏览(29)
  • Centos 从0搭建grafana和Prometheus 服务以及问题解决

    虚拟机下载 https://customerconnect.vmware.com/en/downloads/info/slug/desktop_end_user_computing/vmware_workstation_player/17_0 cenos 镜像下载 https://www.centos.org/download/ grafana 服务下载 https://grafana.com/grafana/download/7.4.0?platform=linux Prometheus 服务下载 https://prometheus.io/download/ grafana安装 grafana 启动 prometheus 安

    2024年02月14日
    浏览(21)
  • k8s入门:kube-prometheus-stack 全家桶搭建(Grafana + Prometheus)

    系列文章 第一章:✨ k8s入门:裸机部署 k8s 集群 第二章:✨ k8s入门:部署应用到 k8s 集群 第三章:✨ k8s入门:service 简单使用 第四章:✨ k8s入门:StatefulSet 简单使用 第五章:✨ k8s入门:存储(storage) 第六章:✨ K8S 配置 storageclass 使用 nfs 动态申领本地磁盘空间 第七章:

    2024年02月08日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包