首页 > 编程语言 >一键搭建Prometheus+node_exporter+grafana监控脚本

一键搭建Prometheus+node_exporter+grafana监控脚本

时间:2024-07-17 09:59:53浏览次数:18  
标签:node 脚本 exporter service PROMETHEUS grafana prometheus VERSION DIR

概要

为了方便更好的安装prometheus监控体系,创建了一个一键搭建监控的脚本,但实际需要跟现场环境进行匹配,修改。

脚本使用方法:

1.修改你需要下载的版本号

2.创建一个目录名为/prometheus的目录

3.如需修改为其他目录,需修改脚本文件,以及*.service的目录路径

代码如下:

#!bin/bash
#定义prometheus版本号
PROMETHEUS_VERSION="2.25.0" #选择要下载的版本
NODE_EXPORTER_VERSION="1.1.2"
GRAFANA_VERSION="7.4.3"
#下载链接
DOWNlOAD_PROMETHEUS_URL="https://github.com/prometheus/prometheus/releases/download/v${PROMETHEUS_VERSION}/prometheus-${PROMETHEUS_VERSION}.linux-amd64.tar.gz"

wget ${DOWNlOAD_PROMETHEUS_URL}

#判断是否下载成功
if [ $? -ne 0]; then
    echo "Failed to download Prometheus"
    exit 1
fi
#解压prometheus到指定路径 此处在/prometheus/

PROMETHEUS_DIR="/prometheus"
mkdir ${PROMETHEUS_DIR}
tar -xf prometheus-${PROMETHEUS_VERSION}.linux-amd64.tar.gz -C ${PROMETHEUS_DIR}


mv ${PROMETHEUS_DIR}/prometheus-${PROMETHEUS_VERSION}.linux-amd64 ${PROMETHEUS_DIR}/prometheus

cat >> /usr/lib/systemd/system/prometheus.service <<EOF
[Unit]
Description=Prometheus Node Exporter
After=network.target
 
[Service]
ExecStart=/prometheus/prometheus/prometheus --config.file=/prometheus/prometheus/prometheus.yml --web.read-timeout=5m  --web.max-connections=10 --storage.tsdb.retention=15d --storage.tsdb.path=/prometheus/prometheus/data --query.max-concurrency=20 --query.timeout=2m
User=root

[Install]
WantedBy=multi-user.target

EOF

systemctl daemon-reload
systemctl restart prometheus

# 检查服务是否成功启动  
if ! systemctl is-active --quiet prometheus; then  
    echo "Failed to start prometheus service"  
    exit 1  
fi  
systemctl enable prometheus

echo "prometheus has been installed and started successfully."

#下载node_exporter
DOWNlOAD_NODE_EXPORTER_URL="https://github.com/prometheus/node_exporter/releases/download/v${NODE_EXPORTER_VERSION}/node_exporter-${NODE_EXPORTER_VERSION}.linux-amd64.tar.gz"
wget ${DOWNlOAD_NODE_EXPORTER_URL}

# 检查下载是否成功  
if [ $? -ne 0 ]; then  
    echo "Failed to download node_exporter"  
    exit 1  
fi  
  
tar xf "node_exporter-${NODE_EXPORTER_VERSION}.linux-amd64.tar.gz" -C ${PROMETHEUS_DIR} 
  
# 重命名解压后的目录  
mv ${PROMETHEUS_DIR}/node_exporter-${NODE_EXPORTER_VERSION}.linux-amd64/ ${PROMETHEUS_DIR}/node_exporter  
  
# 创建systemd服务文件  
cat > /usr/lib/systemd/system/node_exporter.service <<EOF  
[Unit]  
Description=Prometheus Node Exporter  
  
[Service]  
Restart=on-failure  
ExecStart=/prometheus/node_exporter/node_exporter --collector.systemd --collector.systemd.unit-whitelist=(docker|sshd|nginx).service  
  
[Install]  
WantedBy=multi-user.target  
EOF  
  
# 重新加载systemd以识别新服务  
systemctl daemon-reload  
  
# 启动node_exporter服务  
systemctl restart node_exporter  
# 检查服务是否成功启动  
if ! systemctl is-active --quiet node_exporter; then  
    echo "Failed to start node_exporter service"  
    exit 1  
fi  

# 设置node_exporter服务开机自启  
systemctl enable node_exporter  
  
echo "node_exporter has been installed and started successfully."

#下载grafana

DOWNlOAD_GRAFANA_URL="wget https://dl.grafana.com/enterprise/release/grafana-enterprise-${GRAFANA_VERSION}.linux-amd64.tar.gz"
wget ${DOWNlOAD_GRAFANA_URL}

# 检查下载是否成功  
if [ $? -ne 0 ]; then  
    echo "Failed to download granafa"  
    exit 1  
fi  
  

tar xf "granafa-enterprise-${GRAFANA_VERSION}.linux-amd64.tar.gz" -C ${PROMETHEUS_DIR} 
  
# 重命名解压后的目录  
mv ${PROMETHEUS_DIR}/granafa-${GRAFANA_VERSION}/ ${PROMETHEUS_DIR}/granafa  
  
# 创建systemd服务文件  
cat > /usr/lib/systemd/system/grafana.service <<EOF  
[Unit]
Description=Grafana
After=network.target

[Service]
ExecStart=/prometheus/grafana/bin/grafana-server -homepath=/prometheus/grafana

[Install]
WantedBy=multi-user.target  

EOF  
  
# 重新加载systemd以识别新服务  
systemctl daemon-reload  
  
# 启动node_exporter服务  
systemctl restart grafana  
# 检查服务是否成功启动  
if ! systemctl is-active --quiet grafana; then  
    echo "Failed to start grafana service"  
    exit 1  
fi  

# 设置node_exporter服务开机自启  
systemctl enable grafana  
  
echo "grafana has been installed and started successfully."

总结:

使用前修改脚本的一些配置,比如说路径、版本号等等 ,更好的去使用该脚本,可能存在修改需要,评论区可以进行讨论,学习。 

标签:node,脚本,exporter,service,PROMETHEUS,grafana,prometheus,VERSION,DIR
From: https://blog.csdn.net/m0_65196233/article/details/140485851

相关文章

  • Grafana Loki查询加速:如何在不添加资源的前提下提升查询速度
    GrafanaLoki查询加速:如何在不添加资源的前提下提升查询速度来自GrafanaLokiqueryacceleration:Howwespedupquerieswithoutaddingresources,介绍了Loki如何通过n-grams+布隆过滤器来加速查询。在过去的5年中,我们在平衡特性开发和支持大规模用户之时,改善了日志聚合......
  • LeetCode 1530. Number of Good Leaf Nodes Pairs
    原题链接在这里:https://leetcode.com/problems/number-of-good-leaf-nodes-pairs/description/题目:Youaregiventhe root ofabinarytreeandaninteger distance.Apairoftwodifferent leaf nodesofabinarytreeissaidtobegoodifthelengthof thesh......
  • 【JavaScript脚本宇宙】解密六大Node.js消息队列库:选对工具,事半功倍
    从Bull到NSQ:探索Node.js消息队列库的全貌前言在现代软件开发中,消息队列是一种常见的通信模式,用于实现异步任务处理、解耦系统组件、以及实现可靠的事件驱动架构。Node.js作为一个流行的后端开发平台,有许多优秀的消息队列库可以供开发者选择和使用。本文将介绍六个流行的No......
  • Grafana+Loki+Promtail 日志监控
    Grafana+Loki+Promtail日志监控原创 Jruing 佛系内卷写代码 2024年07月06日17:30 北京 2人听过前置工作用户组(按需创建)GrafanaLokiLoki配置文件Promtail配置文件配置数据源创建仪表盘添加查询项 前置工作Centos7关闭防火......
  • Node.js安装与配置
    Node.js的安装与配置[Node.js官网]20.15.1版本下载链接zip包下载设置全局安装文件夹npmconfigsetprefix"F:\dev\env\node\node_global"设置全局缓存文件夹npmconfigsetcache"F:\dev\env\node\node_cache"安装cnpm到本地npminstall-gcnpm--registry=https:/......
  • vue-cli 搭建的项目 node搞版本兼容 配置写法
    先删除package-lock.json和node_modules再安装 兼容低版本安装方式 npminstall--legacy-peer-deps启动命令npmrunservewindow环境打包命令npmrunbuild:win注意:如果是要跑liunx环境就需要多安装一条命令window环境打包命令npmrunbuild:liunx......
  • nodejs微信支付安全证书下载,亲测有效
    微信支付是目前非常流行的支付方式之一,很多开发者在集成微信支付时需要下载并使用微信支付的安全证书。本文将详细介绍如何在Node.js环境中下载微信支付安全证书,并提供一个亲测有效的示例代码。前置条件在开始之前,请确保你已经具备以下条件:已注册微信支付商户,并获得商户号和AP......
  • 全栈物联网项目:结合 C/C++、Python、Node.js 和 React 开发智能温控系统(附代码示例)
    1.项目概述本文详细介绍了一个基于STM32微控制器和AWSIoT云平台的智能温控器项目。该项目旨在实现远程温度监控和控制,具有以下主要特点:使用STM32F103微控制器作为主控芯片,负责数据采集、处理和控制逻辑采用DHT22数字温湿度传感器,精确采集环境温湿度数据通过ESP8266WiF......
  • Prometheus+BlackBox-Exporter实现端口监控
    Blackbox-Exporter添加Basicauth(非必要)FROMprom/blackbox-exporter:v0.25.0COPYpassword.yml/etc/blackbox_exporter/EXPOSE9115ENTRYPOINT["/bin/blackbox_exporter"]CMD["--config.file=/etc/blackbox_exporter/config.yml","......
  • 【nvm、node、npm、nrm】安装配置教程(windows版)
    一、nvm的安装与配置1、nvm下载与安装nvm官方下载地址(我这里使用当前最新版本1.1.12)2、验证nvm是否安装成功#查看nvm版本nvm-v#显示远程可安装node列表nvmlsavailable#安装指定node版本(版本可以直接输入大版本,比如20,会自动安装20大版本下的最......