- 博客(35)
- 资源 (5)
- 收藏
- 关注

原创 进阶之路:从零到一在k8s上部署高可用prometheus —— 总览
目录前言thanos前言最近研究了一下关于云原生的监控+告警的方案,由于prometheus对k8s的支持十分优秀,基本上已经是云原生监控的标准了,而且之前也有一些相关的知识积累,所以没花太多功夫就确认了使用prometheus + alertmanager的组合。但是由于监控系统的特殊性,我们不可避免的需要考虑到如何保证高可用。虽然prometheus的性能十分优秀,但是仍然会有性能瓶颈,而且单节点服务会有潜在的单点故障问题。prometheus官方为应对上述问题,提供了联邦集群(federatio
2021-07-29 11:00:51
1951
1
原创 发现一个讲PRML的宝藏UP,应该是目前国内讲的最清晰的了!免费!免费!免费!
PRML免费宝藏视频推荐,对人工智能底层感兴趣的小伙伴一定不能错过!
2023-08-16 11:26:18
172
原创 记录解决启动prometheus-kafka-adapter提示“client has run out of available brokers to talk to“的问题
目录现象描述排查过程踩坑总结参考现象描述用别人构建好的prometheus-kafka-adapter二进制文件,在服务器上按照文档提示配置KAFKA_BROKER_LIST环境变量,启动提示"client has run out of available brokers to talk to"。排查过程在prometheus-kafka-adapter所在的服务器上(以下简称服务器)运行kafka-console-producer.sh,确认不存在网络隔离;执行kafka-console-p
2021-10-19 18:24:18
3665
原创 group_wait、group_interval、repeat_interval对告警的影响
目录官方解释group_wait(default: 30s)group_interval(default: 5m)repeat_interval(default: 4h)实验参数告警过程结论注意参考官方解释group_wait(default: 30s)How long to initially wait to send a notification for a group of alerts. Allows to wait for an inhibiting alert to arrive or
2021-10-09 10:48:35
8210
7
原创 进阶之路:从零到一在k8s上部署高可用prometheus —— thanos receive、thanos query
目录导航前言相关yaml文件thanos receive配置相关thanos-objectstorage.yamlthanos-receiver-hashring.yaml服务相关thanos-receiver-service.yamlthanos-receiver.yamlthanos query服务相关thanos-query-service.yamlthanos-query-service-web.yamlthanos-query.yaml部署验证导航进阶之路:从零到一在k8s上部署高可用prom
2021-08-03 17:01:28
2143
3
原创 进阶之路:从零到一在k8s上部署高可用prometheus —— minio
目录导航前言相关yaml文件minio-service.yamlminio-service-web.yamlminio.yaml部署验证导航进阶之路:从零到一在k8s上部署高可用prometheus —— 总览前言经过前面几章的部署,我们已经搭建起了一套可用的监控平台(没错,prometheus + alertmanager的组合已经可以实现监控的基本要求了)。但是我们之前部署的三节点prometheus只是三个采集同样数据的离散节点而已,各个节点之间没有关联,困扰我们的单点故障问题并没有解决,接下
2021-08-03 16:06:50
1197
原创 进阶之路:从零到一在k8s上部署高可用prometheus —— alertmanager
目录导航前言相关yaml文件权限相关alertmanager-serviceAccount.yaml配置相关alertmanager-secret.yaml服务相关alertmanager-service.yamlprometheus.yaml部署验证导航进阶之路:从零到一在k8s上部署高可用prometheus —— 总览前言在上一章部署完监控基础组件prometheus后,我们应该已经可以采集到node_exporter暴露出的监控数据了。但是仅仅有数据是不够的,我们需要将数据转化为可以利用的资
2021-08-03 15:12:20
1192
1
原创 进阶之路:从零到一在k8s上部署高可用prometheus —— prometheus
目录导航前言导航进阶之路:从零到一在k8s上部署高可用prometheus —— 总览前言在进行了一系列准备工作后,终于可以开始部署整个架构的基础 —— prometheus了。
2021-08-03 14:07:01
2216
原创 进阶之路:从零到一在k8s上部署高可用prometheus —— prometheus-operator
目录导航前言导航进阶之路:从零到一在k8s上部署高可用prometheus —— 总览前言
2021-07-30 11:17:51
1496
原创 进阶之路:从零到一在k8s上部署高可用prometheus —— consul
目录导航前言动态发现流程相关yaml文件consul.yamlconsul-service.yamlconsul-service-web.yaml部署注册exporter验证导航进阶之路:从零到一在k8s上部署高可用prometheus —— 总览前言consul在整个部署架构中起到的主要是让prometheus可以动态发现exporter的作用,避免频繁改动prometheus的抓取配置。动态发现流程prometheus通过consul动态发现exporter的流程如下:1.在promet
2021-07-29 17:26:33
1362
原创 进阶之路:从零到一在k8s上部署高可用prometheus —— 准备工作
目录导航前言环境准备导航进阶之路:从零到一在k8s上部署高可用prometheus —— 总览前言由于本文所列的资源都需要部署在kubernetes上,所以需要读者具备一定的容器和k8s基础。零基础的同学可以先通过以下文档了解一下k8s的常用概念:容器namespacepodworkload(deployment、statefulset)serviceconfigmap、secret环境准备依据个人条件准备一个k8s环境(工作节点配置之和需要达到4C8G及以上,没有的话可以通过
2021-07-29 15:17:09
780
原创 进阶之路:从零到一在k8s上部署高可用prometheus —— exporter
目录导航前言相关yaml文件statefulset.yamlservice.yamlservice-nodeport.yaml部署验证导航进阶之路:从零到一在k8s上部署高可用prometheus —— 总览前言exporter种类繁多,有官方提供也有大佬贡献,在此不作赘述。本文选择部署node_exporter作为演示,其他exporter请按需修改。相关yaml文件statefulset.yamlapiVersion: apps/v1kind: StatefulSetmetadata:
2021-07-29 14:30:48
1255
原创 ansible-playbook接收对象数组参数并实现对多个task整体循环
目录缘起原理相关文件目录结构hostsmain.ymltasks.ymlparam.json执行命令输出缘起业务需要在ansible中进行循环操作,但是由于原playbook中tasks之间有顺序关系,所以希望可以将多个task整体循环,但是网上找到的大部分playbook循环案例都是针对单个task循环。一开始的思路是循环role,但是无法生效,机缘巧合看到了include_tasks,测试之后发现可以满足需求,特此记录一下。原理通过include_tasks和with_items对tasks.
2020-12-16 10:47:33
3490
原创 prometheus + consul实现动态添加监控节点
目录监控架构exporter与对应虚机关联映射流程图原理优势流程示例参考监控架构exporter与对应虚机关联映射流程图原理注册exporter到consul时,用meta参数将虚机id添加到consul服务的元数据中通过prometheus提供的relabel_configs配置项将注册到prometheus的consul服务元数据解析成labels根据labels筛选对应虚机优势利用prometheus原生功能实现,维护简单利用脚本即可实现关联虚机和exporter的需求,
2020-12-14 19:15:58
2822
原创 ubuntu安装指定版本docker(包含官方/国内安装方法)
1.保证apt源的codename和系统版本一致2.安装依赖$ sudo apt-get update$ sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg-agent \ software-properties-common3.添加 Docker 官方的 GPG 密钥(为了确认所下载软件包的合法性,需要添加软件源的 GPG 密钥)(官方)$ curl -
2020-07-10 10:40:39
9369
1
原创 ubuntu安装指定版本docker-compose
1.下载二进制文件(1.26.1表示版本,参考https://github.com/docker/compose/releases)(官方)$ curl -L "https://github.com/docker/compose/releases/download/1.26.1/docker-compose-$(uname -s)-$(uname -m)" > docker-compose(国内)$ curl -L https://get.daocloud.io/docker/compose/re
2020-07-10 10:36:17
2079
1
原创 进阶之路:第三方系统整合SSO(非侵入式)
起源最近老板提了一个需求:自己做一个SSO系统,要求登录之后第三方产品(如gitlab、jira)也实现免登陆的效果。我听到之后第一反应就是:人家的认证系统走的又不是我们的逻辑,这不得改源码啊。。但是经过几天的测试之后,最终还是实现了不修改源码实现第三方系统免登陆的效果。这个倒是提醒了我以后遇到事情不能太早下定论,多做些测试和调研,就算不行也得用充分的测试结果或官方的论证依据来印证说法...
2019-07-09 12:02:36
3412
6
原创 进阶之路:细数Nginx反向代理的那些配置坑
文章目录一、配置总览二、填坑记录1. 使用upstream定义服务器别名时访问失败2. 通过代理访问服务时参数丢失3. 待续...一、配置总览upstream example_server { server xxx.xxx.xxx.xxx:8080;}server { listen 80; server_name www.example.com; access_log ...
2019-06-24 12:16:08
681
原创 【工具类】自动初始化实体类并输出为JSON格式
需求编写代码文档,碰到新增或修改请求时需要填写body,手动输入非常繁琐。思路通过反射获取实体类,遍历各字段类型并初始化,然后通过fastjson转换为json格式,修改格式后输出。代码import com.alibaba.fastjson.JSON;import java.lang.reflect.Field;import java.util.ArrayList;impor...
2019-06-19 18:45:14
821
原创 java结合prometheus实现自定义数据监控
一、配置prometheusprometheus.yml...- job_name: 'my-service' metrics_path: /metrics static_configs: - targets: ['xxx.xxx.xxx.xxx:yyyy'] //被监控应用的url...二、被监控应用思路引入相关依赖配置监控指标暴露的endpoint自定义监...
2019-05-14 15:50:29
21645
4
原创 springboot中使用@RequestBody注解正常转换标注了@JSONField注解的字段的解决方法
一、问题描述在springboot项目中使用@RequestBody注解接收POST请求中json类型的body,并将其转换为对象:接口@PostMapping("/createProject")public String createProject(@RequestBody ProjectDto projectDto) { // ...}DTOpacka...
2019-04-29 17:20:42
5362
原创 spring文档阅读——Core: The IoC Container
用了这么久的spring框架却一直不知其所以然,直接在网上看别人的攻略又感觉差了点什么,因此决定系统的看一下spring官方的英文文档。本系列博客将按照每一篇文章对应官方文档中的一个小节的形式发布,文章内容分为正文和单词两部分。笔者的英文水平一般,正文中的引用翻译也只是部分翻译,故本文只是spring文档阅读过程中的记录和分享,不可作为译文参考。官方文档地址:https://spring.io/projects/spring-framework
2019-03-14 18:09:47
759
原创 spring文档阅读——Overview
用了这么久的spring框架却一直不知其所以然,直接在网上看别人的攻略又感觉差了点什么,因此决定系统的看一下spring官方的英文文档。本系列博客将按照每一篇文章对应官方文档中的一个小节的形式发布,文章内容分为正文和单词两部分。笔者的英文水平一般,正文中的引用翻译也只是部分翻译,故本文只是spring文档阅读过程中的记录和分享,不可作为译文参考。官方文档地址:https://spring...
2019-03-13 18:07:34
698
原创 进阶之路:Prometheus —— 理解篇
前言入门篇:从零开始:Prometheus技巧篇:进阶之路:Prometheus —— 技巧篇本文记录了一些我对Prometheus的一些理解,以后还会随着使用的深入不定期更新,需要的小伙伴可以订阅收藏,希望可以让正在摸索的你们少走一些弯路。对于刚开始使用Prometheus的用户可以从入门篇获取到一些基本的概念。 理解1.时序数据库Prometheus采用时序数据...
2019-01-03 12:12:40
3189
原创 进阶之路:Prometheus —— 技巧篇
前言入门篇:从零开始:Prometheus理解篇:进阶之路:Prometheus —— 理解篇本文记录了一些我在使用Prometheus的过程中的技巧,以后还会随着使用的深入不定期更新,需要的小伙伴可以订阅收藏,希望可以让正在摸索的你们少走一些弯路。对于刚开始使用Prometheus的用户可以从入门篇获取到一些基本的概念。 技巧1.自定义监控指标//自定义coun...
2019-01-02 19:45:01
4488
1
原创 Dockerfile命令详解
先贴上自己写的一个生成Dockerfile的小工具Github地址:Dockerfile-GeneratorFROM语法:FROM <image>或FROM <image>:<tag>绝大多数情况下FROM是 Dockerfile 的第一个命令,它定义了该Dockerfile使用哪个基础镜像启动构建流程 。image可以是任何
2019-01-02 13:15:29
250
原创 纯前端项目通过Blob下载DOM中的内容
一、项目需求该项目为纯前端项目(Angular),工作原理为将用户输入表单的数据格式化后显示在页面上,用户可以通过点击下载按钮将格式化后的内容下载到本地,整个过程不涉及到后端。二、代码// previewContent是格式化后的内容,此处将其转换为Blob对象var blob = new Blob([this.previewContent], {type : 'applicati...
2018-12-28 12:14:50
660
原创 关于ubuntu上postman无法启动的问题
一直用的是postman测试接口,由于版本比较老,每次点开的时候都会弹出提示更新的按钮。今天有点空闲的时间,又恰巧想起来这档子事,就准备干脆升级一下,省的每次启动的时候都要多一个步骤。linux版本的postman是不需要安装的,解压即用,但是需要注意两点。第一是升级之后需要重新登录(不记得密码的小伙伴请谨慎升级!postman找回密码需要输入验证码,但是没有梯子好像是获取不到验证码的)...
2018-09-05 12:47:39
4311
1
原创 从零开始:zipkin
一、工作环境操作系统:Ubuntu 16.04java环境:JDK 1.8SpringBoot版本:1.5.13SpringCloud版本:Edgware.SR3 二、项目配置1. zipkin Serverpom.xml<dependency> <groupId>io.zipkin.java</groupId> ...
2018-06-27 21:54:10
5064
原创 从零开始:Feign
一、工作环境操作系统:Ubuntu 16.04java环境:JDK 1.8SpringBoot版本:1.5.13SpringCloud版本:Edgware.SR3二、项目配置1. Eureka Clientfeign(调用服务)和feign-client(被调用服务)应为两个项目,分别注册到eureka上,此处为了偷懒节约篇幅只写了关键的不同点pom.xml<dependency> ...
2018-06-27 18:31:36
346
原创 从零开始:Apollo
一、工作原理Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。服务端基于Spring Boot和Spring Cloud开发,打包后可以直接运行,不需要额外安装Tomcat等应用容器。二、Apollo下载地址:https://github.com/ctr...
2018-05-31 19:43:55
1992
原创 从零开始:Prometheus
Prometheus自定义监控SpringBoot项目一、关于PrometheusPrometheus是一套开源的监控系统,它将所有信息都存储为时间序列数据;因此实现一种Profiling监控方式,实时分析系统运行的状态、执行时间、调用次数等,以找到系统的热点,为性能优化提供依据。 Prometheus提供了4中不同的Metrics类型: Counter, Gauge, His...
2018-05-30 16:53:21
28928
1
原创 从零开始:ELK
一、工作原理Logstash收集AppServer产生的Log,并存放到ElasticSearch集群中,而Kibana则从ES集群中查询数据生成图表,再返回给Browser二、ELK下载地址:https://www.elastic.co/downloads操作系统:Ubuntu 16.04java环境:JDK 1.8启动顺序为:Logstash >= Elasticsearch > ...
2018-05-22 18:09:51
539
原创 IDEA SpringBoot项目搭建docker镜像
1.通过maven的package命令打包2.创建Dockerfile文件并填写命令FROM openjdk:8COPY ./target/ary.jar /app/app.jarCMD ["java", "-jar", "/app/app.jar"]解释:1.根据openjdk:8创建基础镜像2.将本地的ary.jar文件拷贝到镜像中的/app目录下,并重命名为app.jar3.运行"...
2018-04-24 14:06:26
1942
原创 微信静默获取openid
一、获取Appid和APPsecret备用登录微信公众平台 > 基本配置注意:现版本微信公众平台不再保存APPsecret,获取之后如果丢失就要重置才能重新获取,请妥善保管。二、配置网页授权域名登录微信公众平台 > 公众号设置 > 功能设置 > 网页授权域名下载下来的文件放在项目文件夹根目录!服务器必须配置到80端口!以tomcat为例,假设域名为www.abc.com,项...
2018-04-24 13:24:47
5369
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人