[基础服务] Grafana/Prometheus/node-exporter 的安装和部署

本文涉及的产品
可观测可视化 Grafana 版,10个用户账号 1个月
可观测监控 Prometheus 版,每月50GB免费额度
简介: [基础服务] Grafana/Prometheus/node-exporter 的安装和部署

简介

其实这种像Grafana 这种无状态应用非常适合使用docker来部署,后续扩展迁移可以完全保证环境的一致性。
下面我们使用docker快速部署一个Grafana 服务

监控端安装:
Prometheus Server(普罗米修斯监控主服务器 )
Node Exporter (收集Host硬件和操作系统信息)
cAdvisor (负责收集Host上运行的容器信息)
Grafana (展示普罗米修斯监控界面)

被监控安装:
Node Exporter (收集Host硬件和操作系统信息)
cAdvisor (负责收集Host上运行的容器信息)

方法 / 步骤

一: 安装 Grafana

🔗 Docker-Hub仓库

# 拉取最新 grafana:9.1.0版本
docker pull grafana/grafana:9.1.0

# 生成预配置
docker run -d \
--name grafana3000 \
-p 3000:3000 \
grafana/grafana:9.1.0
  • ip:3000端口打开

在这里插入图片描述

1.1: 配置文件进行挂载

docker cp grafana:/etc/grafana/. /docker/grafana3000/conf
docker cp grafana:/var/lib/grafana/. /docker/grafana3000/data
docker cp grafana:/var/log/grafana/. /docker/grafana3000/log 

1.2 编辑用户分组信息 (重要)

# 添加用户
useradd grafana

# 指定用户UID信息
vi /etc/passwd

--------- 官方约定grafana用户UID和GID都为472--------------
grafana:x:472:472::/home/grafana:/bin/bash
---------------------------------------------------------

# 编辑用户分组信息
vi /etc/group

---------------
grafana:x:472:
---------------



# 赋予账户权限
chown -R grafana:grafana  /docker/grafana3000
# 查看目录所属信息
ls -lhat /docker/grafana3000

官方文档链接
在这里插入图片描述

1.3 : 安装并检测

docker run -d \
--name grafana3000 \
-p 3000:3000 \
-v /docker/grafana3000/conf:/etc/grafana \
-v /docker/grafana3000/data:/var/lib/grafana \
-v /docker/grafana3000/log:/var/log/grafana \
-v /etc/localtime:/etc/localtime:ro \
--restart=always \
grafana/grafana:9.1.0

1.4 查看是否在运行:

docker ps -l

查看启动日志:

docker logs grafana3000 

如果没有启动成功的话,可以排查一下挂载的目录是否正确,比如是否配了目录权限等。

在这里插入图片描述
在这里插入图片描述

二: 部署并启动 Prometheus Server

Docker-Hub

# 选择最新2.38.0版本
docker pull prom/prometheus:v2.38.0

# 创建prometheus.yml文件
mkdir /docker/prometheus9090
cd /docker/prometheus9090
vim prometheus.yml
  • 编写yml文件 (一定要注意格式,否则会报错)
global:
  scrape_interval: 15s
  evaluation_interval: 15s
scrape_configs:
  - job_name: 'prometheus'
    static_configs:
    - targets: ['localhost:9090']
  • 运行
docker run -d \
--name=prometheus9090 \
-p 9090:9090 \
-v /docker/prometheus9090/prometheus.yml:/etc/prometheus/prometheus.yml \
--restart=always \
prom/prometheus:v2.38.0
  • 查看是否安装成功

http://ip:9090

在这里插入图片描述

  • 查看监控的数据

http://服务器IP:9090/metrics可以查看到监控的数据
在这里插入图片描述
在这里插入图片描述
下面就监控远程Linux主机, 在被监控端上安装node_exporter组件了

三: 部署并启动 node-exporter

不建议将其部署为Docker容器,因为它需要访问主机系统。请注意,您要监视的任何非根安装点都需要绑定到容器中。如果启动容器以进行主机监视,请指定path.rootfs参数。

Docker-Hub

# 拉取镜像(取最新稳定版本)
docker pull prom/node-exporter:v1.3.1

# node-expoter 默认端口号是9100
# 启动命令
docker run -d \
--net="host" \
--name node_exporter \
--restart=unless-stopped -p 9100:9100 \
-v "/proc:/host/proc:ro" \
-v "/sys:/host/sys:ro" \
-v "/:/rootfs:ro" \
--restart=always \
prom/node-exporter:v1.3.1

在这里插入图片描述

启动后通过
http://IP:9100/metrics 查看是否启动成功 (包含指标数据为启动成功)
在这里插入图片描述

五: 整合配置

5.1 到prometheus配置添加监控机器

# 更改配置文件
vi /docker/prometheus9090/prometheus.yml 

# job_name 给被监控主机取个名字,我这里直接填的IP
# targets 填写被监控主机的IP和端口
  - job_name: 'nasvm0-exporter'      
    static_configs:
    - targets: ['192.168.11.100:9100']

改完配置文件后,重启服务

docker restart  [CONTAINER ID]

打开prometheus

在这里插入图片描述

5.2 在Grafana上添加Prometheus 服务数据源

我们把prometheus服务器收集的数据做为一个数据源添加到grafana,让grafana可以得到prometheus的数据
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  • 返回配置我们可以看到已经添加的数据源

在这里插入图片描述

5.3 Grafana图形显示Linux硬件信息

在🔗Grafana官方提供模板 中寻找 🔗 本次要导入的模板,该插件里面包含:CPU 内存 磁盘IO 网络, 温度和其他监控指标

在这里插入图片描述

  • 面板里面选择导入

在这里插入图片描述

在这里插入图片描述
将面板ID填入,选择数据源,点击导入

在这里插入图片描述

  • 导入成功

在这里插入图片描述

六: 监控报警

  • prometheus配合alertmanager这个组件报警,报警规则需要手动编写,这需要对prometheus+alertmanager有一定的了解
  • grafana配合SaaS模式的云告警平台onealert报警,onealert也是需要时间熟悉的
  • 这里演示最传统的grafana+email报警

6.1 修改grafana配置文件,添加发件邮箱

❗❗注意:如果smtp邮箱的25端口被禁用,如果出现发送超时可以改成465端口重试
🔗 相关邮箱服务地址查询


vi /docker/grafana3000/conf/grafana.ini
# 找到smtp关键字
#################################### SMTP / Emailing ##########################
[smtp]
enabled = true  # 改成true
host = smtp.exmail.qq.com:465   # 发送服务器地址和端口
user =   # 这里填写发件邮箱
# If the password contains # or ; you have to wrap it with triple quotes. Ex """#password;"""
password =  # 这里填写发件邮箱密码或授权密码
;cert_file =
;key_file =
skip_verify = true  # 改成true
from_address =  # 这里填写发件邮箱
;from_name = Grafana
# EHLO identity in SMTP dialog (defaults to instance_name)
;ehlo_identity = dashboard.example.com
# SMTP startTLS policy (defaults to 'OpportunisticStartTLS')
;startTLS_policy = NoStartTLS

6.2 在通知模块创建收件人组

在这里插入图片描述

  • 建立联系点

在这里插入图片描述

在这里插入图片描述
然后发送成功
在这里插入图片描述

参考资料 & 致谢

[1] Grafana监控

相关实践学习
通过可观测可视化Grafana版进行数据可视化展示与分析
使用可观测可视化Grafana版进行数据可视化展示与分析。
目录
相关文章
|
1月前
|
Prometheus 运维 监控
智能运维实战:Prometheus与Grafana的监控与告警体系
【10月更文挑战第26天】Prometheus与Grafana是智能运维中的强大组合,前者是开源的系统监控和警报工具,后者是数据可视化平台。Prometheus具备时间序列数据库、多维数据模型、PromQL查询语言等特性,而Grafana支持多数据源、丰富的可视化选项和告警功能。两者结合可实现实时监控、灵活告警和高度定制化的仪表板,广泛应用于服务器、应用和数据库的监控。
254 3
|
1天前
|
存储 数据采集 Prometheus
Grafana Prometheus Altermanager 监控系统
Grafana、Prometheus 和 Alertmanager 是一套强大的开源监控系统组合。Prometheus 负责数据采集与存储,Alertmanager 处理告警通知,Grafana 提供可视化界面。本文简要介绍了这套系统的安装配置流程,包括各组件的下载、安装、服务配置及开机自启设置,并提供了访问地址和重启命令。适用于希望快速搭建高效监控平台的用户。
38 20
|
3天前
|
Prometheus 运维 监控
Prometheus+Grafana+NodeExporter:构建出色的Linux监控解决方案,让你的运维更轻松
本文介绍如何使用 Prometheus + Grafana + Node Exporter 搭建 Linux 主机监控系统。Prometheus 负责收集和存储指标数据,Grafana 用于可视化展示,Node Exporter 则采集主机的性能数据。通过 Docker 容器化部署,简化安装配置过程。完成安装后,配置 Prometheus 抓取节点数据,并在 Grafana 中添加数据源及导入仪表盘模板,实现对 Linux 主机的全面监控。整个过程简单易行,帮助运维人员轻松掌握系统状态。
34 3
|
3天前
|
Prometheus 监控 前端开发
Grafana 安装配置教程,让你的 Prometheus 监控数据变得更美观
《Grafana安装配置教程,让你的Prometheus监控数据变得更美观》简介: Grafana是一个开源的度量分析与可视化工具,支持多种数据源(如Prometheus),提供丰富的可视化功能和警报机制。本文详细介绍了Grafana的安装、汉化方法及模板使用,帮助用户轻松创建美观、灵活的数据面板,并实现数据的协作与共享。通过Docker镜像、配置文件修改或替换前端页面等方式实现汉化,让用户更便捷地使用中文界面。此外,还提供了导入JSON格式模板的具体步骤,方便快速搭建仪表盘。
20 2
|
3天前
|
Prometheus Cloud Native Linux
Prometheus+Grafana新手友好教程:从零开始搭建轻松掌握强大的警报系统
本文介绍了使用 Prometheus 和 Grafana 实现邮件报警的方案,包括三种主要方法:1) 使用 Prometheus 的 Alertmanager 组件;2) 使用 Grafana 的内置告警通知功能;3) 使用第三方告警组件如 OneAlert。同时,详细描述了环境准备、Grafana 安装配置及预警设置的步骤,确保用户能够成功搭建并测试邮件报警功能。通过这些配置,用户可以在系统或应用出现异常时及时收到邮件通知,保障系统的稳定运行。
22 1
|
1月前
|
Web App开发 JavaScript 前端开发
2024年5月node.js安装(winmac系统)保姆级教程
本篇博客为2024年5月版Node.js安装教程,适用于Windows和Mac系统。作者是一名熟悉JavaScript与Vue的大一学生,分享了Node.js的基本介绍、下载链接及简单安装步骤。安装完成后,通过终端命令`node -v`验证版本即可确认安装成功。欢迎关注作者,获取更多技术文章。
32 2
2024年5月node.js安装(winmac系统)保姆级教程
|
1月前
|
存储 JavaScript 搜索推荐
Node框架的安装和配置方法
安装 Node 框架是进行 Node 开发的第一步,通过正确的安装和配置,可以为后续的开发工作提供良好的基础。在安装过程中,需要仔细阅读相关文档和提示,遇到问题及时解决,以确保安装顺利完成。
95 2
|
1月前
|
JavaScript C++ 容器
【Azure Bot Service】部署NodeJS ChatBot代码到App Service中无法自动启动
2024-11-12T12:22:40.366223350Z Error: Cannot find module 'dotenv' 2024-11-12T12:40:12.538120729Z Error: Cannot find module 'restify' 2024-11-12T12:48:13.348529900Z Error: Cannot find module 'lodash'
46 11
|
1月前
|
Prometheus 监控 Cloud Native
基于Docker安装Grafana和Prometheus
Grafana 是一款用 Go 语言开发的开源数据可视化工具,支持数据监控和统计,并具备告警功能。通过 Docker 部署 Grafana 和 Prometheus,可实现系统数据的采集、展示和告警。默认登录用户名和密码均为 admin。配置 Prometheus 数据源后,可导入主机监控模板(ID 8919)进行数据展示。
105 2
|
1月前
|
Prometheus 运维 监控
智能运维实战:Prometheus与Grafana的监控与告警体系
【10月更文挑战第27天】在智能运维中,Prometheus和Grafana的组合已成为监控和告警体系的事实标准。Prometheus负责数据收集和存储,支持灵活的查询语言PromQL;Grafana提供数据的可视化展示和告警功能。本文介绍如何配置Prometheus监控目标、Grafana数据源及告警规则,帮助运维团队实时监控系统状态,确保稳定性和可靠性。
213 0