背景

这几天在做关于容器化部署的工作,这里做一个简单的分享,给容器内的rabbitmq集群+一个普若米修斯监控服务

先决条件:

拥有一个k8s集群(一主2从)

k8s集群上已经搭建了rabbitmq集群,且mq版本>=3.8.0

如果上述先决条件ok,那么就可以看后面的步骤

实现步骤

疑问:刚开始搭建普若米修斯监控的时候,我是不知道怎么做的,以前没接触过,然后市面上就会有几个搭建方案给你,比如“prometheus-operator”, "kube-prometheus", "rabbitmq-prometheus" ... 等等一些开源项目,我这里采用的是"kube-prometheus"来部署prometheus监控。其他没试过,感觉也没必要尝试。

第一步:下载“kube-prometheus”

git clone https://github.com/prometheus-operator/kube-prometheus.git

这里下载下来就有一个压缩包,然后tar -zxvf 解压得到kube-prometheus

第二步:修改service,将服务以nodeport方式暴露出去(这里方便搭建成功后可以访问监控页面,查看效果)

这里我们要修改三个文件:(红色框框里面的是新增的)

修改这三个文件,暴露端口以nodeport方式,如果长期稳定的端口,用igress

第三步:部署

首先部署setup里面的内容

然后部署manifests内的资源,顺序不要错,不然会报错,如果按这个顺序还是报错了,就多试几次。

到这里普若米修斯监控应该是部署成功了,用地址访问看看 http://{ip}:30200

看这个开源的监控页面,第一次登录密码和用户名admin/admin,登录之后会让你重新设置密码

到这里我们还不能监控我们的mq,因为还有一个配置需要,之前我提到的mq版本要>=3.8.0的原因是这个版本之后集成了普若米许思的插件,不需要我们单独去配置,现在我们要去打开监控的开关,去把pod的注释配置上,这样监控会自动找到这个。

第四步:新增两个配置,这个配置是官网提供的,理解k8s工作机制的应该看看就明白是干嘛的了

[root@k8s-master next]# cat prometheus-roles.yaml
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRole
metadata:name: prometheus
rules:
- apiGroups: [""]resources:- nodes- services- endpoints- podsverbs: ["get", "list", "watch"]
- apiGroups: [""]resources:- configmapsverbs: ["get"]
- nonResourceURLs: ["/metrics"]verbs: ["get"]
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:name: prometheus
roleRef:apiGroup: rbac.authorization.k8s.iokind: ClusterRolename: prometheus
subjects:
- kind: ServiceAccountname: prometheus-k8snamespace: monitoring

还有一个。

[root@k8s-master next]# cat prometheus-roles.yaml
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRole
metadata:name: prometheus
rules:
- apiGroups: [""]resources:- nodes- services- endpoints- podsverbs: ["get", "list", "watch"]
- apiGroups: [""]resources:- configmapsverbs: ["get"]
- nonResourceURLs: ["/metrics"]verbs: ["get"]
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:name: prometheus
roleRef:apiGroup: rbac.authorization.k8s.iokind: ClusterRolename: prometheus
subjects:
- kind: ServiceAccountname: prometheus-k8snamespace: monitoring
[root@k8s-master next]# ls
prometheus-roles.yaml  rabbitmq-podmonitor.yaml
[root@k8s-master next]# cat rabbitmq-podmonitor.yaml
apiVersion: monitoring.coreos.com/v1
kind: PodMonitor
metadata:name: rabbitmq
spec:podMetricsEndpoints:- interval: 15sport: prometheusselector:matchLabels:app.kubernetes.io/component: rabbitmqnamespaceSelector:any: true

然后部署这两个资源 k apply -f ....(你懂的)

到这里我们的容器的配置就已经结束了,后面就是普若米修斯的页面配置,这里采用的也是开源的页面配置,下载地址:

https://grafana.com/grafana/dashboards/10991

下载这个json,保存起来

第五步:grafana面板导入

把你刚刚下载的json文件导入,然后你就会看到这个界面,改个名字,再选个监控,最后点import就ok了

第六步:最后我们来看看效果

最后的效果和rabbitmq自带的UI效果应该要好,这个是可组装的。今天的内容就分享到这里,有不懂的可以私信我。记得点赞+关注,爱你们

k8s集群搭建普若米修斯,监控rabbitmq集群相关推荐

  1. 搭建普罗米修斯Prometheus监控系统

    一.普罗米修斯监控概述 1.什么是普罗米修斯监控 Prometheus(由go语言(golang)开发)是一套开源的监控&报警&时间序列数据库的组合.适合监控docker容器.因为K8 ...

  2. 如何搭建普罗米修斯 Prometheus

    如何搭建普罗米修斯 Prometheus 1.下载Prometheus 进到这个网址 https://github.com/prometheus/prometheus/releases 不同的系统下载 ...

  3. 普罗米修斯监控linux,Prometheus(普罗米修斯)搭建监控

    Prometheus(普罗米修斯) 实验环境:(各个主机,ip,所需服务) docker01 docker02 docker03 1.10 1.20 1.30 NodeEXporter NodeEXp ...

  4. 普罗米修斯监控服务之-监控携带metric接口的服务

    第一部分:课前小菜: 例子: 分布式:将多台Linux主机组合在一起,做成像一台主机一样来使用 微服务:将一台Linux主机拆分成多台Linux使用 淘宝:搜索页.商品详情页.订单页.支付页.物流.评 ...

  5. 普罗米修斯 监控_接近完美的监控系统—普罗米修斯

    普罗米修斯(Prometheus)是一个SoundCloud公司开源的监控系统.当年,由于SoundCloud公司生产了太多的服务,传统的监控已经无法满足监控需求,于是他们在2012年决定着手开发新的 ...

  6. 一篇文章搞定Prometheus普罗米修斯监控系统的部署

    Prometheus普罗米修斯监控系统 一.普罗米修斯监控概述 1.1 什么是普罗米修斯监控 二.时间序列数据 2.1 什么是序列数据 2.2 时间序列数据特点 2.3 普罗米修斯特征 三.普罗米修斯 ...

  7. 阿尔萨斯监控平台普罗米修斯监控平台对服务器资源的监控

    一.arthas-阿尔萨斯监控平台 内存监控: 1.打开RDMS,选择应用实例,在'快捷方式'下拉选项中选择arthas 2.打开监控界面,输入:dashboard -i 5000 备注:-i 刷新实 ...

  8. 普罗米修斯监控docker 服务

    环境 192.168.254.127 (监控服务器) 192.168.254.128 (被监控机器) 首先在监控服务器安装: 1.安装Node Exporter 来收集硬件信息 所有节点运行以下命令安 ...

  9. 普罗米修斯监控k8s集群

    Kubernetes集群资源监控 概述 监控指标 一个好的系统,主要监控以下内容 集群监控 节点资源利用率 节点数 运行Pods Pod监控 容器指标 应用程序[程序占用多少CPU.内存] 监控平台 ...

最新文章

  1. Activity的生命周期理解
  2. MemCache内存缓存系统
  3. 9个 Python 实用案例分享
  4. NFL discussion调研
  5. ubuntu下面解决mysqld_safe Directory '/var/run/mysqld' for UNIX socket file don't exists
  6. cms的 php代码,KingCMS/PHP可执行代码
  7. 【2016年第2期】大数据背景下的治理现代化:何以可能与何以可为(上)
  8. hdu1247 Hat’s Words
  9. Java注解:@IntDef 替换 Emum
  10. java 读取word页码
  11. 国内镜像加速器registry的制作
  12. 国产加密实际运用:使用SM3加盐存储密码,并且使用SM2进行登录认证
  13. SDUTOJ 2777 小P的故事——神奇的换零钱 背包
  14. Navicat Premium Mac 12 破解
  15. intellij背景护眼色调节
  16. 数据库—行式存储和列式存储
  17. 7-2 Say Hello to Integers (20分)
  18. Levy process(列维过程)
  19. 潘爱民:Windows系统程序员的“内功”修炼
  20. System32下几乎所有文件的简单说明

热门文章

  1. 外贸群发软件用什么好?
  2. vue首次加载生命周期
  3. DAG技术币下一个以太坊? 代码不咋的总量40亿有人收4毛一个了
  4. 软件测试需要的证书认证
  5. ajax入门学习(一)
  6. P1926 小书童——刷题大军
  7. 宿迁学院计算机考点,考研:一年辛苦复习敌不过考试两天奔波 为什么宿迁学院不能设考点...
  8. 亲测无限坐席在线客服系统源码,基于ThinkPHP的一款在线客服系统源码
  9. 2021年G2电站锅炉司炉考试题库及G2电站锅炉司炉模拟考试
  10. 王者荣耀坦克位思路和上分必读知识