热门标签 | 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】,即可查看默认的监控仪表盘。


推荐阅读
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • Explore a common issue encountered when implementing an OAuth 1.0a API, specifically the inability to encode null objects and how to resolve it. ... [详细]
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • Docker的安全基准
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 本文详细介绍了Java中org.neo4j.helpers.collection.Iterators.single()方法的功能、使用场景及代码示例,帮助开发者更好地理解和应用该方法。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • Explore how Matterverse is redefining the metaverse experience, creating immersive and meaningful virtual environments that foster genuine connections and economic opportunities. ... [详细]
  • 在当前众多持久层框架中,MyBatis(前身为iBatis)凭借其轻量级、易用性和对SQL的直接支持,成为许多开发者的首选。本文将详细探讨MyBatis的核心概念、设计理念及其优势。 ... [详细]
  • C++构造函数与初始化列表详解
    本文深入探讨了C++中构造函数的初始化列表,包括赋值与初始化的区别、初始化列表的使用规则、静态成员初始化等内容。通过实例和调试证明,详细解释了初始化列表在对象创建时的重要性。 ... [详细]
  • 深入理解Java泛型:JDK 5的新特性
    本文详细介绍了Java泛型的概念及其在JDK 5中的应用,通过具体代码示例解释了泛型的引入、作用和优势。同时,探讨了泛型类、泛型方法和泛型接口的实现,并深入讲解了通配符的使用。 ... [详细]
  • 并发编程:深入理解设计原理与优化
    本文探讨了并发编程中的关键设计原则,特别是Java内存模型(JMM)的happens-before规则及其对多线程编程的影响。文章详细介绍了DCL双重检查锁定模式的问题及解决方案,并总结了不同处理器和内存模型之间的关系,旨在为程序员提供更深入的理解和最佳实践。 ... [详细]
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社区 版权所有