使用docker-compose快速部署Prometheus+grafana环境
由于最近公司服务频繁出问题,老板很生气,下面的人都很不好过,于是老大让加一下业务监控,来观察线上数据状态。
但是由于qa环境数据量太少,所以自己搭建了一套环境做相关监控,并且写了个脚本模仿生产上的数据,并且做了很多指标,写了一些Grafana的PromQL语法,网上的资料也很少,我就来补充一下,这个下一章再讲。
注意:
docker和docker-compose请自行下载安装
创建相关目录并给予权限,持久化目录需要给777权限,否则容器启动失败
cd ~ && mkdir prometheus && chmod 777 prometheus
cd prometheus && mkdir grafana_data prometheus_data && chmod 777 grafana_data prometheus_data
vim docker-compose.yml
version: "3.7"
services:
  node-exporter:
    image: prom/node-exporter:latest
    container_name: "node-exporter0"
    ports:
      - "9100:9100"
    restart: always
  prometheus:
    image: prom/prometheus:latest
    container_name: "prometheus0"
    restart: always
    ports:
      - "9090:9090"
    volumes:
      - "./prometheus.yml:/etc/prometheus/prometheus.yml"
      - "./prometheus_data:/prometheus"
  grafana:
    image: grafana/grafana
    container_name: "grafana0"
    ports:
      - "3000:3000"
    restart: always
    volumes:
      - "./grafana_data:/var/lib/grafana"
注:prometheus主机需要部署以上容器,其他被监控主机只需要部署node-exporter
3.prometheus配置文件(根据自己的服务器ip进行修改targets内容)
vim prometheus.yml
global:
  scrape_interval:     15s # 默认抓取周期
  external_labels:
    monitor: 'codelab-monitor'
scrape_configs:
  - job_name: 'node-exporter' #服务的名称
    scrape_interval: 5s
    metrics_path: /metrics  #获取指标的url
    static_configs:
      - targets: ['139.224.224.229:9100'] # 这个为监听指定服务服务的ip和port,需要修改为自己的ip,貌似云服务必须用公网ip
4.docker-compose启动
docker-compose up -d         # 挂载目录给权限,不然会启动失败
如果启动报如下的"没有权限"错误:
grafana0         | You may have issues with file permissions, more information here: http://docs.grafana.org/installation/docker/#migrate-to-v51-or-later
grafana0         | mkdir: can't create directory '/var/lib/grafana/plugins': Permission denied
grafana0         | GF_PATHS_DATA='/var/lib/grafana' is not writable.
grafana0         | You may have issues with file permissions, more information here: http://docs.grafana.org/installation/docker/#migrate-to-v51-or-later
grafana0         | mkdir: can't create directory '/var/lib/grafana/plugins': Permission denied
grafana0         | GF_PATHS_DATA='/var/lib/grafana' is not writable.
grafana0         | You may have issues with file permissions, more information here: http://docs.grafana.org/installation/docker/#migrate-to-v51-or-later
grafana0         | mkdir: can't create directory '/var/lib/grafana/plugins': Permission denied
grafana0         | GF_PATHS_DATA='/var/lib/grafana' is not writable.
grafana0         | You may have issues with file permissions, more information here: http://docs.grafana.org/installation/docker/#migrate-to-v51-or-later
grafana0         | mkdir: can't create directory '/var/lib/grafana/plugins': Permission denied
grafana0         | GF_PATHS_DATA='/var/lib/grafana' is not writable.
grafana0         | You may have issues with file permissions, more information here: http://docs.grafana.org/installation/docker/#migrate-to-v51-or-later
grafana0         | mkdir: can't create directory '/var/lib/grafana/plugins': Permission denied
则需要将挂载目录赋予权限,即:
chmod 777 grafana_data/ prometheus_data/ #个人根据配置文件中具体的挂在目录进行权限修改
5.访问主机的9090端口可以查到Prometheus监控到的数据,访问3000端口是grafana的界面,账密admin/admin
6.配置监控,点击齿轮,选择Data Sources
7.点击Add data source
8.填写prometheus地址 ip+端口或者主机名+端口(需要配置hosts)
9.点击save&test
10.点击+号,选择import
11.输入模板号9276,点击load。    8919

11.导入模板完成
使用docker-compose快速部署Prometheus+grafana环境的更多相关文章
- 利用Docker Compose快速搭建本地测试环境
		前言 Compose是一个定义和运行多个Docker应用的工具,用一个YAML(dockder-compose.yml)文件就能配置我们的应用.然后用一个简单命令就能启动所有的服务.Compose编排 ... 
- 使用 Docker Compose 快速构建 TiDB 集群
		本文档介绍如何在单机上通过 Docker Compose 快速一键部署一套 TiDB 测试集群.Docker Compose 可以通过一个 YAML 文件定义多个容器的应用服务,然后一键启动或停止. ... 
- 用Docker swarm快速部署Nebula Graph集群
		用Docker swarm快速部署Nebula Graph集群 一.前言 本文介绍如何使用 Docker Swarm 来部署 Nebula Graph 集群. 二.nebula集群搭建 2.1 环境准 ... 
- Docker Compose 一键部署LNMP
		Docker Compose 一键部署LNMP 目录结构 [root@localhost ~]# tree compose_lnmp/ compose_lnmp/ ├── docker-compose ... 
- Docker Compose 一键部署Nginx代理Tomcat集群
		Docker Compose 一键部署Nginx代理Tomcat集群 目录结构 [root@localhost ~]# tree compose_nginx_tomcat/ compose_nginx ... 
- Docker Compose 一键部署多节点爬虫程序
		Docker Compose 一键部署多节点爬虫程序 目录结构 [root@localhost ~]# tree compose_crawler/ compose_crawler/ ├── cento ... 
- 如何快速部署 Prometheus?- 每天5分钟玩转 Docker 容器技术(85)
		上一节介绍了 Prometheus 的核心,多维数据模型.本节演示如何快速搭建 Prometheus 监控系统. 环境说明 我们将通过 Prometheus 监控两台 Docker Host:192. ... 
- 使用Prometheus监控docker compose方式部署的ES
		需求 收集 ES 的指标, 并进行展示和告警; 现状 ES 通过 docker compose 安装 所在环境的 K8S 集群有 Prometheus 和 AlertManager 及 Grafana ... 
- docker-compose 快速部署Prometheus,监控docker 容器, 宿主机,ceph -- cluster集群
		话不多说上菜: 现在环境是这样: ceph 4台: 192.168.100.21 ceph-node1 192.168.100.22 ceph-node2 192.168.100.23 ceph ... 
- [phvia/dkc] Docker Compose 快速构建(LNMP+Node)运行环境
		快速构建(LNMP+Node)运行环境. dkc 在此作为 docker-compose 的缩写,你可以理解为 alias dkc=docker-compose 准备 安装 docker 选择1) 从 ... 
随机推荐
- pytorch中y.data.norm()的含义
			import torch x = torch.randn(3, requires_grad=True) y = x*2 print(y.data.norm()) print(torch.sqrt(to ... 
- KubeSphere + Argo CD,实现真正的 GitOps!
			来自社区用户 willqy 的分享 Argo CD 简介 Argo CD 是用于 Kubernetes 的声明性 GitOps 持续交付工具,应用程序定义,配置和环境应为声明性的,并应受版本控制,应用 ... 
- 你在使用 KubeSphere 吗?
			如果你正在使用 KubeSphere,欢迎在社区分享你的使用和实践经验,赢取 KubeSphere 周边礼品(T恤.帆布袋.徽章等)以及 Kubernetes 技术书籍. 为什么我们要征集用户案例? ... 
- 推荐一款专为Nginx设计的图形化管理工具: Nginx UI!
			Nginx UI是一款专为Nginx设计的图形化管理工具,旨在简化Nginx的配置与管理过程,提高开发者和系统管理员的工作效率. 项目地址:https://github.com/0xJacky/ngi ... 
- Top100(下)
			Top100(下) 栈 20. 有效的括号 bool isValid(char *s) { int len = strlen(s); if (len % 2 == 1) return false; / ... 
- C#线性查找算法
			前言 线性查找算法是一种简单的查找算法,用于在一个数组或列表中查找一个特定的元素.它从数组的第一个元素开始,逐个检查每个元素,直到找到所需的元素或搜索完整个数组.线性查找的时间复杂度为O(n),其中n ... 
- NDT算法详解与C++实现
			点云匹配在感知环节是一个很重要的信息获取手段,而其中的算法也有几个比较经典了,例如ICP(Iterative Closest Point,迭代最近点)算法,而本文决定记录学习的是NDT算法,也就是No ... 
- 基于ctfshow的信息收集思路与CTF实战
			本文靶场来源于CTFshow,并不完全按照靶机的顺序排列,而是以测试操作为导向,按博主个人理解排列. 1. 前端源码 在CTF中,先看源代码是个好习惯,出题者经常会在源代码中以注释的形式提供一些提示 ... 
- 基于 Github 平台的 .NET 开源项目模板 - ISSUE 相关
			上一篇已经介绍了工程和脚本.下面我们将以具体的功能作为着手点, 展开对 project.yml 工程配置文件的讲解. 赘述 project.yml 使用周期 文件来源: 运行跟目录下的 scanner ... 
- 如何利用1%的数据优化特定领域LLM预训练? | EMNLP'24
			来源:晓飞的算法工程笔记 公众号,转载请注明出处 论文: Target-Aware Language Modeling via Granular Data Sampling 论文地址:https:// ... 
