grafana

基于阿里云日志服务快速打造简版业务监控看板

只愿长相守 提交于 2020-11-11 13:44:20
前言 最近老黄一直在弄双11相关的东西,所以博客和github都没怎么更新,这期间在公司也弄了不少东西。 下面就简单分享一下最近做的业务监控相关的内容吧。 先来说一下背景。 某业务在双11第一波大促的时候因为没有提供实时的业务看板,总结会的时候技术同事被相关领导和业务人员投诉,说是没办法清晰的了解到当时的情况,不能及时有效的调整对应的策略。 事后老黄了解到,那个业务是比较老的业务了,资源比较紧张,不敢去实时怼数据库(单点),怕数据库挂了,业务就全凉了。 为了避免尴尬的现状,不想再一次挨批,只能搞呀。 分析现状 3个应用,.NET Framework的项目,都是windows服务器,没有容器化。 离双11只有几天,不能改动太大,而且还要应对业务部门新的需求。 当时能想到的方案 业务埋点,接入prometheus,结合grafana 业务发MQ,消费数据到ES,前端做个面板 业务埋点,接入日志服务,结合仪盘表 大致分析 方案1,业务团队对prometheus几乎是0认知,了解相关概念都要花不少时间,pass 方案2,MQ目前用的是腾讯云的CMQ,被坑过2次了,也不能很好的hold住ES,pass 方案3,有按内部规范打日志,业务方只要在关键地方加一行对应的日志,然后交由logtail去采集,上传到日志服务 所以在这三种方案中,老黄还是选了 方案三 。

Prometheus监控告警浅析

ぃ、小莉子 提交于 2020-11-07 00:45:15
前言 最近有个新项目需要搞一套完整的监控告警系统,我们使用了开源监控告警系统Prometheus;其功能强大,可以很方便对其进行扩展,并且可以安装和使用简单;本文首先介绍Prometheus的整个监控流程;然后介绍如何收集监控数据,如何展示监控数据,如何触发告警;最后展示一个业务系统监控的demo。 监控架构 Prometheus的整个架构流程可以参考如下图片: 整个流程大致分为收集数据,存储数据,展示监控数据,监控告警;核心组件包括:Exporters,Prometheus Server,AlertManager,PushGateway; Exporters :监控数据采集器,将数据通过Http的方式暴露给Prometheus Server; Prometheus Server :负责对监控数据的获取,存储以及查询;获取的监控数据需要是指定的 Metrics 格式,这样才能处理监控数据;对于查询Prometheus提供了 PromQL 方便对数据进行查询汇总,当然Prometheus本身也提供了Web UI; AlertManager :Prometheus支持通过 PromQL 来创建告警规则,如果满足规则则创建一条告警,后续的告警流程就交给AlertManager,其提供了多种告警方式包括email,webhook等方式; PushGateway

postgresql + prometheus + grafana 监控

非 Y 不嫁゛ 提交于 2020-11-04 19:52:07
postgres 安装 postgres_exporter 下载:去 github 下载最新的 exporter 解压出一个二进制的文件。 将文件夹放到 /opt 目录下,创建 postgres_exporter.env 文件 # postgres_exporter.env DATA_SOURCE_NAME="postgresql://postgres:postgres@localhost:5432/?sslmode=disable" 创建 systemd service 单元 sudo vim /etc/systemd/system/postgres_exporter.service [Unit] Description=Prometheus exporter for Postgresql Wants=network-online.target After=network-online.target [Service] User=postgres Group=postgres WorkingDirectory=/opt/postgres_exporter EnvironmentFile=/opt/postgres_exporter/postgres_exporter.env ExecStart=/opt/postgres_exporter/postgres_exporter

istio部署-istio dashboard

回眸只為那壹抹淺笑 提交于 2020-11-03 11:13:23
参考 fleeto/sleep fleeto/flaskapp 1. istio 配置变更示例 Helm 的 --set 参数可以变更默认配置,如: cd istio-1.1.7 helm template install/kubernetes/helm/istio \ --name istio --namespace istio-system \ --set sidecarInjectorWebhook.enabled=false istio 的 Sidecar 自动注入功能是通过 Kubernetes 的 mutating 控制器完成; 如果启用了自动生效的 istio 安装清单,就会生成1个名为 istio-sidecar-injector 的 mutatingwebhookconfiguration 对象,其中保存的就是自动注入的配置; 根据 Helm 与 Kubernetes 的工作原理,重复执行 kubectl apply 命令不会执行删除操作,因此通过上面操作生成的清单如果被提交,后果就是 mutating 控制器继续使用 istio-sidecar-injector 的配置进行工作; 所以此方式只针对 新增或修改 操作生效,对于 删除操作无效 。 2. 使用 istio dashboard 2.1 启用 Grafana # istion 默认没有启用 grafana

基于 prometheus 的微服务指标监控

谁说我不能喝 提交于 2020-11-02 15:39:22
基于prometheus的微服务指标监控 服务上线后我们往往需要对服务进行监控,以便能及早发现问题并做针对性的优化,监控又可分为多种形式,比如日志监控,调用链监控,指标监控等等。而通过指标监控能清晰的观察出服务指标的变化趋势,了解服务的运行状态,对于保证服务稳定起着非常重要的作用 prometheus 是一个开源的系统监控和告警工具,支持强大的查询语言PromQL允许用户实时选择和汇聚时间序列数据,时间序列数据是服务端通过HTTP协议主动拉取获得,也可以通过中间网关来推送时间序列数据,可以通过静态配置文件或服务发现来获取监控目标 Prometheus 的架构 Prometheus 的整体架构以及生态系统组件如下图所示: Prometheus Server直接从监控目标中或者间接通过推送网关来拉取监控指标,它在本地存储所有抓取到样本数据,并对此数据执行一系列规则,以汇总和记录现有数据的新时间序列或生成告警。可以通过 Grafana 或者其他工具来实现监控数据的可视化 go-zero基于prometheus的服务指标监控 go-zero 框架中集成了基于prometheus的服务指标监控,下面我们通过go-zero官方的示例 shorturl 来演示是如何对服务指标进行收集监控的: 第一步需要先安装Prometheus,安装步骤请参考 官方文档 go

Prometheus Redis_exporter

不羁岁月 提交于 2020-11-02 07:49:17
Redis 下载redis_exporter wget https://github.com/oliver006/redis_exporter/releases/download/v0.15.0/redis_exporter-v0.15.0.linux- amd64.tar.gz tar -zxvf redis_exporter-v0.15.0.linux-amd64.tar.gz -C /usr/local/redis_exporter 编写启动脚本 cd /usr/local/ redis_exporte ln -s redis_exporter /usr/sbin/redis- exporter mkdir bin cd bin vim redis - exporter.sh # !/bin/bash basedir =$(cd `dirname $0`/ ..; pwd) redis_host = localhost redis_port =6379 redis_password = abc123 RETVAL = 0 PROG = " redis-exporter " EXEC = " /usr/sbin/redis-exporter " LOCKFILE = " /var/lock/subsys/$PROG " OPTIONS = " -redis.addr

Grafana+Prometheus系统监控之钉钉报警功能

让人想犯罪 __ 提交于 2020-10-31 23:00:11
介绍 钉钉,阿里巴巴出品,专为中国企业打造的免费智能移动办公平台,含PC版,Web版和手机版。智能办公电话,消息已读未读,DING消息任务管理,让沟通更高效;移动办公考勤,签到,审批,企业邮箱,企业网盘,企业通讯录,让工作更简单;酷公司,用钉钉,随时随地移动办公。 由于目前的版本邮件警报暂时走不通,然而钉钉也是一个不错的选择。 配置 下载钉钉: 钉钉 自定义机器人: 机器人 后台新增钉钉报警: 保存以后发送测试。 报警 目前只有Graph支持报警功能,所以我们选择Graph相关图表。 我们切换到前面建过的dashboard面板,双击Memory点击Edit: 然后点击Alert: 创建一个Alert: 配置相关参数: 1、Alert名称,可以自定义。 2、执行的频率,这里我选择每60s检测一次。 3、判断标准,默认是avg,这里是下拉框,自己按需求选择。 4、query(A,5m,now),字母A代表选择的metrics中设置的sql,也可以选择其它在metrics中设置的,但这里是单选。5m代表从现在起往之前的五分钟,即5m之前的那个点为时间的起始点,now为时间的结束点,此外这里可以自己手动输入时间。 5、设置的预警临界点,这里手动输入,和6是同样功能,6可以手动移动,两种操作是等同的。 设置警报发送信息: 保存报警配置,否则无法测试: 测试报警: 报警信息:

Grafana+Prometheus系统监控之SpringBoot

拜拜、爱过 提交于 2020-10-30 08:13:30
前言 前一段时间使用SpringBoot创建了一个 webhook 项目,由于近期项目中也使用了不少SpringBoot相关的项目,趁着周末,配置一下使用prometheus监控微服务Springboot。 项目配置 引入坐标 <!-- Exposition spring_boot --><dependency> <groupId>io.prometheus</groupId> <artifactId>simpleclient_spring_boot</artifactId> <version>0.1.0</version></dependency><!-- Hotspot JVM metrics --><dependency> <groupId>io.prometheus</groupId> <artifactId>simpleclient_hotspot</artifactId> <version>0.1.0</version></dependency><!-- Exposition servlet --><dependency> <groupId>io.prometheus</groupId> <artifactId>simpleclient_servlet</artifactId> <version>0.1.0</version></dependency>

全链路监控

我与影子孤独终老i 提交于 2020-10-29 19:54:38
全链路监控是广义的概念,不仅仅指APM(Appliation Perfance Manager&Monitor),包含三大部分: Loggong:日志覆盖系统日志,业务日志,框架日志 Mertic(指标或者度量):覆盖系统指标,业务指标,中间件指标 Trancing(追踪):覆盖微服务,存储,中间件 这三者结合起来构成完整的全链路监控体系。是梳理业务,排查问题的基石。 测试环境部署硬件最低要求(所有组件都是单台机器即可) : 组件 作用 CPU 内存 磁盘类型 磁盘大小 ElasticSearch集群1 统一存储日志 4核 32GB SSD最好 500GB Kibana 查看日志的平台 2核 4GB 普通磁盘 500GB Logstash 日志处理中间件 4核 16GB 普通磁盘 500GB ElasticSearch集群2 zipkinTrace数据收集 4核 32GB SSD最好 500GB Skywalking,zipkin,pinpoint zipkin服务端 & 管理台 4核 16GB 普通磁盘 500GB InfluxDb 存储指标的时间序列数据库 4核 16GB SSD最好 500GB Grafana 查看指标的平台 2核 4GB 普通磁盘 500GB 监控详情讨论,监控覆盖的几个方面。 Metrics线 - 业务监控: 使用Spring Boot

Grafana安装配置介绍

☆樱花仙子☆ 提交于 2020-10-29 06:57:31
一、Grafana介绍 Grafana是一个可视化面板(Dashboard),有着非常漂亮的图表和布局展示,功能齐全的度量仪表盘和图形编辑器,支持Graphite、zabbix、InfluxDB、Prometheus和OpenTSDB作为数据源。Grafana主要特性:灵活丰富的图形化选项;可以混合多种风格;支持白天和夜间模式;多个数据源。 二、安装Grafana CentOS系列使用YUM安装 1 2 $ wget https : / / s3 - us - west - 2.amazonaws.com / grafana - releases / release / grafana - 4.2.0 - 1.x86_64.rpm $ sudo yum localinstall grafana - 4.2.0 - 1.x86_64.rpm 或者 1 2 $ yum install initscripts fontconfig $ rpm - Uvh grafana - 3.1.1 - 1470047149.x86_64.rpm 安装文件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 # 二进制程序文件 / usr / sbin / grafana - server # init.d脚本 / etc / init .d /