首页 > 其他分享 >prometheus

prometheus

时间:2022-12-18 08:44:17浏览次数:34  
标签:node awen app prometheus memory root

源码地址

https://github.com/prometheus/prometheus/blob/main/cmd/prometheus/main.go

storage.tsdb.min-block-duration  一个数据块持久化最短时间默认情况下是两个小时

storage.tsdb.retention.time=2y(年)  保存多长时间

storage.tsdb.min-block-duration   数据块在持久化之前的最短持续时间默认值(“2h”)内存利用率越低,这个时间可以设置的时间越大

storage.tsdb.max-block-duration  每个多长时间进行压缩  保存到磁盘的块 默认值是持久化参数的百分之10

storage.tsdb.max-block-chunk-segment-size  设置chunk的大小,数据保存到磁盘以后chunk里面的block的大小  一旦用到了远端存储没用了(不往本地存储放)

内存数据多久往磁盘上持久化  block多大  就没用了  

storage.tsdb.retention.size  块(block)可以存储的最大字节数。需要一个单位,支持的单位:B,KB,MB,GB,TB,PB,EB  默认512MB

root@awen:~# tar xf prometheus-2.40.5.linux-amd64.tar.gz -C /app/

root@awen:/app# ln -sv /app/prometheus-2.40.5.linux-amd64/ /app/prometheus

root@awen:/app# cat /etc/systemd/system/prometheus.service
[Unit]
Description=Prometheus Server
Documentation=https://prometheus.io/docs/introduction/overview/
After=network.target
[Service]
Restart=on-failure
WorkingDirectory=/app/prometheus/
ExecStart=/app/prometheus/prometheus --config.file=/app/prometheus/prometheus.yml --web.enable-lifecycle
[Install]
WantedBy=multi-user.target

监听在9090端口

 

部署node_exporter:(部署在目标主机的,收集物理机或虚拟机的指标数据)数据导出器  自动发现  没有配置文件  可以收集定义好的指标数据   prometheus配置node节点地址,根据配置好的周期时间(默认是15s),prometheus主动向node节点发起tcp连接,建立连接后向prometheus server的9100/metrics 这个uri,发起请求,node_exporter吧当前收集的数据发给prometheus server,granfana 就可以练到prometheus 上查看数据 两台主机

 root@awen:~# tar xvf node_exporter-1.5.0.linux-amd64.tar.gz -C /app

root@awen:/app# ln -sv /app/node_exporter-1.5.0.linux-amd64 /app/node_exporter

root@awen:/app# vim /etc/systemd/system/node-exporter.service
[Unit]
Description=Prometheus Node Exporter
After=network.target
[Service]
ExecStart=/app/node_exporter/node_exporter
[Install]
WantedBy=multi-user.target

root@awen:/app# systemctl start node-exporter.service
root@awen:/app# systemctl status node-exporter.service

 scrape_interval 抓取间隔时间

evaluation_interval 扫描规则变更的间隔时间

scrape_configs 数据抓取配置

static_configs 静态配置

targets  目标主机

./promtool check config prometheus.yml  检查配置文件

 

 

 

 

node节点指标数据收集: node节点常见指标: node_boot_time:系统自启动以后的总结时间 node_cpu:系统CPU使用量 node_disk*:磁盘IO node_filesystem*:系统文件系统用量 node_load1:系统CPU负载 node_memory*:内存使用量 node_network*:网络带宽指标 node_time:当前系统时间 go_*:node exporter中go相关指标 process_*:node exporter自身进程相关运行指标  

wget https://dl.grafana.com/enterprise/release/grafana-enterprise_9.3.1_amd64.deb
dpkg -i grafana-enterprise_9.3.1_amd64.deb

systemctl restart grafana-server grafana不负责数据收集和存储 都在prometheus存储 数据源是prometheus granfan和prometheus连接在一起才行 与prometheus不是长连接  只有在查看图形的时候才会链接prometheus,加载图形 查询方式是添加个数据源,(图形是模板)导入模板,导入模板的时候添加一个数据源,模板引用数据源,模板的图形会转化为prometheus的查询语句,在prometheus中查询数据

 

 grafana模板

 

选择下载最多的 默认是按下载量排序的 

 

 下载json文件

上传模板

 

PromQL语句-指标数据、数据类型、匹配器; PromQL语句-时间范围、运算符、聚合运算及示例;   PromQL语句: PromQL简介: Prometheus提供一个函数式的表达式语言PromQL (Prometheus Query Language),可以使用户实时地查找和聚合时间序列数据,表达式计算结果可 以在图表中展示,也可以在Prometheus表达式浏览器中以表格形式展示,或者作为数据源, 以HTTP API的方式提供给外部系统使用。 https://prometheus.io/docs/prometheus/latest/querying/basics  

 

 已用内存

总共内存--已用内存

 

 指定时间

 

 

 

 

 

 

 grafana创建Dashboard

 

 

 

 

  保存

pushgetway

root@awen:~# wget https://github.com/prometheus/pushgateway/releases/download/v1.5.1/pushgateway-1.5.1.linux-amd64.tar.gz

root@awen:~# tar xf pushgateway-1.5.1.linux-amd64.tar.gz -C /app/ppushgateway

root@awen:/app# ln -sv pushgateway-1.5.1.linux-amd64 pushgateway

root@awen:/app# cat /etc/systemd/system/pushgateway.service
[Unit]
Description=Prometheus pushgateway
After=network.target
[Service]
ExecStart=/app/pushgateway/pushgateway
[Install]
WantedBy=multi-user.target

root@awen:/app# systemctl daemon-reload
root@awen:/app# systemctl start pushgateway.service

root@awen:/app/pushgateway# ./pushgateway --help

 

  --persistence.interval=5m  持久化周期  每个多长时间持久化到文件中

 

 --persistence.file=""   持久化文件  默认在内存中

echo 指标名称和值 通过curl 去传  --data-binary 格式是二进制  @- 拿到前echo的值   发给pushgetwey

root@awen:~# echo "mytest_metric 2088" | curl --data-binary @- http://10.4.7.132:9091/metrics/job/mytest_job

 

 

root@awen:/app/prometheus# vi prometheus.yml  添加

 

 

 

 

 

客户端推送多条数据-方式一:

root@awen:~# cat <<EOF | curl --data-binary @- http://10.4.7.132:9091/metrics/job/test_job/instance/10.4.7.133
#TYPE node_memory_usage gauge
node_memory_usage 4311744512
# TYPE memory_total gauge
node_memory_total 103481868288
EOF

 

 

 

客户端推送多条数据-方式二:  基于自定义脚本实现数据的收集和推送:

root@awen:~# vi memory_monitor.sh
#!/bin/bash
total_memory=$(free |awk '/Mem/{print $2}')
used_memory=$(free |awk '/Mem/{print $3}')
job_name="custom_memory_monitor"
instance_name=`ifconfig ens32 | grep -w inet | awk '{print $2}'` pushgateway_server="http://10.4.7.132:9091/metrics/job"
cat <<EOF | curl --data-binary @- ${pushgateway_server}/${job_name}/instance/${instance_name}
#TYPE custom_memory_total gauge
custom_memory_total $total_memory
#TYPE custom_memory_used gauge
custom_memory_used $used_memory
EOF

pushgateway指标数的删除: 通过API删除: 

 

 root@awen:~# curl -X DELETE http://10.4.7.132:9091/metrics/job/custom_memory_monitor/instance/10.4.7.134

 

 

prometheus Federation(联邦集群):   root@awen:/apps/prometheus# cat prometheus.yml 添加

 

 

 

 

 

标签:node,awen,app,prometheus,memory,root
From: https://www.cnblogs.com/tshxawen/p/16980645.html

相关文章

  • K8S的Kafka监控(Prometheus+Grafana)
    欢迎访问我的GitHub这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos对于部署在K8S上的Kafka来说,Prometheus+Grafana是常用的监控......
  • 【云原生】Prometheus 自定义告警规则
    目录一、概述二、告警实现流程三、告警规则1)告警规则配置1)监控服务器是否在线3)告警数据的状态四、实战操作1)下载node_exporter2)启动node_exporter3)配置Prometheus加载nod......
  • prometheus.yml自动发现配置记录
    正常安装普罗米修斯之后,静态配置不对方便后续添加,官方也提供了许多自动发现服务,这里采用了其中一种。在prometheus.yml同级目录下,创建一个node文件夹,用来存放后续想拉取的......
  • 监控报警体系:Prometheus和Grafana
    总体prometheus全链路监控报警,在当今云原生时代可观测领域,Prometheus + Grafana 成为可观测性事实标准。采集数据:运维团队可以使用 Prometheus 监控云原生 Kub......
  • Prometheus技术分享——如何监控宿主机和容器
    这一期主要来跟大家聊一下,使用node_exporter工具来暴露主机和因公程序上的指标,利用prometheus来监控宿主机;以及通过通过Cadvisor监控docker容器。一、部署node_exporter监......
  • prometheus 普罗米修斯安装
    下载https://prometheus.io/download/  安装、启动wgethttps://github.com/prometheus/prometheus/releases/download/v2.40.6/prometheus-2.40.6.linux-amd64.t......
  • Prometheus 企业微信报警/inhibit抑制 /静默
    创建企业微信应用注册企业微信:访问https://work.weixin.qq.com/,注册企业,随便填,不需要认证创建应用创建告警配置vim/usr/local/prometheus-2.1/rule2.ymlgroups:-nam......
  • Prometheus+Grafana+alertmanager+ 邮件 +钉钉告警
    Prometheus+Grafana+alertmanager+邮件+钉钉告警本文模拟生产环境一ansible部署ansbile部署在线安装yuminstallansible-y离线安装#离线环境,提前在有网络的服......
  • 【云原生】Prometheus PromQL讲解与实战操作
    目录一、PromQL介绍二、四种指标类型1)counter(计数器)2)gauge(仪表类型)3)Histogram(直方图类型)和Summary(摘要类型)三、表达式四种数据类型1)瞬时向量(Instantvector)2)区间向量(Ran......
  • Prometheus(第七周)
    监控的简介监控的价值:长期趋势分析:通过对监控样本数据的持续收集和统计,对监控指标进行长期趋势分析。例如,通过对磁盘空间增长率的判断,我们可以提前预测在未来什么时间节......