grafana

Prometheus 和 它的监控需求朋友们 ;)

爱⌒轻易说出口 提交于 2020-10-17 13:50:26
这篇博文的面向群体是 还不太了解 Prometheus 和 想要开始使用 Prometheus 的人群. 本文想做的事是 想尽力讲清楚 Prometheus 是如何看待监控这件事情 以及 Prometheus 是如何实现这些需求的. 本文中不会出现的内容: 跟 Prometheus 实现细节有太多相关的东西 等 当想看监控的时候, 我们到底想要什么? 我们想要看的东西也就是我们对监控的需求. 需求 在实际的生产过程中, 产生的和需要收集的监控数据分为很多种, 例如以下这些, 除此之外, 还有很多很多. 但从实现方式上来说, 大多都大同小异. 瞬时状态的 CPU 和 MEM 使用率读数 硬盘使用量的增长率 对 集群节点 状态 进行筛选 , 记录节点位于什么时刻不可用, 这就要求有 Tag 支持 瞬时状态的 网卡流量, 例如 100 Mbps, 服务请求量, 服务的 QPS, 服务的 错误率和错误次数 全部请求的平均时耗 一段时间内, 所有请求的 时耗中, 50% 的请求时耗小于多少毫秒, 95% 的请求时耗小于多少毫秒? 以此评估整体的接口情况 一段时间内, 所有请求的 时耗中, 多少请求时耗大于 1000ms, 多少请求时耗位于 200-500 区间内, 用于了解 请求时耗的具体分布, 以评估接口情况 …… 那么我们就需要一个 监控系统 来完成 上述需求, 这个监控系统

用Nginx实现接口慢查询并可示化展示TOP 20

北战南征 提交于 2020-10-17 00:03:18
相信很多小伙伴都见过一些商业产品中的url接口响应时间,实时汇总显示功能。可以理解为web接口的慢查询,与sql的慢查询有异曲同工之妙,但是想做却无从入手不知道怎么实现此功能,所以今天就教大家如何实现用grafana+nginx+mysql来实现此功能。 0x0 其实nginx本身就带有接口响应时间的功能,只不过还需要改造下,比如说单独记录超过1000ms(1秒)的响应,并写入数据库中。要注意的是并不建议大家将记录直接写入数据库中,因为数据库有时会成为nginx的负担,间接写入即可。需要简单修改下log模块,涉及文件ngx_http_log_module.c 通常位于nginx-1.17.9/src/http/modules/ngx_http_log_module.c 大约838行, 找到ngx_http_log_request_time函数并修改如下: static u_char * ngx_http_log_request_time(ngx_http_request_t *r, u_char *buf, ngx_http_log_op_t *op) { ngx_time_t *tp; ngx_msec_int_t ms; time_t t = time(NULL); struct tm *loc_time = localtime(&t); tp = ngx_timeofday(

(三) Prometheus 监控思科交换机---Grafana 进行监控效果展示

折月煮酒 提交于 2020-10-16 18:23:52
Grafana Dashboard 进行监控效果展示 因为 Prometheus 的页面展示效果不是很好,一般就需要配合 Grafana 进行效果展示,Grafana更多地需要在浏览器进行操作 Prometheus 监控思科交换机文档完整地址: https://blog.51cto.com/liujingyu/category9.html 整体逻辑效果图 Grafana 连接 Prometheus 数据源(Data Source) PS:我部署的 Grafana 是经过汉化的 7.2.0 版本(已上传至阿里云仓库,公开版),对新手来说稍微友好一点,当然各位大神如果觉得不安全,或者喜欢用英文版本的,只需要去 Grafana 的官网下载部署最新版本即可。 Grafana 添加可以监控交换机的模板,我个人修改了几个,更贴合现在的使用环境 采用 Job 做的区分,而不是一个 Job 做的多个 target 一个 Job 对应多个 target 会有问题, Prometheus 会触发 400 的访问错误,然后我们的监控项也没办法做更进一步的区分 逻辑解释图 具体模板: 12492 detail 10523 所有接口 12489 SNMP Device Summary 11169 显示流量,单个交换机 示例图: 根据 10523 的模板进行的了一下简单修改,可以根据 Job 进行区分

Grafana安装与配置

烈酒焚心 提交于 2020-10-07 07:31:18
zabbix 基于 WEB 界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案图形,但是 zabbix 图形需要创建,并且 zabbix 图形组合比较麻烦。而 Grafana 创建相对简单,并且可以实时直接调用 zabbix 系统的数据,并不把数据存在本地,因此占用资源较少。 Grafana 优化了图形的展现,可以用来做监控大屏。 下载地址: 实战环境: 1、 zabbix server 已经安装创建完毕 2、 Grafana 版本 grafana-6.3.2 安装启动: 下载 grafana 软件并上传到服务器 yum -y localinstall grafana-6.3.2-1.x86_64.rpm (自动安装依赖包) 配置文件位置: /etc/grafana/grafana.ini 修改端口 4000 ,默认为 3000 。 systemctl enable grafana-server# 开机自动启动 systemctl start grafana-server# 启动 grafana 服务 验证: ps -auxf|grep grafana liuxian+ 1779 0.0 0.0 12320 1060 pts/1 S+ 17:35 0:00 \_ grep --color=auto grafana grafana 1358 0.5 0.3 2735208

干掉ELK | 使用Prometheus+Grafana搭建监控平台

谁说我不能喝 提交于 2020-10-07 05:20:46
什么是Prometheus? Prometheus是由SoundCloud开发的开源监控报警系统和时序列数据库(TSDB)。Prometheus使用Go语言开发,是Google BorgMon监控系统的开源版本。 Prometheus的特点 · 多维度数据模型。 · 灵活的查询语言。 · 不依赖分布式存储,单个服务器节点是自主的。 · 通过基于HTTP的pull方式采集时序数据。 · 可以通过中间网关进行时序列数据推送。 · 通过服务发现或者静态配置来发现目标服务对象。 · 支持多种多样的图表和界面展示,比如Grafana等 Prometheus的组件 Prometheus生态系统由多个组件组成,它们中的一些是可选的。多数Prometheus组件是Go语言写的,这使得这些组件很容易编译和部署。 · Prometheus Server 主要负责数据采集和存储,提供PromQL查询语言的支持。 · 客户端SDK 官方提供的客户端类库有go、java、scala、python、ruby,其他还有很多第三方开发的类库,支持nodejs、php、erlang等。 · Push Gateway 支持临时性Job主动推送指标的中间网关。 · Exporter Exporter是Prometheus的一类数据采集组件的总称。它负责从目标处搜集数据,并将其转化为Prometheus支持的格式

学习笔记

你说的曾经没有我的故事 提交于 2020-10-05 09:11:32
1、大概情况 在asktom的论坛里面,看到有人提问:一个tikv节点磁盘坏了,现在是down状态,tikv.log里面不停写入太多关于这个节点访问不了的日志信息,占据大量磁盘,她的处理方式如下: a、根据ip地址,找到这个节点的store id b、用store delete,来让这个节点处于offline状态,之后快速变成Tombstone状态,他就可以下掉这个节点了。 c、intenvry.ini文件里面,去掉这个节点的ip配置信息。 d、找厂商修复这个节点磁盘,厂商修复后,发现磁盘文件彻底损坏,换了个新的盘给她。 这样的处理后,他发现这个tikv节点,还是加入不了tidb集群,一直处于offline状态,tikv.log日志不停写入,这个的情况该怎么处理呢?根据各位网友的回复和解决过程,整理如下: 2、解决思路 这个节点上的数据已经丢失了,但是集群的数据还在,因为是三副本,所以只要在集群里面下掉这个tikv节点,然后按照添加新节点的方式,加入这个tikv节点,让tidb集群自动补数据进来就可以了。 3、解决方案 a、强行设置tikv节点为tombstone状态 登录pd的server节点,在业务低峰期执行下 tombstone 命令,curl -X POST 'http://{pd_ip}:{pd_port}/pd/api/v1/store/{store_id}/state

性能测试之Docker监控

喜夏-厌秋 提交于 2020-10-05 06:12:26
微服务、大中台盛行的当下,容器化已经被广泛使用。在性能测试过程中,对容器的监控模型构建也是必不可少的。 我们性能测试监控模型的构建一直是围绕着Prometheus和Grafana来展开的。她们可以快速的构建我们性能测试的绝大多数的监控模型:已介绍搭建了数据库监控、服务器监控。思路是相同的,也可自行快速构建自己所需的监控模型。 Docker容器监控 效果图 安装使用 Prometheus和Grafana的安装,参阅上文 安装启动cadvisor sudo docker run \ --volume=/:/rootfs:ro \ --volume=/var/run:/var/run:ro \ --volume=/sys:/sys:ro \ --volume=/var/lib/docker/:/var/lib/docker:ro \ --volume=/dev/disk/:/dev/disk:ro \ --publish=8090:8080 \ --detach=true \ --name=cadvisor \ google/cadvisor:v0.24.1 配置修改prometheus.yml,重启prometheus - job_name: 'docker' static_configs: - targets: - "ip:port" 下载Grafana的Node

MQTT Broker 服务器选型

做~自己de王妃 提交于 2020-10-03 09:45:51
MQTT Broker 服务器选型 EMQ-X HiveMQ ActiveMQ Mosquitto License 开源+商用 开源+商用 开源 开源 公司 杭州映云科技 dc-square ,德国 Apache 项目维护者 Eclipse 开源社区 开发语言 Erlang Java Java C 连接数 开源 十万级 ,商用 百万级 开源25个,商用 百万级 千万级 系统性能 单机十万 单机百万 集群千万 支持集群 协议支持 MQTT、CoAP、MQTT-SN、WebSocket、LwM2M MQTT MQTT、JMS、Openwire、Stomp、AMQP、WebSocket XMPP MQTT、WebSocket MQTT 5.0 √ √ × √ 认证鉴权 TLS/DTLS、ClientID/IP地址/用户密码认证、根据IP地址/ClientID/用户名访问控制LDAP/Redis/MySQL/MongoDB/PostgreSQL/HTTP API认证 TLS/DTLS、X.509证书、JWT、OAuth2.0、应用协议(ID/用户名/密码)、配置文件形式的认证与 ACL 功能 LDAP (JAAS)、Apache Shiro × 规则引擎 开源支持 基础规则引擎 ,商用支持 增强规则引擎 × × × 消息存储 开源 不支持 ,商用支持Redis、MySQL、MongoDB

使用redis-exporter对redis集群进行性能监控

限于喜欢 提交于 2020-10-03 04:50:30
redis集群有三种模式,主从,sentinel(哨兵),cluster。关于这三种模式的介绍和部署,其它文章也有相关介绍,本人参考了他人的博客完成了三种模式的部署,博客地址在评论区。 目前redis使用主从模式,集群信息如下: [root@master redis]# redis-cli -h 192.168.122.7 -a 123456 info replication Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe. # Replication role:master connected_slaves:2 slave0:ip=192.168.122.8,port=6379,state=online,offset=28,lag=0 slave1:ip=192.168.122.9,port=6379,state=online,offset=28,lag=1 master_replid:950b3c2b60b56148577e566ac53af00911527c4e master_replid2:0000000000000000000000000000000000000000 master_repl_offset:28 second

vue嵌套grafana展示大盘数据

可紊 提交于 2020-10-03 03:34:25
Grafana集成进自己的监控项目 可能有需求是将grafana的dashboard集成到自己的监控系统里面,这样就避免了进grafana再查看 方案有是有,可能有点不安全,建议实在要这么干的话: 尽量是公司内部玩,也就是纯内网操作; 找IT设置网络访问权限,只有公司IP可以访问监控系统和grafana的域名/IP; 以下是方法: 嵌grafana监控dashboard,只需要在web监控iframe中嵌进去: <iframe src="http://192.168.0.1:3000/d/oidoT24Wk/apache-jmeter?refresh=5s&orgId=1" width="450" height="200" frfameborder="0"></iframe> src后面放dashboard的页面即可 但是这样有个问题,直接打开,会跳转到登录页面,也就是想这么做的话,需要开启 匿名登录 修改grafana配置文件: vim /etc/grafana/grafana.ini 修改为 1 2 3 4 5 6 7 8 9 10 11 12 [auth.anonymous] # enable anonymous access # 去掉注释,改为true,允许匿名访问 enabled = true # specify organization name that should