k8s集群搭建普若米修斯,监控rabbitmq集群
背景
这几天在做关于容器化部署的工作,这里做一个简单的分享,给容器内的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集群相关推荐
- 搭建普罗米修斯Prometheus监控系统
一.普罗米修斯监控概述 1.什么是普罗米修斯监控 Prometheus(由go语言(golang)开发)是一套开源的监控&报警&时间序列数据库的组合.适合监控docker容器.因为K8 ...
- 如何搭建普罗米修斯 Prometheus
如何搭建普罗米修斯 Prometheus 1.下载Prometheus 进到这个网址 https://github.com/prometheus/prometheus/releases 不同的系统下载 ...
- 普罗米修斯监控linux,Prometheus(普罗米修斯)搭建监控
Prometheus(普罗米修斯) 实验环境:(各个主机,ip,所需服务) docker01 docker02 docker03 1.10 1.20 1.30 NodeEXporter NodeEXp ...
- 普罗米修斯监控服务之-监控携带metric接口的服务
第一部分:课前小菜: 例子: 分布式:将多台Linux主机组合在一起,做成像一台主机一样来使用 微服务:将一台Linux主机拆分成多台Linux使用 淘宝:搜索页.商品详情页.订单页.支付页.物流.评 ...
- 普罗米修斯 监控_接近完美的监控系统—普罗米修斯
普罗米修斯(Prometheus)是一个SoundCloud公司开源的监控系统.当年,由于SoundCloud公司生产了太多的服务,传统的监控已经无法满足监控需求,于是他们在2012年决定着手开发新的 ...
- 一篇文章搞定Prometheus普罗米修斯监控系统的部署
Prometheus普罗米修斯监控系统 一.普罗米修斯监控概述 1.1 什么是普罗米修斯监控 二.时间序列数据 2.1 什么是序列数据 2.2 时间序列数据特点 2.3 普罗米修斯特征 三.普罗米修斯 ...
- 阿尔萨斯监控平台普罗米修斯监控平台对服务器资源的监控
一.arthas-阿尔萨斯监控平台 内存监控: 1.打开RDMS,选择应用实例,在'快捷方式'下拉选项中选择arthas 2.打开监控界面,输入:dashboard -i 5000 备注:-i 刷新实 ...
- 普罗米修斯监控docker 服务
环境 192.168.254.127 (监控服务器) 192.168.254.128 (被监控机器) 首先在监控服务器安装: 1.安装Node Exporter 来收集硬件信息 所有节点运行以下命令安 ...
- 普罗米修斯监控k8s集群
Kubernetes集群资源监控 概述 监控指标 一个好的系统,主要监控以下内容 集群监控 节点资源利用率 节点数 运行Pods Pod监控 容器指标 应用程序[程序占用多少CPU.内存] 监控平台 ...
最新文章
- Activity的生命周期理解
- MemCache内存缓存系统
- 9个 Python 实用案例分享
- NFL discussion调研
- ubuntu下面解决mysqld_safe Directory '/var/run/mysqld' for UNIX socket file don't exists
- cms的 php代码,KingCMS/PHP可执行代码
- 【2016年第2期】大数据背景下的治理现代化:何以可能与何以可为(上)
- hdu1247 Hat’s Words
- Java注解:@IntDef 替换 Emum
- java 读取word页码
- 国内镜像加速器registry的制作
- 国产加密实际运用:使用SM3加盐存储密码,并且使用SM2进行登录认证
- SDUTOJ 2777 小P的故事——神奇的换零钱 背包
- Navicat Premium Mac 12 破解
- intellij背景护眼色调节
- 数据库—行式存储和列式存储
- 7-2 Say Hello to Integers (20分)
- Levy process(列维过程)
- 潘爱民:Windows系统程序员的“内功”修炼
- System32下几乎所有文件的简单说明