自定义监控指标开发(三):Grafana配置及使用
介绍Grafana 是一款采用 go 语言编写的开源应用,可以从Elasticsearch,Prometheus,Graphite,InfluxDB等各种数据源中获取数据,并通过精美的图形将其可视化。 除了Prometheus的AlertManager 可以发送报警,Grafana 同时也支持告警。Grafana 可以无缝定义告警在数据中的位置,可视化的定义阈值,并可以通过钉钉、email等平台获取告警通知。最重要的是可直观的定义告警规则,不断的评估并发送通知。 由于Grafana alert告警比较弱,大部分告警都是通过Prometheus Alertmanager进行告警. 安装见:https://github.com/behappy-project/behappy-docker-application/tree/master/grafana 图表配置 在时序图表配置场景下,我们需要核心关注配置的有: Metrics: promQL查询语句【注:当使用rancher部署方式时,此处编写会有乱码情况,解决办法是在PrometheusUI中编写粘贴到这里】 Legen...
结合Rancher使用监控系统
rancher官方文档 一个不错的Prometheus中文网站 Grafana安装文档 注: 本文Rancher版本为rancher2.6.x 一定要记得在hosts文件编辑这些集群的host, 使这些台机器可以通过hostname互通 安装Charts 配置详细配置:https://github.com/prometheus-community/helm-charts/blob/main/charts/kube-prometheus-stack/values.yaml 配置Prometheus、Alerting以及Grafana 默认Prometheus的admin api是不开启的,如果希望通过api方式操作Prometheus数据,则需要打开admin api 可以配置各项【grafana/prometheus/alertmanager】的enable参数来控制是否安装此工作负载 已知问题有一个已知问题,K3s 群集需要更多的默认内存。如果你在 K3s 集群上启用监控,rancher lab建议将prometheus.prometheus...
结合小乌龟使用git
结合小乌龟使用git 下载最新版https://tortoisegit.org/download/ 自动检测 Git 的安装路径 下一步,填写姓名和邮件地址,只作为提交时的记录 生成公钥/私钥(用于ssh) 点击 Generate,并不断移动鼠标在空白处 待 Generate 进度完成后,复制公钥信息到github或者其他地方(建议复制保存起来); 点击 Save private key 保存密钥,不必添加密码短语: 结合github的使用(gitlab和gitee一样) 添加公钥到 Github,登录https://github.com/settings/keys 添加新的 SSH 公钥(将生成的key复制,粘贴到git账户中的SSH public key中,这就是适用于git的公钥) 将私钥永久保存在Pageant Key List中 运行TortoiseGit开始菜单中的Pageant程序,程序启动后将自动停靠在任务栏中,图标显示为,双击该图标,弹出key管理列表,如下图示
基于Micrometer和Prometheus实现度量和监控的方案
摘自:https://www.cnblogs.com/throwable/p/13257557.html 前提最近线上的项目使用了spring-actuator做度量统计收集,使用Prometheus进行数据收集,Grafana进行数据展示,用于监控生成环境机器的性能指标和业务数据指标。一般,我们叫这样的操作为"埋点"。SpringBoot中的依赖spring-actuator中集成的度量统计API使用的框架是Micrometer,官网是micrometer.io。在实践中发现了业务开发者滥用了Micrometer的度量类型Counter,导致无论什么情况下都只使用计数统计的功能。这篇文章就是基于Micrometer分析其他的度量类型API的作用和适用场景。全文接近3W字,内容比较干,希望能够耐心阅读,有所收获。 Micrometer提供的度量类库Meter是指一组用于收集应用中的度量数据的接口,Meter单词可以翻译为"米"或者"千分尺",但是显然听起来都不是很合理,因此下文直接叫Meter,直接当成一个专有名词,理解...
trivy的安装及使用
Trivy 概述 官方地址:https://aquasecurity.github.io/trivy GITHUB:https://github.com/aquasecurity/trivy Trivy(tri 发音为 trigger,vy 发音为 envy)是一个简单而全面的漏洞/错误配置扫描器,用于容器和其他工件。 软件漏洞是软件或操作系统中存在的故障、缺陷或弱点。 Trivy 检测操作系统包(Alpine、RHEL、CentOS 等)和特定语言包(Bundler、Composer、npm、yarn 等)的漏洞。 此外,Trivy 会扫描基础设施即代码 (IaC) 文件,例如 Terraform 和 Kubernetes,以检测使你的部署面临攻击风险的潜在配置问题。 Trivy 易于使用。 只需安装二进制文件,你就可以开始扫描了。 扫描所需要做的就是指定一个目标,例如容器的图像名称。 Trivy 检测两种类型的安全问题 漏洞 配置错误 Trivy 可以扫描三种不同的工件 容器镜像 文件系统 Git存储库 Trivy 可以在两种不同的模式下运行 独立 客户...
利用coscmd上传文件到腾讯云cos
安装Coscmd1pip install coscmd 配置Coscmd123# region: https://xxx.cos.ap-guangzhou.myqcloud.comcoscmd config -a <secret_id> -s <secret_key> -b <bucket> -r <region:这里写ap-guangzhou> [-m <max_thread>] [-p <parts_size>] 名称 描述 有效值 secret_id 必选参数,APPID对应的密钥ID可从COS控制台左侧栏【密钥管理】或云API密钥控制台获取 字符串 secret_key 必选参数,APPID对应的密钥Key可从COS控制台左侧栏【密钥管理】或云API密钥控制台获取 字符串 bucket 必选参数,指定的存储桶名称,bucket的命名规则为{name}-{appid} ,参考创建存储桶 字符串 region 必选参数,存储桶所在地域。参考可用地域 字符串 max_thre...
初识mongo
MongoDB简介NoSQL简介NoSQL(NoSQL = Not Only SQL),意即反SQL运动,指的是非关系型的数据库,是一项全新的数据库革命性运动,早期就有人提出,发展至2009年趋势越发高涨。NoSQL的拥护者们提倡运用非关系型的数据存储,相对于目前铺天盖地的关系型数据库运用,这一概念无疑是一种全新的思维的注入 为什幺使用NoSQL : 1、对数据库高并发读写。 2、对海量数据的高效率存储和访问。 3、对数据库的高可扩展性和高可用性。 弱点: 1、数据库事务一致性需求 2、数据库的写实时性和读实时性需求 3、对复杂的SQL查询,特别是多表关联查询的需求 什么是MongoDB ?MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。 在高负载的情况下,添加更多的节点,可以保证服务器性能。 MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。 MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档...
SpringBoot整合Redis多数据源
基于配置文件 实现 redis 动态数据源和动态数据库的切换 MultiRedisConnectionFactory123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118import org.springframework.beans.factory.DisposableBean;import org.springframework.beans.factory.InitializingBean;import org.springframework.dao.DataAccessException;import org.springframework...
如何合理的解决资源分配问题
资源分配不均匀问题简述 资源相关的打分算法 LeastRequestedPriority 和 MostRequestedPriority 都是基于 request 来进行评分,而不是按 Node 当前资源水位进行调度(在没有安装 Prometheus/Metrics 等资源监控相关组件之前,kube-scheduler 也无法实时统计 Node 当前的资源情况)。 简单来说,k8s在进行调度时,计算的就是requests的值,不管你limits设置多少,k8s都不关心。所以当这个值没有达到资源瓶颈时,理论上,该节点就会一直有pod调度上去。 综上所述,在实际场景就可能会遇到以下几种情况 经常在 K8s 集群种部署负载的时候不设置 CPU requests (这样“看上去”就可以在每个节点上容纳更多 Pod )。在业务比较繁忙的时候,节点的 CPU 全负荷运行。业务延迟明显增加,有时甚至机器会莫名其妙地进入 CPU 软死锁等“假死”状态。 在 K8s 集群中,集群负载并不是完全均匀地在节点间分配的,通常内存不均匀分配的情况较为突出,集群中某些节点的内存使用率明显高于其...
k3s安装 - 机器提前准备
手动加载centos7 box文件配置Vagrantfile123456789101112131415161718192021222324252627Vagrant.configure("2") do |config| (1..3).each do |i| config.vm.define "k3s-node#{i}" do |node| # 设置虚拟机的Box node.vm.box = "centos/7" # 设置虚拟机的主机名 node.vm.hostname="k3s-node#{i}" # 设置虚拟机的IP node.vm.network "private_network", ip: "192.168.56.#{99+i}", netmask:...
