搭建prometheus、grafana环境的过程这里就不再赘述,网上很多,这里只讲cassandra监控的过程。 1、导入cassandra grafana监控包, 5408监控模板可以在grafana官网上查到:https://grafana.com/grafana/dashboards/5408 2、将cassandra https://github.com/prometheus/jmx_exporter上的cassandra配置,这里面的配置跟5408这个dashboard不兼容,需要修改很多,直接用https://grafana.com /grafana/dashboards/5408里面的配置即可,为了方便使用我把文件上传到csdn文档里面(免费),有需要的自取https://download.csdn.net/download/john1337
Prometheus+Grafana监控集群 1.安装Grafana 1.1下载并安装 下载地址:https://grafana.com/grafana/download 离线快速安装部署: wget https://dl.grafana.com/oss/release/grafana-6.3.3-1.x86_64.rpm sudo yum localinstall grafana -6.3.3-1.x86_64.rpm 1.2 启动grafana 安装完成后,grafana服务默认已安装,配置文件/etc/grafana/grafana.ini,如需要修改路径及端口,可在该文件中修改 启动grafana 1.3 登录grafana 访问页面http://IP:3000,默认账户密码是admin/admin,首次登录建议修改密码。 http://ip:9090/-/reload /** 热加载的前提是启动时加了–web.enable-lifecycle */ 问题1: 修改添加节点后vi prometheus.yml,热加载集群
Kubernetes集群:监控Kubernetes集群本身的关键指标 Kubernetes集群上部署的应用:监控部署在Kubernetes集群上的应用 1.基础设施层和中间件层的监控 其中基础设施层监控指标的拉取肯定是来在 可是我们目前的监控系统是以k8s集群外部的Prometheus为主的,grafana和告警都是使用这个外部的Prometheus,如果还需要在Kubernetes集群内部部署一个Prometheus的话一定要把它桶外部的 2.4 Kubernetes集群Grafana Dashboard 部署grafana apiVersion: v1 kind: Service metadata: name: grafana --- apiVersion: extensions/v1beta1 kind: Deployment metadata: labels: app: grafana name: grafana : grafana/grafana:latest name: grafana imagePullPolicy: Always ports:
为什么需要集群? 1、性能 Redis本身的QPS已经很高了,但是如果在一些并发量非常高的情况下,性能还是会受到影响。这个时候我们希望有更多的Redis服务来完成工作。 启动后,查看集群状态: redis>info replication 从节点不能写入数据(只读),只能从master节点同步数据。get成功,set失败。 为了保证监控服务器的可用性,我们会对Sentinel做集群的部署。Sentinel既监控所有的Redis服务,Sentinel之间也相互监控。 故障转移流程的第一步就是在Sentinel集群选择一个Leader,由Leader完成故障转移流程。Sentinle通过Raft算法,实现Sentinel选举。
Grafana Grafana只是一个接入数据源的可视化面板,这里为了方便,我们选择Docker安装。 mkdir grafana ID=$(id -u) docker run -d --user $ID --name=grafana --volume "$PWD/grafana:/var/lib/grafana " -p 3000:3000 grafana/grafana # 如果生产环境配置,最好提前配置好域名 docker run -d --user $ID --name=grafana --volume 查看容器相关参数: docker inspect docker.io/grafana/grafana 进入: docker exec -it grafana /bin/sh Grafana的默认配置文件 grafana.ini位于容器中的/etc/grafana,这个文件是映射不出来的。
Grafana Grafana只是一个接入数据源的可视化面板,这里为了方便,我们选择Docker安装。 mkdir grafana ID=$(id -u) docker run -d --user $ID --name=grafana --volume "$PWD/grafana:/var/lib/grafana " -p 3000:3000 grafana/grafana # 如果生产环境配置,最好提前配置好域名 docker run -d --user $ID --name=grafana --volume 查看容器相关参数: docker inspect docker.io/grafana/grafana 进入: docker exec -it grafana /bin/sh Grafana的默认配置文件 grafana.ini位于容器中的/etc/grafana,这个文件是映射不出来的。
Grafana的介绍与使用 简介 Grafana是一款用Go语言开发的开源数据可视化工具,可以做数据监控和数据统计,带有告警功能。 Grafana安装部署 准备镜像 [root@k8s-dns ]# docker pull grafana/grafana:7.3.3 [root@k8s-dns ]# docker tag grafana /grafana:7.3.3 harbor.od.com/infra/grafana:v7.3.3 [root@k8s-dns ]# docker push harbor.od.com/infra/grafana Deployment metadata: labels: app: grafana name: grafana name: grafana namespace: infra grafana-kubernetes-app grafana-cli plugins install grafana-clock-panel grafana-cli plugins install grafana-piechart-panel
我们可以使用 Prometheus 来监控整个 Kubernetes 集群。 ” 第三步:安装 Prometheus-Grafana 栈: kubectl apply -f prometheus_grafana_manifest.yaml 第四步:为 Grafana 创建 ingress : 如果集群中有一个 ingress 控制器,请更新 grafana-ingress.yaml 文件中的域和 ingress 类,并创建 ingress 资源。 Grafana Credentials(凭据) Grafana 的默认凭据为: Username:Cloud Password:Cloud Grafana 登陆页面: Grafana Nodes 仪表板 否则,你将永远不会收到有关集群状态变更和资源利用率的通知。 我们可以根据需要更改配置。 Alert Manager 配置了一个以 YAML 格式编写的配置文件,该文件定义了规则、通知路由和接收器。
redis3.0中提供了集群可以解决这些问题。 2、什么是集群 redis集群是对redis的水平扩容,即启动N个redis节点,将整个数据分布存储在这个N个节点中,每个节点存储总数据的1/N。 3、集群如何配置? 3.1、需求:配置3主3从集群 下面我们来配置一个3主3从的集群,每个主下面挂一个slave,master挂掉后,slave会被提升为master。 [OK] All 16384 slots covered. 3.14、连接集群节点,查看集群信息:cluster nodes 需要使用 redis-cli -c 命令连接集群中6个节点中任何一个节点都可以 4、redis集群如何分配这6个节点? 一个集群至少有3个主节点,因为新master的选举需要大于半数的集群master节点同意才能选举成功,如果只有两个master节点,当其中一个挂了,是达不到选举新master的条件的。
【问题表现】 某项目在UAT环境进行全链路压测的过程中,发现在grafana平台上没有数据显示; 查看coding平台上的日志,发现脚本执行时间只有1分钟左右且接口没有执行; ? ? 在组内几个大佬的帮助下,发现参数化文件的路径要修改成配置好的路径,而且还要上传到集群中才可以使用; ? ? 【复测结果】 把数据文件上传到集群后,重新构建构建集群,复测结果比较理想 ?
介绍 为什么要监视多个Kubernetes集群,主要有两个原因。在第一个使用场景中,您拥有集群,每个开发阶段(如开发、阶段化和生产)都有一个集群。 广泛采用的基于度量的开源监控和告警系统Prometheus进行监控应用程序和集群。每个集群的监测设置都非常健全和完整; 然而,对于跨集群的度量标准没有明确的做法。 第三个集群将是我们的可观测性集群,与前两个类似,Prometheus也在这里运行。 在安装了所有的helm cahrt、服务器和客户端之后,所有的Prometheus服务都可以在我们的可观察性集群中使用,现在我们有一些可以在Grafana中可视化这些指标。 要么我们在Grafana中将所有不同的Prometheus服务作为单独的数据源添加,要么我们用这些端点配置Prometheus服务。
架构类型 grafana/grafana:latest 功能性说明 Telegraf Telegraf 是一个用 Go 编写的代理程序,可收集系统和服务的统计数据 Influxdb InfluxDB 是一个开源 image: grafana/grafana:latest container_name: grafana expose: - "3000" ports: - "13000 restart: always docker-compose.yml文件可在github上下载,下载地址:https://github.com/marionxue/docker.git 启动监控集群 up -d # 启动容器 docker-compose logs -f # 查看日志 docker-compose ps # 查看启动的哪些容器 docker-compose down # 删除监控集群的所有容器 ,但是数据还持久在本地 docker-compose down -v # 删除监控集群的所有容器以及数据
中间件层:监控独立部署于Kubernetes集群之外的中间件,例如:MySQL、Redis、RabbitMQ、ElasticSearch、Nginx等。 Kubernetes集群:监控Kubernetes集群本身的关键指标 Kubernetes集群上部署的应用:监控部署在Kubernetes集群上的应用 二 Prometheus相关概念 2.1 数据模型 查看所有Kubernetes集群上的Endpoint通过服务发现的方式自动连接到了Prometheus。 ? 通过图形化界面查看内存。 ? namespace: monitoring 7 labels: 8 app: grafana 9 spec: 10 type: NodePort 11 ports 4.5 配置Grafana 配置dashboard,本实验使用162号模板,此Dashboard 模板来展示 Kubernetes 集群的监控信息。 ?
远程剔除 有些不响应的node,一段时间里无法交互,可以远程的方式,从集群中剔除 停掉h101上应用,模拟不响应 [root@h101 ~]# rabbitmqctl stop_app Stopping [root@h102 ~]# 此时h102上信息已经一致了,但是h101还认为自己是集群的一部分,一旦它的应用恢复,它会尝试与集群联络,从而产生报错 [root@h101 ~]# rabbitmqctl
最近因为部门需要做下线上PHP集群业务的监控,自己就研究了一下。 开始在网上看了很多博客,都只是讲一些GRAFANA的很基本的应用,很少有完整讲讲业务应用监控的,自己研究了2天,总算测试通过了,就先写一篇文档记录下自己整理的一些东西,后面继续加深学习。 一、环境: 3台docker容器,安装centos7系统 monitor_model:安装influxDB+telegraf+grafana+nginx+php7(由于自己测试,开始就安装一台上了) php-test01 127.0.0.1:88/status_php-test01 5、配置telegraf /etc/telegraf/telegraf.conf 配置两组php机器(urls那里是一个数组,我试了半天,汗) 6、打开grafana
grafana+promethues部署k8s集群监控 git:https://github.com/coreos/kube-prometheus/tree/release-0.4 sed -i ""
本篇文章主机介绍:如何安装部署grafana如何配置prometheus数据源到grafana创建最基础的展示面板注意:演示环境用的是ubuntu环境从收集指标聊起比如我们要监控一台主机,那么线下用到最多的方案是 sudo tee /etc/apt/keyrings/grafana.gpg > /dev/null &&echo "deb [signed-by=/etc/apt/keyrings/grafana.gpg ] https://apt.grafana.com stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list &&sudo apt-get status grafana-server我们现在应该能够通过在浏览器中访问以下 URL 来访问 Grafana:http://localhost:3000。 如果看到带有登录提示的页面,则 Grafana 运行正常。
系列文章 •Grafana 系列文章[1] 概述 如前文 Grafana 系列 - 统一展示 -1- 开篇[2]所述, Grafana 可以了解所有相关的数据--以及它们之间的关系--对于尽快根治事件和确定意外系统行为的真正来源非常重要 Grafana 允许团队在一个地方对所有的数据进行无缝的可视化和跳转。 最典型的就是 Grafana Labs 的 LGTM 技术栈,包括: •Loki(Logging)•Grafana(可视化)•Tempo(Tracing)•Mimir(Metrics) LGTM 通过如下的技术细节 具体如下图: LTM Seamless Moving 即使没有采用 Grafana Labs 的解决方案,也仍然能实现一定程度的无缝跳转。
【背景】 首次在coding平台上部署集群进行压测,压测完成后,grafana平台上查不到数据。 ? 【排障过程】 查看集群构建日志,没有发送请求记录 ? 脚本设置运行时间为6分钟,集群只运行了13S,期间没有请求发送记录,运行期间,没有报错记录。很明显是脚本本身有问题,而非集群数据等报错。 压测脚本需要上传到集群上,才能调用: ? 1638955613(1).png 修改csv配置的数据文件路径:(路径格式为 /jmeter/文件名) ? 4、重新构建集群,解决问题 ? 【小结】 1、理清coding平台与集群机的工作原理,才能快速定位问题。Coding平台代码仓只作为文件的中转站,集群不能直接调用数据文件。 2、沟通方法很重要。
背景:有一套11.2.0.4 RAC集群的环境,为了测试DG,直接复制了一套一模一样的环境,修改过IP之后,依然有问题,无法同时启动。 初步判断是因为在同一子网存在两个同名的集群(都是jystdrac),需要对其中一个集群进行修改(例如修改为jyrac)。 RAC修改集群名字还比较麻烦,可参考MOS文章: How to Change the Cluster Name in RAC (Requires -deconfig and (re)-config of 查询当前集群名称: $GRID_HOME/bin/olsnodes -c 没有单个命令可以直接来重命名群集名称。 注:期间OCR需要重新选择配置,集群名称修改后,对应hosts中scan的名字也需要对应修改(例如集群名称是jyrac,scan名字对应为jyrac-scan)。