
Promethues应用
文章平均质量分 67
仁王_雅治
想一想,一步步来到这里也挺不容易的
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
如何实现prometheus对k8的监控
实现prometheus对k8的监控分为以下几个步骤。1.1、创建命名空间首先我们创建一个命名空间monitoring。后面所有的内容都会安装在这个命名空间中。apiVersion: v1kind: Namespacemetadata: name: monitoring创建命令:kubectl create -f namespace.yaml与之相对的,如果修改了yaml文件,...原创 2018-11-13 14:49:40 · 2788 阅读 · 0 评论 -
k8s基本概述&资源对象相关概念
1、Namespace用于将物理集群划分为多个虚拟集群,本身也是一个object。Namespace间完全隔离,因此也常被用来隔离不同的用户及权限。内置有三个Namespace,分别是:default,kube-system(平台组件),kube-public。2、Annotations(注解)可以将任意非标识性元数据附加到对象上。将数据作为Annotations附着在对象上,有利于创建一些...原创 2018-12-24 23:55:48 · 5130 阅读 · 0 评论 -
k8s Master节点和Node节点上各组件的基本作用
Kubernetes集群分为一个Master节点和若干Node节点。集群所有的控制命令都传递给Master组件,在Master节点上运行(kubectl命令在其他Node节点上无法执行)。通常在Master节点启动所有的Master组件,包括etcd、api server、controller manager、scheduler。四个组件的主要功能可以概括为:api server:其他M...原创 2019-01-07 09:11:21 · 22505 阅读 · 2 评论 -
kube-state-metrics在k8s上的正确部署
参考yaml文件:https://github.com/kubernetes/kube-state-metrics/tree/master/kubernetes探针的作用:能够查看k8s上诸如Pod、Deployment、Daemonset、StatefulSet等资源对象的相关指标。遇到的问题:1、已经将探针升级到最新版本。在查看最新释放版本信息的过程中,能够查询到部分新释放的指标,但并不...原创 2019-02-13 01:28:51 · 6716 阅读 · 0 评论 -
yaml文件编写示例及解析
Service示例apiVersion: v1Kind: Servicemetadata: name: hello-servicespec: type:NodePort selector: app: hello-k8s-demo port: - protocol: TCP port: 80 targetPort: 8080 nodePor...原创 2019-11-17 21:06:48 · 1176 阅读 · 0 评论 -
prometheus targets常见报错
报错:Get http://10.4.41.161:10255/metrics: dial tcp ip:10255: connect: connection refused解决方法:cd /etc/kubernetes/vi kubelet.env #修改为--read-only-port=10255 \#必须重启service kubelet restart...原创 2019-11-17 20:40:33 · 5674 阅读 · 0 评论 -
k8s rest接口调用实例
1、调用api server得到节点的监控数据curl -o nodeexporter.log -k -u k8s_usrname: k8s_password https://10.4.**.**:6443/api/v1/nodes/node-kle6kz7u/proxy/metrics注:-k 必不可少,忽略证书验证。不加参数k,会报错:curl: (60) Peer's Certi...原创 2019-11-17 17:38:23 · 2043 阅读 · 0 评论 -
nodeSelector使两个Pod部署在一台主机上
spec: serviceAccountName: prometheus-k8s nodeSelector: kubernetes.io/hostname: node-rwc3apul containers:参考:https://www.huweihuang.com/article/kubernetes/nodeselector-and-t...原创 2019-11-17 17:31:10 · 1207 阅读 · 0 评论 -
prometheus中relabel_config的用法
样例1: - action: labelmap # 匹配下面正则表达式的标签会被保留 regex: __meta_kubernetes_node_label_(.+) - target_label: __address__ # 直接替换 将 __address__ 替换成 192.168.88.10 replacement: 192.168.88.10 # sou...原创 2019-11-17 16:20:07 · 1286 阅读 · 0 评论 -
通过consul实现prometheus动态服务发现以及告警策略注册
执行语句:二进制安装:./consul agent -dev -ui -node=consul-dev -client=10.4.54.31 镜像安装:sudo docker run --name consul -d -p 8500:8500 consul访问地址:http://ip:8500/ui/dc1/services...原创 2018-12-03 17:03:27 · 7814 阅读 · 1 评论 -
alertmanager中关于router的理解
routes: - receiver: webhook match: filesystem: nodereceivers:- name: 'webhook' webhook_configs: - url: 'http://10.4.45.205:8080/aclome/service/api/rest/alertSimilarReceive/generatePr...原创 2019-11-13 23:31:37 · 2674 阅读 · 1 评论 -
Prometheus数据存储原理了解
prometheus技术分享prometheus是由SoundCloud开发的开源监控告警系统并且自带时序数据库基于Go语言。优点:1、提供多维度数据模型和灵活的查询方式,通过将监控指标关联多个Tag,来将监控数据进行任意维度的组合;提供HTTP查询接口;可以很方便的结合Grafana等组件展示数据。2、在不依赖外部存储的情况下,支出服务器节点的本地存储,通过prometheus自带的时序...原创 2019-11-13 21:15:16 · 3393 阅读 · 0 评论 -
如何部署WeaveScope
Weave Scope这个项目会自动生成容器之间的关系图,方便理解容器之间的关系,也方便监控容器化和微服务化的应用。可以实时了解Docker容器的状态。一、 wget https://git.io/scope此时提示错误:ERROR: cannot verify git.io's certificate, issued by ?.C=CN/ST=ShenYang/L=LiaoNing/O=...原创 2018-11-16 15:53:42 · 4142 阅读 · 2 评论 -
Prometheus容器监控指标详解
CPU使用率指标名称:container_cpu_usage_seconds_total容器CPU使用率计算公式详解注:container_cpu_usage_seconds_total得到的并不是容器的CPU使用率,待我们一层层分析。第一步:http://10.4.**.***:31263/api/v1/query?query=container_cpu_usage_seconds_t...原创 2019-08-16 21:30:49 · 2665 阅读 · 0 评论 -
prometheus关于instance和job的区别
Prometheus是一套开源的监控系统,它将所有信息都存储为时间序列数据,实时分析系统运行的状态、执行时间、调用次数等,为性能优化提供依据。Prometheus提供了4中不同的Metrics类型: Counter, Gauge, Histogram, Summary。Counter:只增不减的计数器计数器可以用于记录只会增加不会减少的指标类型,比如记录应用请求的总量,cpu使用时间等。...原创 2018-11-06 10:17:35 · 4752 阅读 · 0 评论 -
Prometheus框架图及基本原理
Prometheus安装获取安装包(外网下载,国内网大概率下不下来)wget https://github.com/prometheus/prometheus/releases/download/v2.5.0/prometheus-2.5.0.linux-amd64.tar.gz#prometheus.yml为prometheus的配置文件./prometheus --config.fi...原创 2018-12-20 09:13:46 · 6354 阅读 · 0 评论 -
如何通过docker快读部署cadvisor
#拉取镜像docker pull google/cadvisor:latest#部署运行docker run --volume=/:/rootfs:ro --volume=/var/run:/var/run:rw --volume=/sys:/sys:ro --volume=/var/lib/docker/:/var/lib/docker:ro --volume=/dev/disk/:/de...原创 2019-11-13 04:37:32 · 781 阅读 · 0 评论 -
通过Http API的方式更改k8s中的configmap
1、在PUT中直接输入json串会因为格式原因报出各种各样的错误,因此将修改后的configmap存到configmap_core.json文件中。curl -X PUT -u k8s_usrname:k8s _password -H 'Content-Type: application/json' --data-binary @configmap_core.json https://10.4...原创 2018-12-20 11:51:19 · 3008 阅读 · 0 评论 -
prometheus 的 http api
我们可以分别通过 /api/v1/query 和 /api/v1/query_range 查询 PromQL 表达式当前或者一定时间范围内的查询结果。瞬时数据查询这个 url 的查询结果为当前时间node_disk_io_now指标的查询结果。http://10.4.54.31:32075/api/v1/query?query=node_disk_io_now...原创 2018-11-15 15:44:51 · 26785 阅读 · 9 评论 -
k8s_prometheus_prometheus-core和k8s_POD_prometheus-core容器的区别
1、group by举例:group_by: ['id','alertname']出现在alertmanager.yml中,表示根据labels中的某一个或多个属性进行分组,以某个告警信息中的labels为例:"labels":{ "alertname":&am原创 2019-02-18 00:43:35 · 1161 阅读 · 0 评论 -
注释值annotations如何使用标签labels模板化
groups:- name: PromRules rules: - alert: Node-Load annotations: {description: '{{ $labels.resType}} : {{ $labels.job}}', summary: 'summaryTest'} expr: node_load1 > 0.01 for: ...原创 2019-11-13 03:56:48 · 825 阅读 · 0 评论 -
AlertManager发送的告警json中labels的来源&可供分组的字段
下面的告警json是以alertname分组,对于alertname、instance相同的告警进行抑制(有critical级别的告警时抑制warning级别告警){ "receiver":"web\.hook", "status":"firing", "alerts":[ { "status":"firing", ...原创 2019-11-13 03:23:41 · 4043 阅读 · 0 评论 -
如何理解AlertManager中的分组,抑制和静默
alertmanager.ymlglobal: resolve_timeout: 5mroute: group_by: ['alertname'] group_wait: 10s group_interval: 10s repeat_interval: 60s receiver: 'web.hook'receivers:- name: 'web.hook' we...原创 2019-11-13 03:17:09 · 4062 阅读 · 0 评论 -
prometheus执行reload命令失败
prometheus对于yml文件的格式校验十分严格groups:- name: PromRules rules: - alert: Node-Load annotations: {description: 'descTest', summary: 'summaryTest'} expr: node_load1 > 0.01 for: 30s...原创 2019-11-13 02:31:36 · 1808 阅读 · 0 评论 -
prometheus是如何定义告警级别的
groups:- name: PromRules rules: - alert: Node-Load annotations: {description: 'descTest', summary: 'summaryTest'} expr: node_load1 > 0.01 for: 30s labels: {resType: 'Node...原创 2019-11-13 02:15:47 · 6458 阅读 · 0 评论 -
通过二进制文件快速部署AlertManager
nohup ./alertmanager --config.file=alertmanager.yml --web.listen-address=:9093 >> output.log 2>&1 & 当告警的alertmanager.yml文件改变时,可使用reload命令热加载curl -X POST http://10.4.41.164:9093/-/r...原创 2019-11-13 01:22:28 · 503 阅读 · 0 评论 -
通过两种方式映射prometheus的配置文件
两者除了挂载方式不同,其余均相同主机目录映射apiVersion: extensions/v1beta1kind: Deploymentmetadata: name: prometheus-core namespace: monitoring labels: app: prometheus component: corespec: replicas: 1...原创 2019-11-12 23:43:39 · 974 阅读 · 0 评论 -
如何通过docker快速部署prometheus
Prometheus 可以采用多种方式安装,本文直接用官网的 docker image(prom/prometheus)启动一个 Prometheus server, 并配置相应的静态监控 targets。二进制方式:https://blog.csdn.net/weixin_38645718/article/details/102844002启动docker(前面是本地,后面docker内部)...原创 2019-11-12 23:31:23 · 645 阅读 · 0 评论 -
prometheus策略,告警,基本配置中易混淆的概念
#Evaluate rules every 15 seconds#每隔多长时间计算一次rulesevaluation_interval #语句会使prometheus服务等待指定的时间,然后执行查询表达式for #自动恢复时间 #告警每隔repeat_interval会发送一次,如果隔了resolve_timeout还没重新发送,说明已经好一段时间没有触发告警了,则将这条告警res...原创 2019-11-12 23:28:28 · 735 阅读 · 0 评论 -
如何通过docker快速部署Grafana并配置数据源
docker起grafana镜像 docker load < grafana.tar docker run -d -p 3000:3000 docker run -d -p 3000:3000 10.4.41.221/prometheus/grafana[root@node-gvngrmix prom]# docker imagesREPOSITORY ...原创 2019-11-12 23:08:28 · 1780 阅读 · 0 评论 -
alertmanager没有收到prometheus的告警
global: scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute. evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute...原创 2019-11-12 22:55:24 · 1383 阅读 · 0 评论 -
获取kubernetes集群资源对象(控制器,Pod,容器)的详细信息
List<Deployment> deploymentList = client.apps().deployments().list().getItems();String namespace = "default"; for(Deployment deployment:deploymentList){ String name = deployment.getMetadata()...原创 2019-11-09 23:55:32 · 1467 阅读 · 0 评论 -
nodejs编写HTTP server,接收alertmanager告警
1、在Linux上部署node.js环境2、编写server.jshttp = require('http')querystring = require('querystring')var body = ''http.createServer(function (req, res) { req.on('data', function (chunk) { body +...原创 2018-12-21 14:15:23 · 670 阅读 · 0 评论 -
prometheus如何实现Linux主机的监控
Prometheus 主要用于监控 web 服务,如果需要监控Linux主机,则需要在本机上安装 node exporter。 Node exporter 主要用于暴露 metrics 给 Prometheus 。1、首先在prometheus官网下载 node_exporter-0.17.0-rc.0.linux-amd64.tar.gz 的压缩包。官网地址为: https://prometh...原创 2018-11-08 20:01:43 · 4793 阅读 · 0 评论 -
Promsql语法用法
Prometheus 提供了一种功能表达式语言 PromQL,允许用户实时选择和汇聚时间序列数据。表达式的结果可以在浏览器中显示为图形,也可以显示为表格数据,或者由外部系统通过 HTTP API 调用。时间序列过滤器选择指标名称为 http_requests_total 的所有时间序列:http_requests_total可以通过向花括号 {} 里附加一组标签来进一步过滤时间序列。例如...原创 2019-11-03 23:35:49 · 17490 阅读 · 1 评论 -
策略yml如何获取指标标签值&如何在prometheus的指标中加入自定义标签
以节点健康状态为例:查询:kube_node_status_condition{condition="Ready",status="true"} != 0查询结果:kube_node_status_condition{condition="Ready",instance="10.233.75.45:8080",job="kubernetes-endpoints",k8s_app="kub...原创 2019-11-02 23:01:49 · 2199 阅读 · 1 评论 -
prometheus策略文件编写样例
groups: - name: MonitotingRules rules: - alert: Node-Healthy annotations: {description: '33410,28857,91,32,123,123,32,36,108,97,98,101,108,115,46,112,111,100,95,110,97,109,101,125,125,...原创 2019-11-02 00:14:46 · 772 阅读 · 0 评论 -
如何编译Weave Scope并使修改生效运行
在scope文件目录下直接执行make。如果需要重新编译,则在当前目录下执行make clean。make根据Makefile文件编译源代码、连接、生成目标文件。make clean清除上次make命令所产生的object文件(后缀为“.o”的文件)注1:无需安装GoLand。注2:配置Go环境,在/etc/profile中设置GOROOT、GOPATH,同时在命令行中export PAT...原创 2018-12-14 17:52:23 · 504 阅读 · 0 评论 -
prometheus告警配置及Alertmanager实践
alertmanager.yml global: #自动恢复,类似trap中的告警自动恢复时间 resolve_timeout: 5m route: #告警分组 #对labels中的某一个或多个标签进行分组 #将id和alertname相同的告警分成一组,每一个分组最后都会合成一条信息在产生告警之后发送过来。这种方式可以有效减少告警消息...原创 2019-10-31 19:45:55 · 1512 阅读 · 0 评论 -
prometheus如何实现对etcd监控
需要配置相关证书,否则将会导致监控失败。证书路径为/etc/ssl/etcd/ssl无需修改/etc/etcd.envetcd位于master节点,如果targets选错节点,监控界面会报错 Get https://localhost:2379/metrics: dial tcp 127.0.0.1:2379: connect: connection refusedglobal: scr...原创 2019-10-31 19:34:06 · 3864 阅读 · 0 评论