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


推荐阅读
  • 本文详细介绍了Java中org.neo4j.helpers.collection.Iterators.single()方法的功能、使用场景及代码示例,帮助开发者更好地理解和应用该方法。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • Explore a common issue encountered when implementing an OAuth 1.0a API, specifically the inability to encode null objects and how to resolve it. ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 本文介绍如何在 Android 中通过代码模拟用户的点击和滑动操作,包括参数说明、事件生成及处理逻辑。详细解析了视图(View)对象、坐标偏移量以及不同类型的滑动方式。 ... [详细]
  • 本文详细介绍了如何在BackTrack 5中配置和启动SSH服务,确保其正常运行,并通过Windows系统成功连接。涵盖了必要的密钥生成步骤及常见问题解决方法。 ... [详细]
  • This guide provides a comprehensive step-by-step approach to successfully installing the MongoDB PHP driver on XAMPP for macOS, ensuring a smooth and efficient setup process. ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 本文介绍了如何使用JQuery实现省市二级联动和表单验证。首先,通过change事件监听用户选择的省份,并动态加载对应的城市列表。其次,详细讲解了使用Validation插件进行表单验证的方法,包括内置规则、自定义规则及实时验证功能。 ... [详细]
  • 本文详细介绍了Java中org.eclipse.ui.forms.widgets.ExpandableComposite类的addExpansionListener()方法,并提供了多个实际代码示例,帮助开发者更好地理解和使用该方法。这些示例来源于多个知名开源项目,具有很高的参考价值。 ... [详细]
  • PHP 5.2.5 安装与配置指南
    本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]
  • 在前两篇文章中,我们探讨了 ControllerDescriptor 和 ActionDescriptor 这两个描述对象,分别对应控制器和操作方法。本文将基于 MVC3 源码进一步分析 ParameterDescriptor,即用于描述 Action 方法参数的对象,并详细介绍其工作原理。 ... [详细]
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社区 版权所有