内网部署Prometheus-server结合grafana

目录

1.提取依赖包

2.所有节点安装chrony服务

2.1集群角色规划

[2.2 所有节点安装chrony服务](#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.4 测试时间服务器是否生效)

[2.6.5 重启服务](#2.6.5 重启服务)

3.二进制部署prometheus-server

3.1创建工作目录

3.2解压软件包到指定路径

[3.3 创建符号链接](#3.3 创建符号链接)

3.4启动prometheus

3.4.1以相对路径启动

3.4.2以绝对路径启动

[3.4.3 以环境变量的方式启动](#3.4.3 以环境变量的方式启动)

[3.5 访问prometheus的WebUI](#3.5 访问prometheus的WebUI)

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

3.7将服务设置开机自启动

3.7.1使用systemctl进行重载

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

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

[4.1 解压软件包到指定路径](#4.1 解压软件包到指定路径)

[4.2 启动node-exporter服务](#4.2 启动node-exporter服务)

5.Prometheus配置监控node-expoter

5.1重新加载配置文件

5.2访问Prometheus的WebUI

6.安装grafana

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

[6.2 启动grafana](#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.1 进入到dashboard页面)

[7.2 进入导入模板页面](#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.1 进入设置页面)

​编辑

8.2.3引用instance标签的值

8.2.5引用instance标签的值

8.2.6引用instance标签的值

[8.3Prom QL语句](#8.3Prom QL语句)

[9.Prom 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.0 过去5分钟内每个实例的下行速率)

10.1磁盘IO读写时间

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

[10.3TCP 连接情况](#10.3TCP 连接情况)

10.4磁盘读写速率(IOPS)

10.5磁盘读写容量大小

[10.6 上行速率大于0,表示没有延迟](#10.6 上行速率大于0,表示没有延迟)

[10.大概效果图 根据自己审美来](#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 使用syste mctl 进行重载

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 -expo ter

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 选择相应的模板I D

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

8.grafana自定义dashboard案例

8.1创建dashboard

8.1.1 新建dashboard

8.1.2 选择要创建的资源

8.1.3创建可视化库

8.1.4效果图

8.2 grafana的变量设置

8.2 .1 进入设置页面

8.2.2 进入变量的配置页面

8.2.3 引用i nstance 标签的值

8.2.4 引用i nstance 标签的值

up{job="$job"}

8.2.5 引用i nstance 标签的值

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

8.2.6 引用i nstance 标签的值

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.3 TCP 连接情况

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

相关推荐
Heartsuit2 天前
云原生之运维监控实践-使用Prometheus与Grafana实现对MinIO服务的监测
云原生·grafana·prometheus·minio·运维监控
Cat_Xu2 天前
【TEST】Apache JMeter + Influxdb + Grafana
jmeter·grafana
晴天飛 雪5 天前
Grafana监控PostgreSQL
数据库·postgresql·grafana
大虾别跑5 天前
docker安装zabbix +grafana
docker·zabbix·grafana
菜鸟挣扎史5 天前
grafana+prometheus+windows_exporter实现windows进程资源占用的监控
windows·grafana·prometheus·进程·process
tester Jeffky6 天前
JMeter监听器与压测监控之Grafana
jmeter·eureka·grafana
牙牙7057 天前
Prometheus结合K8s(二)使用
容器·kubernetes·prometheus
牙牙7058 天前
Prometheus结合K8s(一)搭建
容器·kubernetes·prometheus
福大大架构师每日一题8 天前
32.2 prometheus倒排索引统计功能
ios·iphone·prometheus
DB菜鸟10 天前
Grafana Username password invalid
java·服务器·grafana