写点什么

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

  • 2022-10-14
    北京
  • 本文字数:2083 字

    阅读完需:约 7 分钟

作者: Hacker_loCdZ5zu 原文来源:https://tidb.net/blog/955b560e

背景

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


注意事项:

通过 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-testtiup cluster display tidb-test -R prometheus#获取prometheus组件的ip和porttiup 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组件成功
复制代码


1.2 tiup 缩容 grafana 组件

#假设集群名称是tidb-testtiup cluster display tidb-test -R grafana#获取grafana组件的ip和porttiup 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组件成功
复制代码


2.tiup 扩容 prometheus 和 grafana 组件

2.1 tiup 扩容 prometheus 组件

通过tiup 扩容prometheus组件,首先需要写一份yaml 文件prometheus_scaleout.yamlmonitoring_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组件状态是否正常
复制代码


2.2 tiup 扩容 grafana 组件

通过tiup 扩容grafana组件,首先需要写一份yaml 文件grafana_scaleout.yamlgrafana_servers:  - host: 172.16.1.3grafana_scaleout.yml 文件说明grafana_servers:  - host: 172.16.1.3  #扩容grafana组件的服务器ip,由于需要把grafana扩容到172.16.1.3上,host就是172.16.1.3    #其他配置项目例如port等信息可以根据实际情况填写#假设集群名称是tidb-testtiup 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组件状态是否正常
复制代码


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

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


4 总结

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


发布于: 刚刚阅读数: 5
用户头像

TiDB 社区官网:https://tidb.net/ 2021-12-15 加入

TiDB 社区干货传送门是由 TiDB 社区中布道师组委会自发组织的 TiDB 社区优质内容对外宣布的栏目,旨在加深 TiDBer 之间的交流和学习。一起构建有爱、互助、共创共建的 TiDB 社区 https://tidb.net/

评论

发布
暂无评论
如何给TiDB集群的prometheus更换端口_实践案例_TiDB 社区干货传送门_InfoQ写作社区