热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何给TiDB集群的prometheus更换端口

#背景在部署tidb集群的时候,由于9090端口被操作系统的某个进程占用,在部署tidb的时候,只能先将prometheus的端口设置为9091,将原本占用9090端口的进程
背景

在部署tidb集群的时候,由于9090端口被操作系统的某个进程占用,在部署tidb的时候,只能先将prometheus的端口设置为9091,将原本占用9090端口的进程调整为其它端口后,需要将prometheus的端口从9091改为9090,这就涉及到tidb 集群组件端口的更换,经过研究,最终发现如果要更改prometheus 组件的监听端口的话,可以通过tiup 缩容prometheus 组件,然后在扩容prometheus 组件,这样就实现了prometheus端口的更改。



















tidb 集群版本v5.3.3
操作系统版本redhat 7.9
tiup 版本1.10.3

注意事项:

通过tiup直接缩容prometheus组件会导致prometheus 监控数据丢失,如果是生产环境的话,需要评估下,prometheus监控数据的丢失是否能够接受,如果不能够接受prometheus监控数据的丢失,可以在缩容prometheus之前,先将prometheus的数据目录备份,在扩容prometheus 之后在将备份的数据进行还原,具体步骤可以参考这篇文章https://tidb.net/blog/adb8242d,本文并没有备份prometheus的监控数据,而是直接缩容prometheus组件。

因为grafana组件也依赖prometheus的ip和port提供数据源去展示,所以更改prometheus端口后,grafana 需要重新配置prometheus的数据源,还有一种方法,也可以把grafana和prometheus通过tiup一起缩容,然后通过tiup 把grafana和prometheus一起扩容,这样grafana 就不需要重新配置prometheus的数据源了,本文采用的方案就是把grafana和prometheus通过tiup一起缩容然后扩容。


1.tiup 缩容prometheus和 grafana组件


1.1 tiup 缩容prometheus 组件

#假设集群名称是tidb-test
tiup cluster display tidb-test -R prometheus
#获取prometheus组件的ip和port
tiup cluster scale-in tidb-test -N 172.16.1.3:9091
#假设promethues组件的ip和port分别是172.16.1.3和9091,执行tiup 缩容命令缩容prometheus组件
#执行命令后,如果出现Scaled cluster `tidb-test` in successfully,则代表缩容prometheus组件成功

no-alt


1.2 tiup 缩容grafana组件

#假设集群名称是tidb-test
tiup cluster display tidb-test -R grafana
#获取grafana组件的ip和port
tiup cluster scale-in tidb-test -N 172.16.1.3:3000
#假设grafana组件的ip和port分别是172.16.1.3和3000,执行tiup 缩容命令缩容grafana组件
#执行命令后,如果出现Scaled cluster `tidb-test` in successfully,则代表缩容grafana组件成功

no-alt


2.tiup 扩容prometheus和 grafana组件


2.1 tiup 扩容prometheus 组件

通过tiup 扩容prometheus组件,首先需要写一份yaml 文件
prometheus_scaleout.yaml
monitoring_servers:
- host: 172.16.1.3
  port: 9090
  rule_dir: /home/tidb/prometheus
   
prometheus_scaleout.yaml 文件说明
- host: 172.16.1.3 #扩容prometheus 组件的服务器ip,由于需要把prometheus扩容到172.16.1.3上,host就是172.16.1.3
  port: 9090     #扩容prometheus 组件的端口,由于需要把prometheus运行在9090端口上,port就是9090
  rule_dir: /home/tidb/prometheus   #如果prometheus的告警配置文件做了一些修改,可以把修改后的prometheus告警配置文件放到rule_dir 定义目录下
  #其他配置项可以根据实际情况填写
#假设集群名称是tidb-test
tiup cluster scale-out tidb-test prometheus_scaleout.yaml
#执行tiup 扩容命令扩容prometheus
#执行命令后,如果出现Scaled cluster `tidb-test` out successfully,则代表扩容prometheus组件成功
tiup cluster display tidb-test -R prometheus
#扩容prometheus后,检查下扩容的prometheus组件状态是否正常

no-alt


2.2 tiup 扩容grafana 组件

通过tiup 扩容grafana组件,首先需要写一份yaml 文件
grafana_scaleout.yaml
grafana_servers:
- host: 172.16.1.3
grafana_scaleout.yml 文件说明
grafana_servers:
- host: 172.16.1.3 #扩容grafana组件的服务器ip,由于需要把grafana扩容到172.16.1.3上,host就是172.16.1.3
  #其他配置项目例如port等信息可以根据实际情况填写
#假设集群名称是tidb-test
tiup cluster scale-out tidb-test grafana_scaleout.yaml
#执行tiup 扩容命令扩容grafana组件  
##执行命令后,如果出现Scaled cluster `tidb-test` out successfully,则代表扩容grafana组件成功
tiup cluster display tidb-test -R grafana
#扩容grafana后,检查下扩容的grafana组件状态是否正常

no-alt


3 检查prometheus和grafana 工作是否正常

在通过对prometheus和grafana 组件进行缩容和扩容后,登录http://172.16.1.3:3000 grafana 检查下grafana监控面板是否能够从prometheus 采集数据进行展示,如果扩缩容步骤能够顺利执行,prometheus和grafana的工作状态是正常的。

no-alt


4 总结

虽然更换promethues的监听端口这种操作并不是很频繁,但是有时候也可能碰到这样的需求,通过tiup ,我们可以将prometheus 进行缩容和扩容,这样实现了更换prometheus的监听端口,而且步骤也是比较简单,如果需要更换tidb 集群其它组件的端口的话,也可以采取类似这样的步骤进行操作。

版权声明:本文为 TiDB 社区用户原创文章,遵循 CC BY-NC-SA 4.0 版权协议,转载请附上原文出处链接和本声明。

https://tidb.net/blog/955b560e



推荐阅读
  • Docker安全策略与管理
    本文探讨了Docker的安全挑战、核心安全特性及其管理策略,旨在帮助读者深入理解Docker安全机制,并提供实用的安全管理建议。 ... [详细]
  • 本文介绍了如何通过命令行有效地终止所有 Node.js 进程实例,以解决因端口冲突或其他服务冲突导致的问题。 ... [详细]
  • 调试利器SSH隧道
    在开发微信公众号或小程序的时候,由于微信平台规则的限制,部分接口需要通过线上域名才能正常访问。但我们一般都会在本地开发,因为这能快速的看到 ... [详细]
  • Web动态服务器Python基本实现
    Web动态服务器Python基本实现 ... [详细]
  • 本文详细介绍了如何正确设置Shadowsocks公共代理,包括调整超时设置、检查系统限制、防止滥用及遵守DMCA法规等关键步骤。 ... [详细]
  • 本文详细介绍了如何搭建一个高可用的MongoDB集群,包括环境准备、用户配置、目录创建、MongoDB安装、配置文件设置、集群组件部署等步骤。特别关注分片、读写分离及负载均衡的实现。 ... [详细]
  • 本文详细介绍了在Linux操作系统上安装和部署MySQL数据库的过程,包括必要的环境准备、安装步骤、配置优化及安全设置等内容。 ... [详细]
  • 本文介绍了如何在两个Oracle数据库(假设为数据库A和数据库B)之间设置DBLink,以便能够从数据库A中直接访问和操作数据库B中的数据。文章详细描述了创建DBLink前的必要准备步骤以及具体的创建方法。 ... [详细]
  • 本文详细介绍了如何在 Grafana 中独立于 Alertmanager 配置邮件和微信告警。具体步骤包括配置 SMTP 服务器以实现邮件告警,以及设置微信告警的集成方式。通过这些配置,用户可以更灵活地管理和接收来自 Grafana 的告警通知,确保及时响应系统异常。文章还提供了详细的配置示例和常见问题的解决方案,帮助用户顺利完成设置。 ... [详细]
  • 本文详细介绍了Oracle 11g中的创建表空间的方法,以及如何设置客户端和服务端的基本配置,包括用户管理、环境变量配置等。 ... [详细]
  • 本文详细介绍了如何在Oracle VM VirtualBox中实现主机与虚拟机之间的数据交换,包括安装Guest Additions增强功能,以及如何利用这些功能进行文件传输、屏幕调整等操作。 ... [详细]
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
  • 本文详细介绍了如何在ARM架构的目标设备上部署SSH服务端,包括必要的软件包下载、交叉编译过程以及最终的服务配置与测试。适合嵌入式开发人员和系统集成工程师参考。 ... [详细]
  • 在尝试使用 Android 发送 SOAP 请求时遇到错误,服务器返回 '无法处理请求' 的信息,并指出某个值不能为 null。本文探讨了可能的原因及解决方案。 ... [详细]
  • grafana,9,1,1,发布,系统,指标, ... [详细]
author-avatar
gggs520_164
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有