docker 安装部署 Prometheus 与grafana的详细过程

 更新时间:2024年12月05日 09:24:29   作者:daikq  
本文给大家详细介绍了如何在CentOS 7上使用Docker和Docker Compose安装和配置Prometheus和Grafana,并展示了如何进行基本的监控配置和数据可视化,感兴趣的朋友跟随小编一起看看吧

0. centos 7 安装后的操作

# 禁用selinux 以防兼容性问题
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
# 关闭防火墙服务
systemctl disable firewalld &>/dev/null
systemctl stop firewalld
# 更新yum源、epel源
mkdir /etc/yum.repos.d/old/ &>/dev/null
mv /etc/yum.repos.d/* /etc/yum.repos.d/old/ &> /dev/null
curl -o /etc/yum.repos.d/CentOS-Base.repo https://repo.huaweicloud.com/repository/conf/CentOS-7-reg.repo &>/dev/null
curl -o /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo &> /dev/null
# 安装docker服务
yum clean all &>/dev/null
yum makecache &>/dev/null
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install docker-ce docker-ce-cli containerd.io

1. 准备环境

确保你已经安装了 Docker 和 Docker Compose。如果没有安装,可以参考以下命令:

# 安装 Docker
sudo yum install -y docker
sudo systemctl start docker
sudo systemctl enable docker
# 安装 Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version  # 验证安装

2. 创建工作目录

创建一个目录来存放相关配置文件:

mkdir prometheus-grafana
cd prometheus-grafana

3. 配置 Prometheus

3.1 创建 Prometheus 配置文件

新建 prometheus.yml

nano prometheus.yml

内容如下:

global:
  scrape_interval: 15s
scrape_configs:
  - job_name: 'prometheus'
    static_configs:
      - targets: ['localhost:9090']
  - job_name: 'node_exporter'
    static_configs:
      - targets: ['node_exporter:9100']

3.2 创建存储配置

创建一个目录用来保存 Prometheus 数据:

mkdir prometheus_data

4. 创建 Docker Compose 配置

新建 docker-compose.yml

nano docker-compose.yml

内容如下:

version: '3.7'
services:
  prometheus:
    image: prom/prometheus:latest
    container_name: prometheus
    ports:
      - "9090:9090"
    volumes:
      - ./prometheus.yml:/etc/prometheus/prometheus.yml
      - ./prometheus_data:/prometheus
    restart: unless-stopped
  grafana:
    image: grafana/grafana:latest
    container_name: grafana
    ports:
      - "3000:3000"
    volumes:
      - grafana_data:/var/lib/grafana
    environment:
      - GF_SECURITY_ADMIN_USER=admin
      - GF_SECURITY_ADMIN_PASSWORD=admin
    restart: unless-stopped
  node_exporter:
    image: prom/node-exporter:latest
    container_name: node_exporter
    ports:
      - "9100:9100"
    restart: unless-stopped
volumes:
  grafana_data:

5. 启动服务

运行以下命令启动容器:

docker-compose up -d

检查服务状态:

docker ps

6. 访问 Prometheus 和 Grafana

  • Prometheus:访问 http://<your_server_ip>:9090
  • Grafana:访问 http://<your_server_ip>:3000
    • 默认用户名:admin
    • 默认密码:admin

7. 配置 Grafana 数据源

  • 登录 Grafana 后,进入 Configuration > Data Sources
  • 点击 Add data source,选择 Prometheus
  • 在 URL 栏输入 http://prometheus:9090,点击 Save & Test

8. 添加监控面板

在 Grafana 中:

  • 点击 + > Import
  • 输入面板的 ID,例如:
    • Node Exporter Full:1860
  • 点击 Load,选择数据源后保存。

9. 验证监控效果

  • 在 Prometheus 中,可以通过 http://<your_server_ip>:9090 查看监控目标状态。
  • 在 Grafana 中,可以通过导入的面板查看实时图表。

注意事项

  • 数据持久化:Prometheus 和 Grafana 数据通过 docker-compose.yml 中的挂载路径实现持久化。
  • 安全性:生产环境建议修改 Grafana 默认用户名密码。
  • 扩展性:可以通过修改 prometheus.yml 添加其他监控目标,例如数据库、应用程序等。

这套方案简单易用,非常适合快速部署监控环境。

到此这篇关于docker 安装部署 Prometheus 与grafana的文章就介绍到这了,更多相关docker 部署 Prometheus 与grafana内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Docker安装MySQL8.0的实现方法

    Docker安装MySQL8.0的实现方法

    这篇文章主要介绍了Docker安装MySQL8.0的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • Docker安装部署完全流程使用指南(Linux通用版)

    Docker安装部署完全流程使用指南(Linux通用版)

    Docker 是一种流行的开源容器化平台,它能够将应用程序及其依赖打包进轻量级、可移植的容器中运行,这篇文章主要介绍了Linux系统下Docker安装部署完全流程使用指南,需要的朋友可以参考下
    2026-04-04
  • Docker可视化工具Portainer详解

    Docker可视化工具Portainer详解

    这篇文章主要介绍了Docker可视化工具Portainer使用及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2026-06-06
  • 详解使用Docker搭建Java Web运行环境

    详解使用Docker搭建Java Web运行环境

    本篇文章主要介绍了使用Docker搭建Java Web运行环境,现在分享给大家,也给大家做个参考。感兴趣的小伙伴们可以参考一下。
    2016-11-11
  • Docker镜像管理常用操作代码示例

    Docker镜像管理常用操作代码示例

    这篇文章主要介绍了Docker镜像管理常用操作代码示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • docker中使用mysql数据库详解(在局域网访问)

    docker中使用mysql数据库详解(在局域网访问)

    这篇文章主要给大家介绍了在docker中使用mysql数据库,在局域网访问的相关资料,文中通过图文以及示例代码介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-06-06
  • Docker部署Logstash同步Mysql数据到ES方式

    Docker部署Logstash同步Mysql数据到ES方式

    本文介绍了如何搭建ELK(Elasticsearch, Logstash, Kibana)日志系统,包括配置文件准备、Logstash与Elasticsearch部署、驱动文件准备、配置文件编辑、容器操作以及日志查看等步骤,文章内容是作者的个人经验分享
    2024-10-10
  • docker<容器数据卷-v>对容器内数据持久化详解(备份)

    docker<容器数据卷-v>对容器内数据持久化详解(备份)

    容器的数据持久化主要是指宿主机与容器,以及容器与容器之间进行数据交互,下面这篇文章主要给大家介绍了关于docker<容器数据卷-v>对容器内数据持久化的相关资料,需要的朋友可以参考下
    2023-03-03
  • windows宿主机和docker容器设置挂载共享文件夹的步骤

    windows宿主机和docker容器设置挂载共享文件夹的步骤

    这篇文章主要介绍了windows宿主机和docker容器设置挂载共享文件夹的步骤,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • 详解Docker 数据卷管理

    详解Docker 数据卷管理

    本篇文章主要介绍了Docker 数据卷管理,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07

最新评论