内网部署Prometheus-server结合grafana

news2024/11/24 20:23:47

目录

1.提取依赖包

2.所有节点安装chrony服务

2.1集群角色规划

2.2 所有节点安装chrony服务

2.3添加hosts文件解析(服务端)

2.4修改时间服务器

​编辑

2.5重启chrony服务,使得配置生效

2.6修改客户端配置(注意是客户端其他节点)

2.6.1添加housts解析

2.6.2指定时间服务器

2.6.3重启chrony服务,使得配置生效

2.6.4 测试时间服务器是否生效

2.6.5 重启服务

3.二进制部署prometheus-server

3.1创建工作目录

3.2解压软件包到指定路径

3.3 创建符号链接

3.4启动prometheus

3.4.1以相对路径启动

3.4.2以绝对路径启动

3.4.3 以环境变量的方式启动

3.5 访问prometheus的WebUI

3.6将prometheus服务设置为开机自启动

3.7将服务设置开机自启动

3.7.1使用systemctl进行重载

3.7.2使用API请求重载(要求启动服务时开启"--web.enable-lifecycle "参数)

4.部署node-exporter(所有节点安装)

 4.1 解压软件包到指定路径 

4.2 启动node-exporter服务

5.Prometheus配置监控node-expoter

5.1重新加载配置文件

5.2访问Prometheus的WebUI

6.安装grafana

6.1内网部署需要很多依赖包(依次导入)

6.2 启动grafana

6.3访问grafana的WebUI

6.4配置grafana的数据源为prometheus

6.4.1进入管理员界面

6.4.2添加数据源

6.4.3选择数据源为prometheus

6.4.4配置prometheus数据源

6.4.5保存配置

7.部署grafana并导入node-exporter模板(内网略过)

7.1 进入到dashboard页面

7.2 进入导入模板页面

7.3选择相应的模板ID

8.grafana自定义dashboard案例

8.1创建dashboard

8.1.1新建dashboard

8.1.3创建可视化库

8.1.4效果图

8.2grafana的变量设置

8.2.1 进入设置页面

​编辑

8.2.3引用instance标签的值

8.2.5引用instance标签的值

8.2.6引用instance标签的值

8.3Prom QL语句

9.Prom QL语句

9.1CPU核数

9.2CPU使用率

9.3内存总量

9.4内存使用率

9.5网络

9.6系统运行时间

9.7最大分区/data使用率

9.8系统负载(1m)

9.9过去5分钟内的网络上行速率,即每秒发送的字节数

10.0 过去5分钟内每个实例的下行速率

10.1磁盘IO读写时间

10.2磁盘每秒的I/O操作耗费时间(%)

10.3TCP 连接情况

10.4磁盘读写速率(IOPS)

10.5磁盘读写容量大小

10.6 上行速率大于0,表示没有延迟

10.大概效果图 根据自己审美来

10.16.40.215

​编辑

10.16.36.204


1.提取依赖包

链接:https://pan.baidu.com/s/17bHDhmQvMHA3sg4s1OG0Sg 
提取码:0124 
--来自百度网盘超级会员V3的分享

2.所有节点安装chrony服务

2.1集群角色规划

根据自己服务器规划

主机名

IP地址

CPU

内存

磁盘

角色

10.16.36.204

20G+

Prometheus server+grafana 

10.16.40.215

20G+

Prometheus server

可多节点我这里简单用两个

也可以用于单节点部署grafana 之后采集Prometheus server

2.2 所有节点安装chrony服务

执行命令

rpm -ivh libseccomp-2.3.1-4.el7.x86_64.rpm chrony-3.4-1.el7.x86_64.rpm

2.3添加hosts文件解析(服务端)

vim /etc/hosts

2.4修改时间服务器

vim /etc/chrony.conf

2.5重启chrony服务,使得配置生效

systemctl restart chronyd

2.6修改客户端配置注意是客户端其他节点

2.6.1添加housts解析

vim /etc/hosts

2.6.2指定时间服务器

vim /etc/chrony.conf

根据自己本机的修改

2.6.3重启chrony服务,使得配置生效

systemctl restart chronyd

2.6.4 测试时间服务器是否生效

修改时间

date -s "2020-10-01 08:30:00"

2.6.5 重启服务

systemctl restart chronyd

date -R

3.二进制部署prometheus-server

3.1创建工作目录

mkdir -pv /gshx/{softwares,data,logs}

3.2解压软件包到指定路径

tar xf prometheus-2.37.8.linux-amd64.tar.gz -C /gshx/softwares/

3.3 创建符号链接

cd /gshx/softwares/ && ln -sv prometheus-2.37.8.linux-amd64 prometheus

3.4启动prometheus

3.4.1以相对路径启动

cd /gshx/softwares/prometheus && ./prometheus

3.4.2以绝对路径启动

/gshx/softwares/prometheus/prometheus --config.file=/oldboyedu/softwares/prometheus/prometheus.yml 以环境变量的方式启动

3.4.3 以环境变量的方式启动

cat > /etc/profile.d/prometheus.sh <<EOF

#!/bin/bash

export PROMETHEUS_HOME=/gshx/softwares/prometheus

EOF



ln -sv /gshx/softwares/prometheus/prometheus /usr/local/bin/



prometheus --config.file=${PROMETHEUS_HOME}/prometheus.yml

3.5 访问prometheus的WebUI

http://10.16.36.204:9090/graph

IP根据自己的改

3.6将prometheus服务设置为开机自启动

编写启动脚本

/etc/systemd/system/prometheus-server.service

[Unit]

Description=gshx   Prometheus Server

Documentation=https://prometheus.io/docs/introduction/overview/

After=network.target



[Service]

Restart=on-failure

ExecStart=/gshx/softwares/prometheus/prometheus \

    --config.file=/gshx/softwares/prometheus/prometheus.yml \

    --web.enable-lifecycle

ExecReload=/bin/kill -HUP $MAINPID

LimitNOFILE=65535



[Install]

WantedBy=multi-user.target

3.7将服务设置开机自启动

systemctl enable --now prometheus-server

ss -ntl

3.7.1使用systemctl进行重载

systemctl reload prometheus-server

3.7.2使用API请求重载(要求启动服务时开启"--web.enable-lifecycle "参数)

curl -X POST http://10.16.36.204:9090/-/reload

4.部署node-exporter所有节点安装)

 4.1 解压软件包到指定路径 

tar xf node_exporter-1.6.1.linux-amd64.tar.gz -C /gshx/softwares/

4.2 启动node-exporter服务

cd /gshx/softwares/node_exporter-1.6.1.linux-amd64/ && ./node_exporter

vim /lib/systemd/system/node_exporter.service

[Unit]
Description=Node Exporter
After=network-online.target


[Service]
User= prometheus
Type=simple
WorkingDirectory=/gshx/softwares/node_exporter-1.6.1.linux-amd64/
ExecStart=/gshx/softwares/node_exporter-1.6.1.linux-amd64/node_exporter \
          --collector.filesystem.fs-types-exclude=tmpfs|proc|rpc_pipefs|rootfs|nfs4 \
          --collector.diskstats.device-exclude=dm.*|sr\d+|loop\d+ \
          --collector.netclass.ignored-devices=br.*|docker.*|veth.*|lo.*|tap.*|virbr.*|cni.*|fw.*|vlan.*|vmbr.* \
          --collector.netdev.device-exclude=br.*|veth.*|docker.*|lo.*|tap.*|virbr.*|cni.*|fw.*|vlan.*|vmbr.* \
          --collector.filesystem.mount-points-exclude=.*docker.* \
          --no-collector.arp \
          --web.listen-address=0.0.0.0:9100 \
          --log.level=debug
ExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure
RestartSec=20
CPUQuota=100%
MemoryLimit=512M

[Install]
WantedBy=multi-user.target

systemctl enable --now node_exporter # 启动并开机自启

5.Prometheus配置监控node-expoter

vim /gshx/softwares/prometheus/prometheus.yml

5.1重新加载配置文件

curl -X POST http://10.16.36.204:9090/-/reload

5.2访问Prometheus的WebUI

http://10.16.36.204:9090/targets

6.安装grafana

6.1内网部署需要很多依赖包(依次导入)

就按圈内的操作其他不要管,自己的测试

rpm -ivh 包名

6.2 启动grafana

systemctl enable --now grafana-server

ss –ntl

6.3访问grafana的WebUI

http://10.16.36.204:3000/

6.4配置grafana的数据源为prometheus

6.4.1进入管理员界面

6.4.2添加数据源

6.4.3选择数据源为prometheus

6.4.4配置prometheus数据源

6.4.5保存配置

7.部署grafana并导入node-exporter模板(内网略过)

7.1 进入到dashboard页面

7.2 进入导入模板页面

7.3选择相应的模板ID

(外网可以选择模板ID,1860)(内网选择自定义以下步骤)

8.grafana自定义dashboard案例

8.1创建dashboard

8.1.1新建dashboard

8.1.2选择要创建的资源

8.1.3创建可视化库

8.1.4效果图

8.2grafana的变量设置

8.2.1 进入设置页面

8.2.2进入变量的配置页面

8.2.3引用instance标签的值

8.2.4引用instance标签的值

up{job="$job"}

8.2.5引用instance标签的值

maxmount
topk(1,sort_desc (max(node_filesystem_size_bytes{instance=~'$node',fstype=~"ext4|xfs"}) by (mountpoint)))
/.*\"(.*)\".*/

8.2.6引用instance标签的值

8.3Prom QL语句

9.Prom QL语句

9.1CPU核数

count(count(node_cpu_seconds_total{instance=~"$node", mode='system'}) by (cpu))

9.2CPU使用率

100 - (avg(irate(node_cpu_seconds_total{instance=~"$node",mode="idle"}[1m])) * 100)

9.3内存总量

node_memory_MemTotal_bytes{instance=~"$node"}

9.4内存使用率

((node_memory_MemTotal_bytes{instance=~"$node"} - node_memory_MemFree_bytes{instance=~"$node"} - node_memory_Buffers_bytes{instance=~"$node"} - node_memory_Cached_bytes{instance=~"$node"}) / (node_memory_MemTotal_bytes{instance=~"$node"} )) * 100

9.5网络

irate(node_network_transmit_bytes_total{instance=~"$node"}[1m])

9.6系统运行时间

time() - node_boot_time_seconds{instance=~"$node"}

9.7最大分区/data使用率

100 - ((node_filesystem_avail_bytes{instance=~"$node",mountpoint="$maxmount",fstype=~"ext4|xfs"} * 100) / node_filesystem_size_bytes {instance=~"$node",mountpoint="$maxmount",fstype=~"ext4|xfs"})

9.8系统负载(1m)

node_load1{instance="$node"}

9.9过去5分钟内的网络上行速率,即每秒发送的字节数

sum(irate(node_network_receive_bytes_total{job=~"$job", instance=~'$node'}[5m])) by (instance)

10.0 过去5分钟内每个实例的下行速率

sum(irate(node_network_receive_bytes_total{job=~"$job", instance=~'$node'}[5m])) by (instance)

10.1磁盘IO读写时间

irate(node_disk_io_time_seconds_total{instance=~"$node"}[1m])

10.2磁盘每秒的I/O操作耗费时间%

irate(node_disk_io_time_seconds_total{instance=~"$node"}[1m])

10.3TCP 连接情况

node_netstat_Tcp_CurrEstab{instance=~'$node'}

10.4磁盘读写速率(IOPS)

irate(node_disk_reads_completed_total{instance=~"$node"}[1m])

10.5磁盘读写容量大小

irate(node_disk_read_bytes_total{instance=~"$node"}[1m])

10.6 上行速率大于0,表示没有延迟

irate(node_network_receive_bytes_total{job=~"$job", instance=~'$node'}[5m]) > 0

10.大概效果图 根据自己审美来

10.16.40.215

10.16.36.204

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1865386.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

韩语日常口语留学韩语旅游韩语口语柯桥语言培训

韩语每日一词打卡&#xff1a;행정적[행정적]【名词】行政 原文:나라는 항상 행정적 명령을 통해 경제운행을 조절합니다. 意思&#xff1a;国家经常通过行政命令去调节经济的运行。 【原文分解】 1、항상[항상]总是 &#xff0c;经常 2、나라[나라]国家 3、명령[명:녕]命令 …

使用AI机器学习,轻松解决化合物配比优化问题

为什么需要化合物配比的优化&#xff1f; 在化合物制造行业中&#xff0c;化合物的配比是产品质量控制的关键环节。 化合物制造流程 目前&#xff0c;这一过程高度依赖于材料专家和工程技术人员的经验&#xff0c;通过反复试验来验证产品性能&#xff0c;确保其满足市场和客户的…

Spring Boot 学习第八天:AOP代理机制对性能的影响

1 概述 在讨论动态代理机制时&#xff0c;一个不可避免的话题是性能。无论采用JDK动态代理还是CGLIB动态代理&#xff0c;本质上都是在原有目标对象上进行了封装和转换&#xff0c;这个过程需要消耗资源和性能。而JDK和CGLIB动态代理的内部实现过程本身也存在很大差异。下面将讨…

队列与循环队列

目录 1. 前言&#xff1a; 2. 队列 2.1 队列的概念 2.2 队列的实现 2.3 队列的声明 2.4 队列的初始化 2.5 队列的入队 2.6 队列的出队 2.7 队列获取队头元素 2.8 队列获取队尾元素 2.9 队列获取有效数据个数 2.10 队列判断是否为空 2.11 打印队列 2.12 销毁队列 …

机器发货到菲律宾的完整流程 广东智慧物流

机器发货到菲律宾的完整流程 广东智慧物流 &#x1f31f;【机器发货到菲律宾完全攻略】&#x1f31f; 机器发货到菲律宾的完整流程 广东智慧物流 为你整理了一份超详细的机器发货到菲律宾的攻略&#xff01;海运14天轻松到达&#xff0c;让你无后顾之忧&#xff01;&#x1f…

【编译原理】总览

1 字母表 字母表&#xff1a; 用∑表示&#xff0c;它是一个有穷符号集合 符号&#xff1a;字母、数字、标点符号... 例如&#xff1a;二进制字母表为{0&#xff0c;1}&#xff0c;ASCII字符集 2 字母表的运算 字母表上的乘积&#xff1a; ∑1∑2{ab | a属于∑1&#xff0c;b…

MySQL—存储过程(详细介绍与基本语法)

目录 一、存储过程——介绍 &#xff08;1&#xff09;基本介绍 &#xff08;2&#xff09;基本特点 二、存储过程——语法 &#xff08;1&#xff09;基本语法 创建 调用 &#xff08;2&#xff09;实操&#xff08;创建和调用&#xff09; 1、创建一个叫 "p1&qu…

SAP CO11N BAPI_PRODORDCONF_CREATE_TT连续报工异步更新导致COGI解决方案

背景&#xff1a; 之前上一个项目上有同事碰到一个问题&#xff0c;外围接口数据进入SAP&#xff0c;可能会对同一工单同一工序进行连续多次报工&#xff0c;并且工序控制码配置的是会自动货物移动的&#xff0c;所以正常来说&#xff0c;调用完BAPI完之后除了报工数量会更新之…

indexedDB---浏览器本地数据库实现增删改查

关于indexedDB indexedDB的基本使用&#xff0c;可以参考&#xff1a;indexedDB---掌握浏览器内建数据库的基本用法_indexdb浏览器使用-CSDN博客 indexedDB是浏览器本地数据库&#xff0c;既然是数据库就能够实现增删改查&#xff0c;了解了indexedDB的基本使用后&#xff0c…

怎么把不同的文件做成二维码?多种文件类型在线生码的制作方法

扫码来展示文件是现在很多场景下会使用的一种内容展示方法&#xff0c;这种方式能够简化其他人获取文件的流程&#xff0c;从而提升文件传播的效率&#xff0c;用户可以存储二维码&#xff0c;随时扫码查看文件内容。文件生成二维码支持多种类型的文件使用&#xff0c;比如ppt、…

Element 页面滚动表头置顶

在开发后台管理系统时&#xff0c;表格是最常用的一个组件&#xff0c;为了看数据方便&#xff0c;时常需要固定表头。 如果页面基本只有一个表格区域&#xff0c;我们可以根据屏幕的高度动态的计算出一个值&#xff0c;给表格设定一个固定高度&#xff0c;这样表头就可以固定…

Transformer实战——摘要生成

本文借助Huggingface Tranformer库完成一个摘要生成任务&#xff0c;参考自https://github.com/datawhalechina/learn-nlp-with-transformers/&#xff0c;在本文&#xff0c;将展示如何使用简单的加载数据集&#xff0c;同时针对相应的任务使用transformer中的Trainer接口对模…

司美格鲁肽在中国获批!深度解析报告附上

在中国&#xff0c;肥胖问题日益严重&#xff0c;但有效的治疗方法却相对匮乏。然而&#xff0c;这一现状随着国家药品监督管理局&#xff08;NMPA&#xff09;对诺和诺德公司研发的司美格鲁肽注射液&#xff08;商品名&#xff1a;诺和盈&#xff09;的批准而得到改变。6月25日…

hadoop离线与实时的电影推荐系统-计算机毕业设计源码10338

摘 要 随着互联网与移动互联网迅速普及&#xff0c;网络上的电影娱乐信息数量相当庞大&#xff0c;人们对获取感兴趣的电影娱乐信息的需求越来越大,个性化的离线与实时的电影推荐系统 成为一个热门。然而电影信息的表示相当复杂&#xff0c;己有的相似度计算方法与推荐算法都各…

文件管理器加载缓慢-禁用文件类型自动发现功能

文件管理器加载缓慢-禁用文件类型自动发现功能 右键“Shell”项&#xff0c;选择新建“字符串值” “FolderType”&#xff0c;数值为 NotSpecified。

Python数据分析-糖尿病数据集数据分析

一、研究背景介绍 糖尿病是美国最普遍的慢性病之一&#xff0c;每年影响数百万美国人&#xff0c;并对经济造成重大的经济负担。糖尿病是一种严重的慢性疾病&#xff0c;其中个体失去有效调节血液中葡萄糖水平的能力&#xff0c;并可能导致生活质量和预期寿命下降。。。。糖尿…

【网络安全学习】漏洞利用:-01- BurpSuite的基础设置使用

Burp Suite是一款集成了多种功能的Web应用渗透测试工具&#xff0c;可以帮助渗透测试人员对Web应用进行拦截、分析、修改、重放、扫描、爆破、模糊测试等操作&#xff0c;从而发现和利用Web应用中的漏洞。可以说Burp Suite是每个安全从业人员必须学会使用的安全渗透测试工具。 …

服务器硬件以及RAID配置

目录 一、RAID磁盘阵列原理&#xff08;嘎嘎重要&#xff09; 1、RAID的概述 2、常用的RAID 2.1、RAID 0 2.2、RAID 1 2.3、RAID 5 2.5、RAID 10 3、阵列卡介绍 二、建立软件RAID磁盘阵列 1、添加硬盘 2、使用fdisk分区&#xff0c;类型为fd 3、mdata命令使用参数 …

今日好料(中国农业银行研发中心DevOps规划与实践)

今日好料&#xff08;中国农业银行研发中心DevOps规划与实践&#xff09; 在数字化转型的背景下&#xff0c;企业面临着更加复杂和多变的市场环境&#xff0c;对IT系统的敏捷性和稳定性提出了更高的要求。作为金融行业的领军企业&#xff0c;中国农业银行在其研发中心推进DevO…

eXosip协议栈构造Info应答并发送

最近在开发GB28181视频监控平台&#xff0c;对于录像的暂停、倍速等控制是通过INFO消息完成的&#xff0c;但是eXosip协议栈没有明确说明该如何去构造INFO消息的应答。通过对源代码的解读&#xff0c;是使用eXosip_call_send_answer接口去构造&#xff0c;参考了一些博客&#…