热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

CentOS7.6环境下Prometheus与Grafana的集成部署指南

本文旨在提供一套详细的步骤,指导读者如何在CentOS7.6操作系统上成功安装和配置Prometheus2.17.1及Grafana6.7.2-1,实现高效的数据监控与可视化。

一、概述

本文将详细介绍如何在CentOS 7.6平台上安装Prometheus 2.17.1和Grafana 6.7.2-1,构建一个稳定可靠的监控系统。Prometheus监听端口为9090,而Node Exporter则使用9100端口。

二、系统信息

以下是目标系统的详细信息:
内核版本:Linux 3.10.0-957.el7.x86_64
发行版本:CentOS Linux release 7.6.1810 (Core)
Grafana版本:6.7.2-1
Prometheus版本:2.17.1

三、前期准备

1. 访问Grafana官方网站获取更多信息:Grafana官网
2. 下载Grafana:Grafana下载页
3. Grafana默认端口:3000
4. Prometheus官方网站:Prometheus官网
5. 下载Prometheus和Node Exporter:下载链接

四、网络架构

为了更好地理解部署结构,下面是各个组件的网络布局:
主机名 IP地址 主要软件 角色
mycat34 192.168.73.34 Prometheus, Grafana 数据收集与展示中心
mycat33 192.168.73.33 Node Exporter 被监控节点

五、Prometheus安装

1. 关闭防火墙和SELinux以确保无障碍安装:
yum install -y wget ntp curl vim net-tools
tar -zcvf /etc/yum.repos.d/yumRepo.bak /etc/yum.repos.d/*.repo
rm -rf /etc/yum.repos.d/*.repo
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum install epel-release -y
yum clean all && yum makecache
timedatectl set-timezone Asia/Shanghai
timedatectl set-local-rtc 0
sed -i 's/server 0.centos.pool.ntp.org iburst/server ntp1.aliyun.com iburst/g' /etc/ntp.conf
sed -i 's/server 1.centos.pool.ntp.org iburst/server ntp2.aliyun.com iburst/g' /etc/ntp.conf
sed -i 's/server 2.centos.pool.ntp.org iburst/server 1.centos.pool.ntp.org iburst/g' /etc/ntp.conf
sed -i 's/server 3.centos.pool.ntp.org iburst/server 2.centos.pool.ntp.org iburst/g' /etc/ntp.conf
systemctl restart ntpd
systemctl enable ntpd
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

2. 下载Prometheus:
wget -P /usr/local/src https://github.com/prometheus/prometheus/releases/download/v2.17.1/prometheus-2.17.1.linux-amd64.tar.gz

3. 解压文件:
tar -zxvf /usr/local/src/prometheus-2.17.1.linux-amd64.tar.gz -C /usr/local

4. 创建软链接(可选):
ln -s /usr/local/prometheus-2.17.1.linux-amd64 /usr/local/prometheus

5. 建立数据存储目录:
mkdir -p /var/lib/prometheus
chown -R prometheus /var/lib/prometheus

6. 创建用户和组:
groupadd prometheus
useradd -g prometheus -s /sbin/nologin prometheus

7. 设置目录权限:
chown -R prometheus:prometheus /usr/local/prometheus/

8. 配置系统服务:
cat >/etc/systemd/system/prometheus.service <[Unit]
Description=Prometheus
Documentation=https://prometheus.io/
After=network.target
[Service]
Type=simple
User=prometheus
ExecStart=/usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml --storage.tsdb.path=/var/lib/prometheus
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF

9. 添加监控目标:
cp /usr/local/prometheus/prometheus.yml{,.bak}
cat >> /usr/local/prometheus/prometheus.yml <- job_name: 'xnode1-mycat33'
scrape_interval: 10s
static_configs:
- targets: ['192.168.73.33:9100']
labels:
instance: xnode1-instance
EOF

10. 启动服务并设为开机自启:
systemctl start prometheus.service
systemctl enable prometheus.service

11. 访问Prometheus Web界面进行验证:
通过浏览器访问 http://192.168.73.34:9090/ 可以看到Prometheus的首页。

六、Node Exporter安装

在目标主机上执行以下步骤:
1. 下载Node Exporter:
wget -P /usr/local/src https://github.com/prometheus/node_exporter/releases/download/v1.0.0-rc.0/node_exporter-1.0.0-rc.0.linux-amd64.tar.gz

2. 解压:
tar -zxvf /usr/local/src/node_exporter-1.0.0-rc.0.linux-amd64.tar.gz -C /usr/local

3. 创建软链接:
ln -s /usr/local/node_exporter-1.0.0-rc.0.linux-amd64/ /usr/local/node_exporter

4. 创建用户:
groupadd prometheus
useradd -g prometheus -s /sbin/nologin prometheus

5. 设置权限:
chown -R prometheus:prometheus /usr/local/node_exporter/

6. 配置系统服务:
cat >/usr/lib/systemd/system/node_exporter.service <[Unit]
Description=node_exporter
Documentation=https://prometheus.io/
After=network.target
[Service]
Type=simple
User=prometheus
ExecStart=/usr/local/node_exporter/node_exporter
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF

7. 启动服务并设为开机自启:
systemctl start node_exporter
systemctl enable node_exporter

8. 检查服务状态:
systemctl status node_exporter
ss -ntl |grep 9100

9. 放行防火墙端口或关闭防火墙:
systemctl stop firewalld
systemctl disable firewalld

七、Grafana配置

1. 访问Grafana:
打开浏览器,访问 http://192.168.73.34:3000/,默认用户名和密码均为admin。

2. 添加数据源:
点击左侧菜单中的【Configuration】->【Data Sources】->【Add data source】,选择Prometheus作为数据源类型。

3. 配置数据源:
Name: 自定义名称
Default: 选中
URL: http://192.168.73.34:9090/
Access: Server(default)
Scrape interval: 15s

4. 测试连接:
点击【Save & Test】按钮,如果显示【Data source is working】则表示配置成功。

5. 查看默认仪表盘:
点击【Prometheus Stats】,即可查看默认的监控仪表盘。


推荐阅读
  • Celery在使用前必须实例化,称为application或app。app是线程安全的,具有不同配置、组件、task的多个Celery应用可以在同一个进 ... [详细]
  • 每位开发者都应该拥有一个展示自我技能与分享知识的空间——个人技术博客。本文将指导你如何使用静态网站生成器Hexo结合GitHub Pages搭建这样一个平台。 ... [详细]
  • Spring Cloud Config 使用 Vault 作为配置存储
    本文探讨了如何在Spring Cloud Config中集成HashiCorp Vault作为配置存储解决方案,基于Spring Cloud Hoxton.RELEASE及Spring Boot 2.2.1.RELEASE版本。文章还提供了详细的配置示例和实践建议。 ... [详细]
  • 本文探讨了如何在Node.js环境中,通过Tor网络使用的SOCKS5代理执行HTTP请求。文中不仅提供了基础的实现方法,还介绍了几种常用的库和工具,帮助开发者解决遇到的问题。 ... [详细]
  • Flowable 6.6.0 表单引擎在Web应用中的集成与使用
    本文档提供了Flowable 6.6.0版本中表单引擎在Web应用程序中的配置和使用指南,包括表单引擎的初始化、配置以及在Web环境下的具体实现方法。 ... [详细]
  • RedHat 系统下配置国内 YUM 源以替代官方收费源的方法
    本文详细介绍如何在 RedHat Linux 中安装并配置 YUM 包管理器,并通过使用国内镜像源来解决因未购买官方服务而导致的更新源限制问题。 ... [详细]
  • 利用YAML配置Resilience4J的Circuit Breaker
    本文探讨了Resilience4j作为现代Java应用程序中不可或缺的容错工具,特别介绍了如何通过YAML文件配置Circuit Breaker以提高服务的弹性和稳定性。 ... [详细]
  • 本文介绍了在Android项目中实现时间轴效果的方法,通过自定义ListView的Item布局和适配器逻辑,实现了动态显示和隐藏时间标签的功能。文中详细描述了布局文件、适配器代码以及时间格式化工具类的具体实现。 ... [详细]
  • 深入解析ES6至ES8的新特性与应用
    本文详细介绍了自2015年发布的ECMAScript 6.0(简称ES6)以来,JavaScript语言的多项重要更新,旨在帮助开发者更好地理解和利用这些新特性进行复杂应用的开发。 ... [详细]
  • MapReduce原理是怎么剖析的
    这期内容当中小编将会给大家带来有关MapReduce原理是怎么剖析的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1 ... [详细]
  • Flowable系列教程:运用ProcessEngineConfigurator实现高级流程引擎配置
    本文探讨了通过ProcessEngineConfigurator接口实现对Flowable流程引擎的高级配置方法。这种方法允许开发者通过自定义配置器来增强或修改流程引擎的行为。 ... [详细]
  • Webpack中实现环境与代码的有效分离
    本文探讨了如何在Webpack中有效地区分开发与生产环境,并实现代码的合理分离,以提高项目的可维护性和加载性能。 ... [详细]
  • 本文详细介绍了ASP.NET缓存的基本概念和使用方法,包括输出缓存、数据缓存及其高级特性,如缓存依赖、自定义缓存和缓存配置文件等。通过合理利用这些缓存技术,可以显著提升Web应用程序的性能。 ... [详细]
  • 本文详细探讨了JavaScript中的闭包与柯里化技术,这两者是函数式编程的重要组成部分,对提升代码的灵活性和可维护性具有重要作用。 ... [详细]
  • 使用Docker部署Gitea自托管Git服务
    Gitea是由Gogs社区分叉而来的开源自托管Git服务,旨在提供一个更加灵活和易于维护的解决方案。本文将详细介绍如何利用Docker容器技术快速部署Gitea。 ... [详细]
author-avatar
461067805QQ
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有