介绍

liferay是开源的门户解决方案,和oracle webcenter site是同一类产品,在开源的门户产品中,liferay算是比较优秀的,界面简洁现代,安装方便,自定义能力强,但架构较老,还是jsp架构,可能是由于开发时间较早的原因,但总体瑕不掩瑜,如果对架构并没有过多的要求还是可以考虑。

Read the rest of this entry

背景

某客户实施DAP,在上线前需要对DAP进行压力测试,有专门的压力测试环境,并且要求并发能够达到1000,团队使用jmeter作为压测工具,整个系统架构很简单浏览器->Nginx->Tomcat,在压测的时候碰到以下问题

  • 对DAP流程提交接口进行压测,压测不通过
  • 部署一个仅仅返回请求参数,没有任何业务逻辑,压测不通过
  • 绕过Nginx,直接对Tomcat进行压测,压测通过
  • 直接对Nginx进行压测,压测Nginx welcome页面,压测不通过

并且对Nginx进行了大量的调优,能调的参数基本都试过,压测不通过,总结下来就是,只要经过Nginx,压测就不通过,看来问题出现在Nginx上

Read the rest of this entry

介绍

Apache SkywalkingApache基金下由国人开发的分布式链路追踪系统,Skeywalking可以为微服务,云原生应用提供可视化链路追踪服务,通过Skywalking可以方便的查看服务的调用链路和性能瓶颈。 ELK是三个项目首字母的缩写,分别为Elasticsearch、Logstash 和 Kibana,Elasticsearch 是一个搜索和分析引擎。Logstash 是服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送到诸如 Elasticsearch 等“存储库”中。Kibana 则可以让用户在 Elasticsearch 中使用图形和图表对数据进行可视化。通过ELK用户可以在Kibana中方便查询应用日志,借助Elasticsearch强大的搜索能力,对于大数据量的日志也能进行快速检索。

Skywalking和ELK的集成,实际上就是将日志和调用链路关联起来,在交易出问题需要排查时,可以在Skeywalking查看其调用链路以及调用时长,到具体日志,需要到ELK中进行查看,两个系统需要有个标识符能够将其关联起来,这个标识符就是Trace id,skywalking会为每一笔交易生成一个traceid,在服务的调用链中会将该id传递到各个调用节点,服务在打印日志时,需要将该id带上,这样就能将其关联起来。

Read the rest of this entry

,

0x00 介绍

grafana是一款开源的数据可视化产品,支持prometheus等多种数据源,界面效果炫丽,操作方便灵活,支持大屏展示模式。grafana是目前最适合做prometheus数据可视化的产品,虽然prometheus也提供了可视化功能,但功能太弱无法满足大部分生产需求,prometheus的强项在于数据存储和数据查询,grafana的强项在于数据展示,两个系统配合就能打造强大的监控系统。

0x01 QuickStart

我们通过一个展示cpu使用率的面板来快速上手grafana

配置数据源

我们首先需要配置一个数据源,在界面点击Configuration-> Data Sources进入数据源创建界面,选择Prometheus数据源

Read the rest of this entry

,

0x00 功能介绍

  • 首页:首页搜索框可以输入PromQL进行数据查询,其中Graph可以按照时间维度做简单可视化
  • Alert:预警配置
  • Status:查看Prometheus系统状态,包括数据库状态,配置信息,监控目标状态等
Status->Target可以查看所有监控目标的情况,up表示运行正常,DOWN表示服务未启动

0x01 PromQL

介绍

PromQL是prometheus数据查询语言,类似SQL,通过SQL语句可以查询SQL数据库,同样,我们也可以通过PromQL查询prometheus数据库数据,prometheus数据库为时序数据库,指标数据存储都会带上时间标签,指标数据就是一组类似key-value的数据,比如以下是node-exporter部分metric数据

Read the rest of this entry

,

0x00 介绍

本文介绍如何在kubernetes环境中部署一整套完整的prometheus监控系统,涉及内容和知识点较多,部署过程相对上文也复杂不少,如果不是kubernetes环境的同学可以跳过该文,直接阅读下一篇,以免被复杂的操作劝退。本文包括以下内容

  • 部署prometheus
  • 部署grafana
  • 部署node-exporter
  • 部署kube-state-metrics
  • 部署alertmanager

Read the rest of this entry

,

0x00 概述

prometheus+grafana是目前较为流行的开源监控解决方案,prometheus丰富的exporter加上grafana灵活的配置以及炫酷的仪表盘界面基本满足系统的日常监控需求,搭建一个完整的监控系统需要安装以下程序

  • prometheus:负责数据存储和数据查询
  • grafana:负责数据展示
  • exporter:负责数据收集,不同的场景会有不同的exporter,基本上常用的场景都有相应的exporter,本文安装了node-exporter作为示例,node-expoerter负责收集主机相关信息
  • alertmanager:负责预警通知

另外本文会介绍两种安装方式,二进制程序安装和docker安装,读者可根据需要自行选择安装方式

如果只是想快速搭建prometheus环境用于技术研究,建议用docker方式进行安装

Read the rest of this entry

,