DevOps
哎_小羊_168
学会发现,学会记录,学会分享。Fighting!
展开
-
Prometheus 通过 consul 实现自动服务发现
Consul 是基于 GO 语言开发的开源工具,主要面向分布式,服务化的系统提供服务注册、服务发现和配置管理的功能。Consul 提供服务注册/发现、健康检查、Key/Value存储、多数据中心和分布式一致性保证等功能。之前我们通过 Prometheus 实现监控,当新增一个 Target 时,需要变更服务器上的配置文件,即使使用 file_sd_configs 配置,也需要登录服务器修改对应 Json 文件,会非常麻烦。不过 Prometheus 官方支持多种自动服务发现的类型,其中就支持 Consul。原创 2019-11-12 09:29:12 · 30807 阅读 · 29 评论 -
Prometheus 使用 PushGateway 进行数据上报采集
Prometheus 是一套开源的系统监控、报警、时间序列数据库的组合,最初有 SoundCloud 开发的,后来随着越来越多公司使用,于是便独立成开源项目。Prometheus 基本原理是通过 Http 协议周期性抓取被监控组件的状态,而输出这些被监控的组件的 Http 接口为 Exporter。PushGateway 作为 Prometheus 生态中的一个重要一员,它允许任何客户端向其 Push 符合规范的自定义监控指标,在结合 Prometheus 统一收集监控。原创 2019-10-30 14:28:32 · 29850 阅读 · 4 评论 -
Spring Boot 使用 Micrometer 集成 Prometheus 监控 Java 应用性能
Micrometer 为 Java 平台上的性能数据收集提供了一个通用的 API,它提供了多种度量指标类型(Timers、Guauges、Counters等),同时支持接入不同的监控系统,例如 Influxdb、Graphite、Prometheus 等。我们可以通过 Micrometer 收集 Java 性能数据,配合 Prometheus 监控系统实时获取数据,并最终在 Grafana 上展示出来,从而很容易实现应用的监控。原创 2019-09-15 22:26:04 · 69883 阅读 · 13 评论 -
Prometheus 监控报警系统 AlertManager 之邮件告警
Prometheus 是一套开源的系统监控、报警、时间序列数据库的组合,最初有 SoundCloud 开发的,后来随着越来越多公司使用,于是便独立成开源项目。Alertmanager 主要用于接收 Prometheus 发送的告警信息,它支持丰富的告警通知渠道,例如邮件、微信、钉钉、Slack 等常用沟通工具,而且很容易做到告警信息进行去重,降噪,分组等,是一款很好用的告警通知系统。本文介绍 Prometheus 监控报警系统 AlertManager 之邮件告警原创 2019-08-04 21:27:40 · 69026 阅读 · 24 评论 -
Spring Boot 使用 Log4j2 & Logback 输出日志到 EKL
ELK 是 Elasticsearch , Logstash, Kibana 的缩写,Elasticsearch 是开源分布式搜索引擎,提供搜集、分析、存储数据等功能,Logstash 主要是用来日志的搜集、分析、过滤日志的工具,Kibana 为 Elasticsearch 提供分析和可视化的 Web 平台,可以在 Elasticsearch 的索引中查找,交互数据,并生成各种维度的表图。可以通过 Spring-boot 通过 log4j2 或 logback 自动将日志输出到 ELK 中。原创 2019-05-25 17:01:45 · 4016 阅读 · 7 评论 -
Rancher 2.x 一键式部署 Prometheus + Grafana 监控 Kubernetes 集群
Prometheus 是一套开源的系统监控、报警、时间序列数据库的组合,Prometheus 基本原理是通过 Http 协议周期性抓取被监控组件的状态,而通过 Exporter Http 接口输出这些被监控的组件信息,而且已经有很多 Exporter 可供选择。Grafana 是一个可视化仪表盘,它拥有美观的图标和布局展示,功能齐全的仪表盘和图形编辑器,默认支持很多数据源类型,我们可以将 Prometheus 抓取的数据,通过 Grafana 优美的展示出来,非常直观。通过 Rancher 一键安装他们。原创 2019-04-01 10:40:26 · 12690 阅读 · 4 评论 -
Rancher 2.x 搭建及管理 Kubernetes 集群
Rancher 是一套容器管理平台,它可以帮助组织在生产环境中轻松快捷的部署和管理容器。Rancher可以轻松地管理各种环境的 Kubernetes,满足IT需求并为 DevOps 团队提供支持。Rancher 用户可以选择使用 RKE 创建 K8s 集群,也可以使用 GKE,AKS 和 EKS 等云K8s 服务。Rancher 用户还可以导入和管理现有的 Kubernetes 集群。同时 Rancher UI 为 DevOps 工程师提供了一个直观的用户界面来管理他们的服务容器。原创 2019-03-16 16:32:03 · 51378 阅读 · 13 评论 -
Rancher 2.x 负载均衡配置及使用
Kubernetes 支持 4 层和 7 层负载均衡策略,其中 4 层负载均衡(或外部负载均衡)支持转发 HTTP、TCP 请求到 Nodeports 上去,7 层负载均衡(或 Ingress Controller)支持根据 Host、Path 的负载均衡以及 SSL 终端,因为它只支持转发 HTTP 和 HTTPS 的请求,所以它需要监听 80 和 443 端口。RKE 集群部署 7 层负载均衡底层默认支持 Nginx Ingress Controller 类型。原创 2019-03-19 15:50:44 · 32438 阅读 · 15 评论 -
Go 依赖管理工具 Dep 的安装及配置
随着 Go 语言的流行,越来越多的公司和开发人员在工作中使用该语言开发项目,上一篇文章使用 Jenkins 执行 Go 工程构建镜像中,提到使用 go get 命令时,出现的一些列问题,让人很是抓狂,所以迫切需要一款可以很好管理 Go 依赖的工具。Dep 是 Go 官方依赖管理工具,通过它,我们可以很方便的管理 Go 项目依赖,同时还可以指定私有库依赖,非常好用。原创 2018-10-18 10:50:18 · 7242 阅读 · 4 评论 -
使用 Jenkins 执行 Go 工程构建镜像
随着 Go 语言的流行,越来越多的公司和开发人员在工作中使用该语言开发项目,由于现有上线系统后端是基于 Jenkins + docker 执行任务的,那么是时候体验一下如何使用 Jenkins 执行 Go 工程构建镜像了。文章主要介绍了* 安装 Jenkins、安装 Go Plugin 插件并配置、配置 Jenkins Job 构建 Go 工程、使用 Golang 镜像执行编译、使用 Docker 多阶段构建镜像。原创 2018-10-08 11:37:44 · 10083 阅读 · 5 评论 -
学习基于 Kubernetes 的 Serverless 无服务架构 Fission
Serverless 就是指应用的开发不再需要考虑服务器的硬件基础设施,而是依赖于第三提供的后端服务(Baas)和应用逻辑运行容器(FaaS),Fission 是由 Platform9 维护的一个开源的项目,它是基于 Kubernetes 的无服务框架。我们可以编写任何语言的 Function 代码,只需要一条简单的命令既可以完成整个 Function 的部署及扩展,而且过程中不会创建任何容器,不需要管理任何 Docker 仓库,最终将其映射(或其他 triggers)到 HTTP 请求供外部访问。原创 2018-09-13 10:39:38 · 3836 阅读 · 2 评论 -
学习 Kubernetes 原生 Serverless 无服务架构 Kubeless
Serverless 就是指应用的开发不再需要考虑服务器的硬件基础设施,而是依赖于第三提供的后端服务(Baas)和应用逻辑运行容器(FaaS),但是并不是意味着没有服务器,而是服务器以特定功能的第三方服务的形式存在。Kubeless 是 Kubernetes 原生无服务器架构,目的是为了方便部署少量代码而不需要担心底层基础设施,它利用 Kubernetes 资源来提供自动缩放、API 路由、监控、故障排查等功能。Kubeless 是利用 CRD 自定义资源类型来实现其整个流程。原创 2018-09-04 10:21:29 · 5000 阅读 · 8 评论 -
Kubernetes CRD (CustomResourceDefinition) 自定义资源类型
Kubernetes 中一切都可视为资源,它提供了很多默认资源类型,能够满足大多数日常系统部署和管理的需求。在一些特殊的需求场景下,这些现有资源类型就满足不了,那么这些就可以抽象为 Kubernetes 的自定义资源,在 Kubernetes 1.7 之后增加了对 CRD 自定义资源二次开发能力来扩展 Kubernetes API,通过 CRD 可以向 Kubernetes API 中增加新资源类型,而不需要修改源码或创建自定义的 API server,该功能大大提高了 Kubernetes 的扩展能力原创 2018-08-20 18:44:18 · 22450 阅读 · 4 评论 -
初试 Prometheus + Grafana 监控系统搭建并监控 Mysql
Prometheus 是一套开源的系统监控、报警、时间序列数据库的组合,最初有 SoundCloud 开发的,后来随着越来越多公司使用,于是便独立成开源项目。我们常用的 Kubernetes 容器集群管理中,通常会搭配 Prometheus 一起来进行监控。Grafana 是一个可视化仪表盘,它拥有美观的图标和布局展示,功能齐全的仪表盘和图形编辑器。我们可以将 Prometheus 抓取的数据,通过 Grafana 优美的展示出来,非常直观。Prometheus+Grafana监控系统搭建并监控 Mysql原创 2018-08-02 10:28:02 · 14719 阅读 · 3 评论 -
部署 Prometheus Operator 监控 Kubernetes 集群
我们知道 Prometheus 是一套开源的系统监控、报警、时间序列数据库的组合,而 Prometheus Operator 是 CoreOS 开源的一套用于管理在 Kubernetes 集群上的 Prometheus 控制器,它是为了简化在 Kubernetes 上部署、管理和运行 Prometheus 和 Alertmanager 集群。本文介绍如何使用 Prometheus Operator 部署监控 Kubernetes 集群,并通过 Grafana 查看监控信息。原创 2018-08-14 09:55:19 · 21090 阅读 · 7 评论 -
Kubernetes 集群中运行 GitLab-Runner 来执行 GitLab-CI
GitLab-CI 是一套 GitLab 提供给用户使用的持续集成系统。GitLab-Runner 是配合 GitLab-CI 进行使用的,GitLab 里面每个工程都会定义一些该工程的持续集成脚本,该脚本可配置一个或多个 Stage 例如构建、编译、检测、测试、部署等。当工程有代码更新时,GitLab 会自动触发 GitLab-CI,此时 它会找到事先注册好的 GitLab-Runner 通知并触发该 Runner 来执行预先定义好的脚本,介绍 Kubernetes 集群中运行 GitLab-Runner原创 2018-07-21 21:19:17 · 18773 阅读 · 5 评论 -
使用 Jenkins 执行持续集成的几个实用经验分享
使用Jenkins执行持续集成的几个实用经验分享。包括修改JVM的内存配置、修改Jenkins主目录、配置优化减少磁盘空间占用、丢弃旧的构建配置、修改工作空间和构建记录根目录、设置全局属性、JDK/Maven/Gradle 等软件多版本安装、设置构建超时时间、配置视图分类管理Job、配置多节点管理、一些实用插件、Managed Script插件管理脚本文件、PostBuildScript插件根据Build状态执行脚本、Jenkins2.0 Pipeline插件执行持续集成发布流程、原创 2018-06-09 21:34:21 · 18342 阅读 · 0 评论 -
自动化 DevOps 使用 Codeclimate 执行代码质量分析
Codeclimate 是为代码质量分析平台提供的一个命令行接口工具,通过它可以在本机 Docker 容器中对要分析的代码执行质量分析,并生成分析报告。我们熟知常用的代码质量检测工具例如 SonarQube、CheckStyle 等等,而 Codeclimate 是这些各种代码类型质量分析工具的集合,而且支持我们自定义检测工具,命令行简单,非常方便操作。我们可以使用 Codeclimate 进行代码质量分析,并将其作为持续集成流程中的一个环节,是很有必要的。原创 2018-04-20 10:06:03 · 8581 阅读 · 0 评论