grafana

使用nginx-module-vts监控各虚拟主机的流量

旧街凉风 提交于 2021-01-13 05:53:39
###一、前言 由于所有业务只有一个公网IP入口,无法统计到每个业务的流量带宽,好在nginx上通过域名进行业务区分,可以借助nginx-module-vts模块来实现需求。 本文将主要用到以下几个模块和工具: nginx-module-vts: Nginx virtual host traffic status module,nginx的监控模块,能够提供json、html、prometheus格式的数据产出。 nginx-vts-exporter: Simple server that scrapes Nginx vts stats and exports them via HTTP for Prometheus consumption。主要用于收集nginx的监控数据,并给Prometheus提供监控接口,默认端口号9913。 Prometheus: 监控nginx-vts-exporter提供的nginx数据,并存储在时序数据库中,可以使用PromQL对时序数据进行查询和聚合。 Grafana: 可视化监控数据展示工具 ###二、安装nginx-module-vts 下载并编译ngx-module-vts模块 shell> git clone git://github.com/vozlt/nginx-module-vts.git # 编译nginx时添加监控组件nginx

QPS、TPS、并发用户数、吞吐量关系

六眼飞鱼酱① 提交于 2021-01-13 00:03:31
来源:https://juejin.cn/post/6844904084504313863 QPS 「QPS」 Queries Per Second 是每秒查询率 ,是 「一台服务器」 每秒能够相应的查询次数,是对一个特定的查询服务器 「在规定时间内」 所处理流量多少的衡量标准, 即每秒的响应请求数,也即是最大吞吐能力。 TPS 「TPS」 Transactions Per Second 也就是事务数/秒。一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。客户机在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完成的事务个数, 「QPS和TPS区别」 个人理解如下: TPS即每秒处理事务数,包括 用户请求服务器 服务器自己的内部处理 服务器返回给用户 这三个过程,每秒能够完成N个这三个过程,TPS也就是N; QPS基本类似于TPS,但是不同的是,对于一个页面的一次访问,形成一个TPS;但一次页面请求,可能产生多次对服务器的请求,服务器对这些请求,就可计入“QPS”之中。 「例子」 例如:访问一个页面会请求服务器3次,一次访问,产生一个“T”,产生3个“Q” 例如:一个大胃王一秒能吃10个包子,一个女孩子0.1秒能吃1个包子,那么他们是不是一样的呢?答案是否定的,因为这个女孩子不可能在一秒钟吃下10个包子,她可能要吃很久

微服务的10个挑战和解决方案

北城以北 提交于 2021-01-08 01:27:46
作者:Rajiv Srivastava 翻译:mush 来源:http://mushiming.top/mushblog/archives/823 我是一名云API开发人员和架构师,目前正致力于为美国的大型零售客户提供基于Google GCP的微服务。 过渡/实施微服务给组织带来了重大挑战。基于我对生产中的微服务的曝光,我已经确定了这些挑战和解决方案。 我在2018年6月写这篇文章。目前,微服务架构尚未成熟到足以完全解决所有现有挑战,但是,开源社区和IT产品公司正试图解决所有这些未解决的问题。关于这一主题的所有新研究都是基于寻找新挑战的解决方案。 这些是微服务架构和提出的解决方案的十大挑战: 1.数据同步 – 我们使用事件源代码架构来使用异步消息传递平台解决此问题。传奇设计模式可以应对这一挑战。 2.安全性 – API网关可以解决这些挑战。Kong非常受欢迎,并且是开源的,并且正在被许多公司用于生产。还可以使用JWT令牌,Spring Security和Netflix Zuul / Zuul2为API安全性开发自定义解决方案。还有企业解决方案,如Apigee和Okta(两步认证)。Openshift用于公共云安全的顶级功能,如基于Red Hat Linux Kernel的安全性和基于命名空间的app-to-app安全性。 3.版本控制 –

Prometheus 监控Haproxy

爱⌒轻易说出口 提交于 2021-01-07 08:40:13
Prometheus 监控Haproxy 普罗米修斯是一个完整的监控和趋势系统,包括基于时间序列数据的内置和主动刮削,存储,查询,绘图和警报,以下使用Prometheus+grafana对Haproxy进行监控,关于prometheus和Haproxy安装不再赘述。 客户端安装 安装Haproxy_exporter https://github.com/prometheus/haproxy_exporter/releases/download/v0.9.0/haproxy_exporter-0.9.0.linux-386.tar.gz tar xf haproxy_exporter-0.9.0.linux-386.tar.gz cd haproxy_exporter-0.7.1.linux-amd64 cp haproxy_exporter /usr/bin #192.168.1.1 本地服务器IP #5000 Haproxy端口 #9100 监控端口 haproxy_exporter --haproxy.scrape-uri="http://192.168.1.1:5000/baz?stats;csv" --web.listen-address="192.168.1.1:9100" & 服务端安装 Prometheus配置添加 find / -name prometheus

prometheus+grafana监控mysql

青春壹個敷衍的年華 提交于 2021-01-07 05:01:41
prometheus+grafana监控mysql 1、安装配置MySQL官方的 Yum Repository(有mysql只需设置监控账号即可) [root@localhost ~]# wget -i - c http: //dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm [root@localhost ~]# yum -y install mysql57-community-release-el7-10 .noarch .rpm [root@localhost ~] # yum -y install mysql-community-server 若安装失败可能和原有的mysql有冲突,卸载原有mysql: yum remove mariadb-config-3:10.1.20-2.el7.x86_64 [root@localhost ~]# systemctl start mysqld .service [root@localhost ~]# systemctl status mysqld .service 此时MySQL已经开始正常运行,不过要想进入MySQL还得先找出此时root用户的密码,通过如下命令可以在日志文件中找出密码: [root@localhost ~]# grep "password"

引入Jaeger——扩展

不羁岁月 提交于 2021-01-06 16:49:21
Jaeger是收集全链路跟踪的信息,在Jaeger收集的信息中,有请求的url信息,有每个请求的时间间隔,借助这些信息可以进行报警,比如一次较长的请求,或者是某些请求的次数和先后等。不管报警的业务规则是什么,首先得收集Jaeger中的信息。 Jaeger有api可以提供这些信息,比如 /api/services,获取所有服务 /api/traces?service={servicename}获取该服务下的所有跟踪 /api/traces/{traceid}获取某个跟踪的信息等 /api/traces?end={endtime}&limit={20}&lookback={1h}&service={servicename}&start={starttime}按条件查询跟踪信息等api 下面代码定义Jaeger中的实体类,类中的属性可以根据自己的型业务规则收集,这里定义不完整 using System.Collections.Generic; namespace JaegerAlert { /// <summary> /// 服务报警 /// </summary> public class AlertList { public string ServiceName { get; set; } public List<AlertItem> Alerts { get; set; } } //

正向代理与Nginx反向代理和负载均衡

守給你的承諾、 提交于 2021-01-06 06:38:51
文章部分内容 | 圈圈的圈 链接 | juejin.im/post/5c0e6d606fb9a049f66bf246 知乎: 新一993 https://zhuanlan.zhihu.com/p/97235795 近期接触到Nginx,然后就学习记录一下。 前言 代理是个啥 既然要聊反向代理, 那首先得知道代理是个啥吧? 嗯. 正向代理 比如, 你买束花, 想要给隔壁工位的测试妹子小丽表白. 但是又怕被人家直面拒绝太没面子. 于是你把鲜花委托给平时和小丽一起的测试小伙伴小红. 让她帮忙把花送给小丽. 这就是一个简单的代理过程, 小红作为代理帮你把花送给了小丽, 当然这种情况在现实中并不推荐使用, 因为难以避免中间商赚差价 😂. 在上面的例子中, 你作为客户端(请求方), 想要向服务方(小丽)发起请求. 但是碍于面子你主动找到了第三方(小红)作为代理向服务方发送请求, 这种情况就是常说的正向代理. 正向代理在互联网中的使用主要是科学上网, 你想访问谷歌但是碍于防火墙你只能通过vpn服务器作为代理才能访问. 这个时候一般也要找值得信赖的vpn厂商, 避免中间商赚差价 😄. 反向代理 关于反向代理的例子, 那就比较多啦. 比如, 孤独的你躺在床上夜不能寐. 于是乎, 拿出手机, 点亮了屏幕, 拨通 10086, 中国移动就会随机分配一个当前处于空闲的客服MM, 你可以和客服MM聊聊天,

日志系统新贵Loki,确实比笨重的ELK轻

纵饮孤独 提交于 2021-01-06 05:27:01
点击上方蓝色“ 程序猿DD ”,选择“设为星标” 回复“ 资源 ”获取独家整理的学习资料! 作者 | linkt1234 来源 | https://blog.csdn.net/Linkthaha/article/details/100575278 最近,在对公司容器云的日志方案进行设计的时候,发现主流的ELK或者EFK比较重,再加上现阶段对于ES复杂的搜索功能很多都用不上最终选择了Grafana开源的Loki日志系统,下面介绍下Loki的背景。 背景和动机 当我们的容器云运行的应用或者某个节点出现问题了,解决思路应该如下: 我们的监控使用的是基于prometheus体系进行改造的,prometheus中比较重要的是metric和alert,metric是来说明当前或者历史达到了某个值,alert设置metric达到某个特定的基数触发了告警,但是这些信息明显是不够的。我们都知道,k8s的基本单位是pod,pod把日志输出到stdout和stderr,平时有什么问题我们通常在界面或者通过命令查看相关的日志,举个例子:当我们的某个pod的内存变得很大,触发了我们的alert,这个时候管理员,去页面查询确认是哪个pod有问题,然后要确认pod内存变大的原因,我们还需要去查询pod的日志,如果没有日志系统,那么我们就需要到页面或者使用命令进行查询了: 如果,这个时候应用突然挂了

How to copy dashboard to other organisations in Grafana

痞子三分冷 提交于 2021-01-05 09:29:07
问题 I'm using Grafana to show some data. I have 20 organisations and they all use the same dashboards (Dash1, Dash2, Dash3). Thus I can use the same json data for all dashboards in all organisations. But I do not want to update it manually every time when I change something, thus I'm trying to create a python script which will do it for me. I run the script as follows: python update_dashboards.py Dash1 The python code is as follows: try: dashboard_name = sys.argv[1] response = settings.get

MySQL&MongoDB监控利器PMM

两盒软妹~` 提交于 2021-01-05 08:38:56
MySQL&MongoDB监控利器PMM 张伟科 0.4 2018.03.13 18:15* 字数 1889 阅读 4760评论 0喜欢 10 一、PMM介绍 Percona Monitoring and Management (PMM)是一款开源的用于管理和监控MySQL和MongoDB性能的开源平台,通过PMM客户端收集到的DB监控数据用第三方软件Grafana画图展示出来。 PMM提供了对MyISAM、InnoDB、TokuDB和PXC/Glarera的监控,另外也提供了Query Analytics的功能,可以检视执行了哪些SQL指令,并对执行效能较差的语法进行优化。另外在新版本还支持了MySQL复制拓扑图结构构造。Demo官网: http://pmmdemo.percona.com PMM针对操作系统的部份也提供了硬盘、网络、CPU和RAM的监控,特别的是它提供了Context switches、Processes和interrupts的监控,Context Switches可以看到CPU上下切换文的状况,Processes可以方便了解系统有多少程序在等待I/O。 二、PMM架构解析 PMM架构如下图所示 PMM Server是作为Docker镜像distributed,而PMM Client就是一般的RPM,它需要安装Server端和Client端软件。