内网部署Prometheus-server结合grafana

目录

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Knowledge Graph Context-Enhanced Diversified Recommendation(MSDM2024)】

Knowledge Graph Context-Enhanced Diversified Recommendation 摘要 推荐系统&#xff08;RecSys&#xff09;领域已被广泛研究&#xff0c;以通过利用用户的历史交互来提高准确性。 尽管如此&#xff0c;这种对准确性的持续追求常常导致多样性的减少&#xff0c;最终导致众所…

Golang | Leetcode Golang题解之第187题重复的DNA序列

题目&#xff1a; 题解&#xff1a; const L 10 var bin map[byte]int{A: 0, C: 1, G: 2, T: 3}func findRepeatedDnaSequences(s string) (ans []string) {n : len(s)if n < L {return}x : 0for _, ch : range s[:L-1] {x x<<2 | bin[byte(ch)]}cnt : map[int]in…

ollama,springAi实现自然语言处理

ollama安装使用&#xff1a; https://ollama.com/ 下载速度比较慢的可以直接使用以下版本0.1.41 https://pan.baidu.com/s/1hCCkYvFjWqxvPyYA2-YElA?pwdotap 直接管理员身份双击安装&#xff0c;安装成功后会在任务栏里出现这个小图标&#xff1a; 打开cmd&#xff0c;输入…

第1章 基础知识

第1章 基础知识 1.1 机器语言 机器语言就是机器指令的集合&#xff0c;机器指令展开来讲就是一台机器可以正确执行的命令 1.2 汇编语言的产生 汇编语言的主题是汇编指令。汇编指令和机器指令的差别在于指令的表示方法上&#xff0c;汇编指令是机器指令便于记忆的书写格式。…

免费分享一套SpringBoot+Vue在线水果(销售)商城管理系统【论文+源码+SQL脚本】,帅呆了~~

大家好&#xff0c;我是java1234_小锋老师&#xff0c;看到一个不错的SpringBootVue在线水果(销售)商城管理系统&#xff0c;分享下哈。 项目视频演示 【免费】SpringBootVue在线水果(销售)商城管理系统 Java毕业设计_哔哩哔哩_bilibili【免费】SpringBootVue在线水果(销售)商…

linux基于wifi,Xshell的远程连接

最近有个比赛&#xff0c;要使用ros小车但是系统是ubuntu20.04无桌面系统刚开始接触linux的我啥都不会&#xff0c;就一个简单的连接wifi都搞了3天才搞通。再此进行一个总结。参考博客原文链接&#xff1a;https://blog.csdn.net/qq_51491920/article/details/126221940 一、什…

非最大值抑制(NMS)函数

非最大值抑制&#xff08;NMS&#xff09;函数 flyfish 非最大值抑制&#xff08;Non-Maximum Suppression, NMS&#xff09;是计算机视觉中常用的一种后处理技术&#xff0c;主要用于目标检测任务。其作用是从一组可能存在大量重叠的候选边界框中&#xff0c;筛选出最具代表…

从CVPR 2024看域适应、域泛化最新研究进展

域适应和域泛化一直以来都是各大顶会的热门研究方向。 域适应指&#xff1a;当我们在源域上训练的模型需要在目标域应用时&#xff0c;如果两域数据分布差异太大&#xff0c;模型性能就有可能降低。这时可以利用目标域的无标签数据&#xff0c;通过设计特定方法减小域间差异&a…

thinksboard 新建子类菜单

新建需要的文件 打开bz-routing.module.ts文件&#xff0c;设置bzRoutes&#xff0c;为下面使用 import { Injectable, NgModule } from angular/core; import { Resolve, RouterModule, Routes } from angular/router; import { Authority } from shared/models/authority.en…

【创建者模式-工厂模式】

简单工厂模式 &#xff08;也称为静态工厂模式&#xff09;由一个工厂对象负责创建所有产品类的实例。客户端通过传入一个参数给工厂类来请求创建哪种产品类的实例。这种模式的优点在于客户端不需要知道具体的产品类&#xff0c;只需要知道对应的参数即可。缺点是当需要添加新…

redis复习

redis知识点 redis持久化redis 订阅发布模式redis主从复制哨兵模式redis雪崩&#xff0c;穿透缓存击穿&#xff08;请求太多&#xff0c;缓存过期&#xff09;缓存雪崩 redis持久化 redis是内存数据库&#xff0c;持久化有两种方式&#xff0c;一种是RDB&#xff08;redis dat…

【解决方案】你必须要知道的~前端九种跨域方式实现原理(完整版)

前言 前后端数据交互经常会碰到请求跨域&#xff0c;什么是跨域&#xff0c;以及有哪几种跨域方式&#xff0c;这些问题通常出现在Web开发中&#xff0c;当浏览器执行脚本发起请求到不同的域名、协议或端口时&#xff0c;出于安全考虑&#xff0c;浏览器会限制这种跨源HTTP请求…

Redis数据库(六):主从复制和缓存穿透及雪崩

目录 一、Redis主从复制 1.1 概念 1.2 主从复制的作用 1.3 实现一主二从 1.4 哨兵模式 1.4.1 哨兵的作用 1.4.2 哨兵模式的优缺点 二、Redis缓存穿透和雪崩 2.1 缓存穿透——查不到 2.1.1 缓存穿透解决办法 2.2 缓存击穿 - 量太大&#xff0c;缓存过期 2.2.1 缓存…

拍照就用华为Pura 70系列,后置真实感人像轻松出片!

平时喜欢用手机记录生活的人是不是总有个烦恼&#xff0c;想要拍出媲美单反的完美人像&#xff0c;又怕照片失真&#xff0c;经过近期对手机摄影的探索&#xff0c;我发现了华为Pura70系列的真实感人像之美&#xff0c;它给予每个热爱生活的人直面镜头的自信&#xff0c;记录真…

毕业季留念,就该这样记录下来

毕业季来啦&#xff01;这个季节总是充满了不舍和期待&#xff0c;就像夏天里的冰淇淋&#xff0c;甜蜜中带着一丝丝凉意。在这个特别的时刻&#xff0c;我想和大家分享一款陪伴我记录青春点滴的神器——nova 12 Ultra 手机。 要说自拍&#xff0c;我可是个“资深玩家”。以前…

以算筑基,以智赋能 | Gooxi受邀出席2024中国智算中心全栈技术大会

6月25日&#xff0c;2024中国智算中心全栈技术大会暨展览会、第5届中国数据中心绿色能源大会暨第10届中国&#xff08;上海&#xff09;国际数据中心产业展览会在上海新国际博览中心隆重召开。Gooxi受邀参与并携最新服务器产品以及解决方案亮相展会&#xff0c;吸引众多行业领袖…

基于MATLAB仿真设计无线充电系统

通过学习无线充电相关课程知识&#xff0c;通过课程设计无线充电系统&#xff0c;将所学习的WPT&#xff0c;DC-DC&#xff0c;APFC进行整合得到整个无线充电系统&#xff0c;通过进行仿真研究其系统特性&#xff0c;完成我们预期系统功能和指标。 以功率器件为基本元件&#x…

【人工智能学习之图像操作(二)】

【人工智能学习之图像操作&#xff08;二&#xff09;】 图像上的运算图像混合按位运算 图像的几何变换仿射变换透视变换膨胀操作腐蚀操作开操作闭操作梯度操作礼帽操作黑帽操作 图像上的运算 图像上的算术运算&#xff0c;加法&#xff0c;减法&#xff0c;图像混合等。 加减…

Profibus协议转Modbus协议网关模块在船舶中的应用

一、背景 在当今数字化快速发展的时代&#xff0c;船舶作为重要的交通工具之一&#xff0c;也在不断追赶着科技的步伐&#xff0c;实现自身的智能化升级。而在这个过程中&#xff0c;Profibus转Modbus网关&#xff08;XD-MDPB100&#xff09;作为关键的一环&#xff0c;扮演着…

05 Shell编程之免交互

目录 5.1 Here Document 免交互 5.1.1 Here Document 概述 5.1.2 Here Document 免交互 1. 通过read命令接收输入并打印 5.1.3 Here Document变量设定 5.1.4 Here Document 格式控制 (1)关闭变量替换的功能。 (2)去掉每行之前的TAB字符。 5.1.5 Here Document 多行注释…