Jiangxl~
CSDN博客专家、51CTO专家博主、阿里云博客专家、华为云享专家、DevOps运维领域优质创作者、
2021年度博客之星运维与安全领域TOP1,InfoQ签约作者、阿里云社区签约作者。博客包括:Python、前端、Kubernetes、Docker、CI/CD、DevOps、Prometheus、Zabbix、MQ、Redis、MySQL、WEB集群、自动化运维、阿里云、ELK、Linux、等相关使用及进阶知识。查看博客过程中,如有任何问题,皆可随时沟通。
展开
-
使用Prometheus监控elasticsearch集群
使用Prometheus监控Elasticsearch集群文章目录使用Prometheus监控Elasticsearch集群1.在Elasticsearch集群中部署exporter2.elasticsearch_exporter启动命令参数解释3.在prometheus中增加elasticsearch_exporter4.在Grafana中导入elasticsearch监控模板prometheus监控es,同样采用exporter的方案。elasticsearch_exporter:https://原创 2021-11-25 11:17:49 · 3145 阅读 · 15 评论 -
prometheus以监控Pod TCP连接数为例删除一个或多个metrics指标
prometheus删除一个或多个metrics不管什么exporter总是会收集很多没用的metrics,这些metrics我们不一定需要看它获取的监控数据,但是这些metrics依然在规定时间内收集监控数据,占用的大量的磁盘空间,造成资源浪费。我们可以通过metric_reabel_configs模块对metrics进行正则匹配,将没有用的metrics删除。以监控K8s Pod资源TCP连接数为例来说明如何使用metric_reabel_configs模块对metrics操作。监控Pod资源T原创 2021-11-10 10:34:20 · 7092 阅读 · 8 评论 -
kubernetes_sd_configs可配置元标签详解
kubernetes_sd_configs可配置元标签详解1.基于Kubernetes的服务发现kubernetes_sd_config 这个是以角色(role)来定义收集的,Kubernetes SD配置允许从Kubernetes的RESTAPI中检索scrape目标,并始终与群集状态保持同步。凡<role>必须是endpoints,service,pod,node,或ingress。2.Role可配置的发现目标2.1.nodenodenode角色发现每个群集节点有一个目标,其地址原创 2021-11-04 17:21:39 · 2672 阅读 · 1 评论 -
Prometheus+Grafana全方位监控Kubernetes集群资源利用率
Prometheus+Grafana全方位监控Kubernetes集群文章目录Prometheus+Grafana全方位监控Kubernetes集群1.k8s监控指标2.k8s基础环境准备2.1.环境准备2.2.部署nfs作为prometheus存储2.3.获取prometheus yaml文件2.4.创建命名空间prometheus3.在k8s中部署prometheus3.1.prometheus-yaml准备3.2.创建rbac资源3.3.创建configmap资源3.4.创建statefulset资原创 2021-01-06 17:03:20 · 18709 阅读 · 18 评论 -
使用influxdb支持的稳定协议连接prometheus弃用remote_storage协议
使用influxdb支持的协议连接prometheus使用remote_storage协议去让prometheus连接influxdb数据库很不稳定,经常出现504数据无法写入influxdb的问题,并且经常无法读取到influxdb数据库的数据,因此我们弃用remote_storage协议,而采用influxdb特定的协议去让prometheus去连接1.使用influxdb协议的前提条件influxdb数据库至少要求1.7版本及以上,如果当前系统是1.5版本则还需要升级influxdb官方配置文原创 2021-07-05 10:21:56 · 1024 阅读 · 3 评论 -
prometheus连接influxdb时序数据库实现数据持久化
prometheus连接influxdb官方文档influxdb简介InfluxDB是一个时间序列数据库,旨在处理高写入和查询负载。 它是TICK堆栈的组成部分。 InfluxDB旨在用作涉及大量带时间戳数据的任何用例的后备存储,包括DevOps监控,应用程序指标,物联网传感器数据和实时分析。以下是InfluxDB目前支持的一些功能,使其成为处理时间序列数据的绝佳选择:专为时间序列数据编写的自定义高性能数据存储。 TSM引擎允许高摄取速度和数据压缩完全使用go语言编写,并编译为一个单独的二进制原创 2021-07-05 10:17:47 · 1558 阅读 · 2 评论 -
针对prometheus监控系统的influxdb数据库内存优化
1.背景描述某个看granfana上k8s监控数据时,发现其中一个月的数据异常丢失,经过一系列排查后发现,influxdb数据库系数达到最高限制,新数据无法写入数据库将数据库系数调整成无限制后,引发了新的问题,内存瞬间被influxdb吃光,触发内存oom,influxdb内存使用率高达99%2.influxdb数据库优化influxdb存储prometheus数据一段时间后,会出现明显的性能问题数据库系数超出限制,无法写入数据库,从而导致数据异常数据库内存消耗严重,经常卡死,影响数据正常原创 2021-04-25 15:15:00 · 1480 阅读 · 653 评论 -
解决influxdb的log日志输出位置
解决influxdb的log日志输出位置环境信息:系统版本:centos7influxdb版本:1.5问题:由于在redhat/centos系列机器上,influxdb的默认日志会输出到/var/log/message里,系统信息和日志信息特别混乱,不利于问题排查解决思路我们可以在 /etc/rsyslog.d/influxdb.conf 中创建一个简单的规则来更改目标日志路径[root@prometheus-10-90 ~]# vim /etc/rsyslog.d/influxdb.c原创 2021-04-23 13:46:37 · 3428 阅读 · 4 评论 -
AlertManager实现企业微信报警(十三)
AlertManager实现企业微信报警1.AlertManager对接企业微信ALertManager支持的报警方式有邮件报警、钉钉报警、微信报警,本次将实现企业微信报警2.企业微信配置2.1.注册一个企业微信2.2.创建一个报警机器人在应用管理点击创建应用即可2.3.创建部门注册完企业微信就会有一个部门2.4.记录重要信息用于配置1、记下企业id号在我的企业—最下面就会有企业idww48f74fc8ed3a07ba2、记录部门id号部门id为13、记录机器人i原创 2021-02-23 13:49:19 · 2180 阅读 · 1 评论 -
Alertmanager告警规则编写案例(十二)
alertmanager告警规则编写案例1.编写告警规则注意事项首先要将一些类似的监控项规划到一个分组,在定义表达式、告警级别、告警详细内容,在告警详细内容中一定要熟练使用监控项自身的标签,这样就可以在告警内容中让管理员一眼知道什么触发了告警2.编写磁盘告警规则2.1.编写规则expr指定表达式,在使用逻辑符号匹配阈值告警内容中要熟练运用各种标签,标签都是监控项中自带的,value标签就是当前监控项的一个指标[root@prometheus-server /data/prometheus]#原创 2021-02-23 13:46:33 · 1548 阅读 · 3 评论 -
AlertManager告警收敛(十一)
AlertManager告警收敛1.告警分组分组就是将类似性质的警报分类为单个通知,比如服务器宕机、应用挂掉,这种类型的告警可以分到一个组中,分到一个组时,当同一时间内触发了多条告警,这时都会发送到同一封邮件中,可以避免因告警邮件太多而忽视了重要信息。这封邮件就很好的说明了这个分组的意义由于prometheus编写的规则是对所有服务器生效的,因此所有服务器仅需要创建一个类型的报警即可,当同一时间段多台主机触发了这个告警,则会同时向管理员发送一条报警邮件,同种类型告警主要是以alertname来区分的原创 2021-02-09 23:22:18 · 1427 阅读 · 2 评论 -
AlertManager告警分配路由配置(十)
AlertManager告警分配路由配置1.route路由配置文件介绍route: group_by: ['alertname'] //定义分组 group_wait: 10s //分组等待时间 group_interval: 10s //收到告警后多长时间发送给接收者 repeat_interval: 10m //重复告警间隔 receiver: 'yunwei' //默认邮箱 routes: //启原创 2021-02-09 23:21:47 · 2220 阅读 · 2 评论 -
AlertManager监控报警神器(九)
prometheus+AlertManager实现监控报警1.AlertManager简介prometheus自身不具备报警能力,因此需要结合第三方报警程序来实现监控指标告警AlertManager是一款不错的告警程序,首先由prometheus配置告警规则,当告警规则触发后,会把告警信息推送给altermanager,AlertManager收到告警之后在根据配置的路由,根据报警级别不同分别发送给不同的receive(收件人),AlertManager可以实现email、企业微信等报警2.部署A原创 2021-02-09 23:19:10 · 1231 阅读 · 2 评论 -
prometheus监控mysql服务器(八)
prometheus监控mysql服务器1.利用mysql_exporter监控mysql主机环境准备IP服务192.168.81.210prometheus、grafana192.168.81.220mysql192.168.81.230mysql1.1.安装配置mysql在装有mysql的两台机器上执行1.安装mysql[root@192_168_81_220 ~]# yum -y install mariadb2.启动mysql[root@原创 2021-02-09 23:00:34 · 598 阅读 · 11 评论 -
prometheus配合grafana监控图形展现(七)
prometheus+grafana监控图形展现1.grafana部署1.安装[root@192.168.81.210 ~]# rpm -ivh grafana-6.3.2-1.x86_64.rpm 警告:grafana-6.3.2-1.x86_64.rpm: 头V4 RSA/SHA1 Signature, 密钥 ID 24098cb6: NOKEY准备中... ################################# [100%]正在原创 2021-02-09 22:59:01 · 686 阅读 · 2 评论 -
prometheus使用node_exporter监控Linux主机CPU、内存、磁盘、服务运行状况(六)
prometheus使用node_exporter监控Linux主机1.node_exporter简介node_exporter常用于系统监控,使用go语言编写的指标收集器node_exporter操作文档:https://prometheus.io/docs/guides/node-exporter/prometheus支持的exporters列表:https://prometheus.io/docs/instrumenting/exporters/2.部署node_exporter环境准备原创 2021-02-03 10:17:06 · 6541 阅读 · 1 评论 -
prometheus基于文件的服务自动发现(五)
prometheus基于文件的服务发现1.prometheus支持的服务发现来源azure_sd_configsconsul_sd_configsdns_sd_configsec2_sd_configsopenstack_sd_configsfile_sd_configsgce_sd_coonfigskuberneters_sd_configsnerve_sd_configsserverset_sd_configstriton_sd_configs2.环境准备IP角原创 2021-02-03 10:12:56 · 1115 阅读 · 1 评论 -
prometheus relabel_configs配置介绍及使用(四)
relabel_configs配置介绍及使用1.relabel_configs重新标签1.1.重新标签的意义重新标签就是重新定义一个标签relabel_configs:这个配置项允许在采集之前对任何目标及标签进行修改重新标签的意义:重命名原来的标签、删除标签、过滤目标,可以针对标签的某个值进行过滤在查询一个监控指标时,prometheus会把只要包含这个监控指标的所有监控数据都列出来,这样看起来也是很麻烦,不过我们可以在查询时指定一个标签,这样就可以定位到指定的主机上relabel_confi原创 2021-02-03 10:10:42 · 1869 阅读 · 1 评论 -
prometheus配置文件介绍(三)
prometheus配置文件与核心功能配置文件官方文档:https://prometheus.io/docs/prometheus/latest/configuration/configuration/1.全局配置文件介绍global: [ scrape_interval: <duration> | default = 1m ] //多久时间探测一次数据 [ scrape_timeout: <duration> | default = 10s ] //原创 2021-02-03 10:08:03 · 741 阅读 · 1 评论 -
prometheus部署与使用(二)
prometheus部署与使用1.二进制方式部署1.1.安装prometheus1.下载软件包[root@prometheus-server ~]# wget https://github.com/prometheus/prometheus/releases/download/v2.23.0/prometheus-2.23.0.linux-amd64.tar.gz2.安装[root@prometheus-server ~]# mkdir /data/ -p[root@prometheus-s原创 2021-01-29 09:54:03 · 697 阅读 · 2 评论 -
prometheus理论概念(一)
prometheus理论概述1.prometheus特点多维数据模型:由度量名称和键值对标识的时间序列数据PromQL:一种灵活的查询语言,可以利用多维数据完成复杂的监控数据查询不依赖分布式存储,单个服务器节点可直接工作基于HTTP的pull方式采集时间序列数据推送时间序列数据通过pushgateway组件支持,pushgateway的原理类似于zabbix-proxy通过服务发现或静态配置发现模板多种图形模式展现图形2.prometheus组成及架构prometheus架构原理:原创 2021-01-29 09:52:42 · 722 阅读 · 4 评论 -
prometheus实现pushgateway网关配置
pushgateway网关配置1.pushgateway网关介绍pushgateway适用场景由于安全性或者连通性,您无法到达目标资源,当服务或者应用程序只允许进入特定端口或者路径时,这是非常常见的场景目标资源的声明周期太短,例如容器的启动、执行、停止目标资源的没有可以刮的断点pushgateway是Prometheus下的一个组件,用来当做采集对象和Prometheus的代理,Prometheus会定时的从gateway上面pull数据。由于服务部署在容器中,服务的ip会经常的变化,导致原创 2021-01-12 13:18:21 · 2659 阅读 · 2 评论 -
prometheus使用black_exporter进行远端探测
prometheus使用blackbox_exporter进行远端探测1.远端探测介绍远端探测就是监测应用程序的外部,可以查询应用程序的外部特征,比如是否相应开放端口上的轮询并返回正确的数据或响应代码,探测监视的一个实例是执行icmp或者echo检查并确认收到响应,这种类型的探测也称为黑盒监视prometheus探测工具是通过运行一个blackbox exporter来探测远程目标,并公开在本地端点上手机的任何时间序列监视探测的三个限制我们需要能够到达探测的资源地需要测试到资源的正确路径探测原创 2021-01-12 13:16:25 · 2608 阅读 · 5 评论 -
Alertmanager告警神器---路由配置
alertmanager路由配置1.路由配置介绍alertmanager路由配置可以将不同的高级级别文件发送给不同的邮件接收人2.配置alertmanager路由配置文件解释:route: group_by: ['instance'] //根据label标签进行匹配,如果是多个,就要多个都匹配 group_wait: 30s //等待该组的报警,也就是说在30秒内有没有一起报警的内容,如果有则同时发出报警邮件,也就是有2个报警同时发在一个邮件 group_interval: 5原创 2021-01-12 13:15:05 · 3162 阅读 · 2 评论 -
prometheus通过记录规则实现持久化metrics查询
prometheus通过记录规则实现持久化metrics查询1.metrics持久化查询prometheus默认的metrics有时候不能查出我们需要的监控指标值,因此就需要每次手动写表达式来实现查询,但是不能做到持久化,每次都要人为进行操作我们可以通过把查询写入到配置文件生成一个新的metrics的方式来实现查询持久化持久化记录配置思路:首先配置一个组名,在配置多长时间获取一次数据,在填写记录规则清单,写上名称、表达式、标签即可2.实现metrics持久化查询注意:写表达式的时候现在prom原创 2021-01-12 13:12:24 · 1011 阅读 · 2 评论 -
prometheus通过文本获取metrics值
prometheus通过文本获取metrics值我们可以自定义metrics值,可以将metrics值写到一个文件中,在启动node的时候指定文件所在的目录即可1.通过文本获取metrics值1.编写metrics文件[root@192_168_81_220 ~]# vim /var/lib/node_exporter/textfile_collector/test_metrics.promtest_metrics{role="test",datacenter="BJ"}12.重启node_e原创 2021-01-12 13:10:17 · 2287 阅读 · 2 评论 -
prometheus label标签的使用
prometheus label标签的使用1.label标签概述标签提供了时间序列的纬度,它们可以定义目标,并为时间序列提供上下文,但最重要的是结合指标名称,它们构成了时间序列的表示,如果它们改变了,那么时间序列的表示也会改变标签的常见用例:删除不必要的指标从指标中删除敏感或不需要的标签添加、编辑或修改指标的标签值或标签格式记住有两个阶段我们可以重新命名。第一阶段是重新标记来自服务发现的目标。这对于将来自服务发现的元数据标签的信息应用到您的度量上的标签非常有用。这是在作业内部的relab原创 2021-01-12 13:08:59 · 7131 阅读 · 2 评论 -
Prometheus+Grafana监控系统配合Cadvisor监控Docker容器
prometheus使用cadvisor监控docker容器1.cadvisor概述一般公司会有很多docker主机,那么就需要对docker进行监控了,docker监控可以采用docker stats配合shell命令来取值做监控,但是无法传递给prometheus进行采集,zabbix监控docker又比较麻烦,因此就有了谷歌的cadvisorcadvisor不仅可以搜集一台机器上的所有运行的容器信息,还提供基础查询界面的http接口,方便prometheus进行数据抓取cadvisor可以对节原创 2020-12-24 14:43:43 · 17412 阅读 · 11 评论 -
prometheus+grafana+onealter实现监控报警
prometheus+grafana+onealter实现监控报警1.onealter网站www.onealert.com/注册即可使用,免费版仅支持邮箱告警首页张这个样子,我们点击CA,主要使用CA报警发送到的邮箱就是我们在注册的时候使用的邮箱邮箱设置点击个人信息即可2.grafana集成onealter2.1.获取onealter的webhookonealter支持多种监控系统,这里我们选择grafana2.1.1.选择集成—grafana2.1.2.添加应用名称并保存获取原创 2020-12-23 11:35:42 · 808 阅读 · 3 评论 -
prometheus+grafana利用mysql_exporter监控mysql
prometheus+grafana利用mysql_exporter监控mysql1.利用mysql_exporter监控mysql主机1.1.安装配置mysql1.安装mysql[root@192_168_81_160 ~]# yum -y install mariadb2.启动mysql[root@192_168_81_160 ~]# systemctl start mariadb[root@192_168_81_160 ~]# systemctl enable mariadb3.创原创 2020-12-23 11:32:35 · 1168 阅读 · 2 评论 -
prometheus配合grafana展现监控数据
prometheus配合grafana展现监控数据1.安装grafana1.安装grafana[root@grafana ~]# yum -y localinstall grafana-6.3.2-1.x86_64.rpm 2.启动grafana[root@grafana ~]# systemctl start grafana-server[root@grafana ~]# systemctl enable grafana-server访问grafana:http://192.168.81原创 2020-12-23 11:30:00 · 742 阅读 · 3 评论 -
prometheus监控系统架构原理及组件介绍
prometheus概述与部署1.prometheus概述1.1.prometheus介绍prometheus是一套开源的监控报警、时间序列数据库的组合,适合监控docker容器,由于kubernetes的流行带动了prometheus的发展prometheus最初在soundcloud上构建的开源系统监视和报警工具包、1.2.官网地址官网地址:https://prometheus.io/国内中文技术文档:https://www.prometheus.wang/quickstart/why-原创 2020-12-23 11:19:18 · 1239 阅读 · 2 评论 -
centos7上部署prometheus并结合node_exporter监控Linux主机
prometheus概述与部署1.prometheus概述1.1.prometheus介绍prometheus是一套开源的监控报警、时间序列数据库的组合,适合监控docker容器,由于kubernetes的流行带动了prometheus的发展prometheus最初在soundcloud上构建的开源系统监视和报警工具包、1.2.官网地址官网地址:https://prometheus.io/国内中文技术文档:https://www.prometheus.wang/quickstart/why-原创 2020-12-23 11:14:22 · 869 阅读 · 3 评论