首页 文章 精选 留言 我的

精选列表

搜索[MaaS平台],共10000篇文章
优秀的个人博客,低调大师

XiaoNuo 快速开发平台文档已发布

软件发布之后有好多小伙伴私信问我,为什么这么好用的框架没有对应的文档?当然,对于小白用户来讲,刚开始有点难啃。因此我们也在工作闲暇时间拼命的往前赶,紧着完善了文档给各位小伙伴使用。因此今天匆匆忙忙发布了第一版https://doc.xiaonuo.vip 我们在文档中描述了基本的界面操作,又从代码层面进行一个深度的剖析,从下载到部署上线,相信开发的小伙伴通过文档的方式也可以对我们的代码进行更进一步的了解。如果我们的软件使用还比较满意,很期待给我们点个star😝。 gitee地址(vue前后分离版):https://gitee.com/xiaonuobase/xiaonuo-vue gitee地址(layui前后一体化版本):https://gitee.com/xiaonuobase/xiaonuo-layui 悄悄告诉大家😁,我们的cloud微服务版本很快就要发布啦,等久了吧😋

优秀的个人博客,低调大师

Rider 2020.1.2 发布,跨平台 .NET IDE

Rider 2020.1.2 发布了,这是一个 bug 修复版本,更新内容包括: 消除了“本地历史记录” diff 视图中的性能问题,以及滚动和选择方面的问题:RIDER-42981 消除了C#代码分析中的一些误报 Azure 工具插件已更新,可修复 Azure 运行配置 改进 macOS 上的单元测试覆盖会话,不再会缓慢或卡住 对 Unity 支持进行了一些修复和改进: 与显示 Mono BCL(Base Class Library)的 XML 文档有关的更多修复程序:RIDER-11155. 修复了 Android 插件,该插件在发行版本中破坏了 “Unity Explorer” 视图:RIDER-43038. 修复了过度的 FileSystemWatcher 初始化造成的“构造组件”期间挂起的问题 改进了“查找使用情况”结果中资产的表示方式 改进了Packages文件夹的显示方式 更新说明:https://blog.jetbrains.com/dotnet/2020/05/07/rider-resharper-ultimate-2020-1-2/

优秀的个人博客,低调大师

构建高大上的黑盒监控平台

概述 在监控体系里面,通常我们把监控分为:白盒监控和黑盒监控: 黑盒监控:主要关注的现象,一般都是正在发生的东西,例如出现一个告警,业务接口不正常,那么这种监控就是站在用户的角度能看到的监控,重点在于能对正在发生的故障进行告警。 白盒监控:主要关注的是原因,也就是系统内部暴露的一些指标,例如redis的info中显示redis slave down,这个就是redis info显示的一个内部的指标,重点在于原因,可能是在黑盒监控中看到redis down,而查看内部信息的时候,显示redis port is refused connection。 白盒监控:有很多种,有中间件,有存储,有web服务器例如redis可以使用info暴露内部的指标信息;例如mysql可以使用show variables暴露内部指标信息;例如nginx可以使用nginx_status来暴露内部信息,系统业务指标可以通过埋点或者命令进行采集。 Blackbox Exporter 在前面的知识中,我们介绍Prometheus下如何进行白盒监控:我们监控主机的资源用量、容器的运行状态、数据库中间件的运行数据,通过采集相关指标来预测我们的服务健康状态。在黑盒监控方面。Blackbox Exporter是Prometheus社区提供的官方黑盒监控解决方案,其允许用户通过:HTTP、HTTPS、DNS、TCP以及ICMP的方式对网络进行探测。 Blackbox_exporter 应用场景 HTTP 测试定义 Request Header 信息判断 Http status / Http Respones Header / Http Body 内容 TCP 测试业务组件端口状态监听应用层协议定义与监听 ICMP 测试主机探活机制 POST 测试接口联通性 SSL 证书过期时间 结合grafana 生成的相关模板: 1、首先看下我们这边的相关图表,门户多项指标与ssl监控: 2、线路监控: 3、接口状态监控: Blackbox Exporter 部署: 1、安装Exporter: [root@cinder1 src]# wget https://github.com/prometheus/blackbox_exporter/releases/download/v0.16.0/blackbox_exporter-0.16.0.linux-amd64.tar.gz [root@cinder1 src]#tar -zxvf blackbox_exporter-0.16.0.linux-amd64.tar.gz -C /usr/local [root@cinder1 src]#mv /usr/local/blackbox_exporter-0.16.0.linux-amd64 /usr/local/blackbox_exporter 2、添加到启动项: [root@cinder1 src]# cat /etc/systemd/system/blackbox_exporter.service [Unit] Description=blackbox_exporter After=network.target [Service] WorkingDirectory=/usr/local/blackbox ExecStart=/usr/local/blackbox/blackbox_exporter \ --config.file=/usr/local/blackbox/blackbox.yml [Install] WantedBy=multi-user.target 3、检测是否正常启动: [root@cinder1 src]# ss -tunlp|grep 9115 tcp LISTEN 0 128 :::9115 :::* users:(("blackbox_export",pid=2517722,fd=3)) icmp监控 通过icmp 这个指标的采集,我们可以确认到对方的线路是否有问题。这个也是监控里面比较重要的一个环节。我们要了解全国各地到我们机房的线路有哪条有问题我们总结了两种方案:1、全国各地各节点ping 和访问数据采集。这种类似听云运营商有提供这类服务,但是要花钱。2、我现在用的方法就是:找各地测试ping 的节点,我们从机房主动ping 看是否到哪个线路有故障,下面我们开始。 一、prometheus 添加相关监控,Blackbox 使用默认配置启动即可: - job_name: "icmp_ping" metrics_path: /probe params: module: [icmp] # 使用icmp模块 file_sd_configs: - refresh_interval: 10s files: - "/home/prometheus/conf/ping_status*.yml" #具体的配置文件 relabel_configs: - source_labels: [__address__] regex: (.*)(:80)? target_label: __param_target replacement: ${1} - source_labels: [__param_target] target_label: instance - source_labels: [__param_target] regex: (.*) target_label: ping replacement: ${1} - source_labels: [] regex: .* target_label: __address__ replacement: 192.168.1.14:9115 二、相关ping节点配置: [root@cinder1 conf]# cat ping_status.yml - targets: ['220.181.38.150','14.215.177.39','180.101.49.12','14.215.177.39','180.101.49.11','14.215.177.38','14.215.177.38'] labels: group: '一线城市-电信网络监控' - targets: ['112.80.248.75','163.177.151.109','61.135.169.125','163.177.151.110','180.101.49.11','61.135.169.121','180.101.49.11'] labels: group: '一线城市-联通网络监控' - targets: ['183.232.231.172','36.152.44.95','182.61.200.6','36.152.44.96','220.181.38.149'] labels: group: '一线城市-移动网络监控' #这些数据是从全国各地ping 网站进行采集,大家可以从那些网站获取 三、添加grafana 这个grafana是自己定义的,看到网上没有就自己定义了一个。大家可以从github上下载,再看看效果: http 相关指标监控: 一、prometheus 配置http_get访问: - job_name: "blackbox" metrics_path: /probe params: module: [http_2xx] #使用http模块 file_sd_configs: - refresh_interval: 1m files: - "/home/prometheus/conf/blackbox*.yml" relabel_configs: - source_labels: [__address__] target_label: __param_target - source_labels: [__param_target] target_label: instance - target_label: __address__ replacement: 192.168.1.14:9115 二、相关配置文件,类似举例如下: [root@cinder1 conf]# cat /home/prometheus/conf/blackbox-dis.yml - targets: - https://www.zhibo8.cc - https://www.baidu.com #配置相关URL 三、添加grafana模板: 可以选择模板的9965模板,这个模板我们也看到前面的,提供了相关的ssl 过期检测。 接口get请求检测 一、prometheus 配置,其实跟我们之前的配置一样,我们直接看配置文件: - job_name: "check_get" metrics_path: /probe params: module: [http_2xx] # Look for a HTTP 200 response. file_sd_configs: - refresh_interval: 1m files: - "/home/prometheus/conf/service_get.yml" relabel_configs: - source_labels: [__address__] target_label: __param_target - source_labels: [__param_target] target_label: instance - target_label: __address__ replacement: 192.168.1.14:9115 二、相关接口配置参考: [root@cinder1 conf]# cat service_get.yml - targets: - http://10.10.1.123:10000/pmkb/atc_tcbi - http://10.10.1.123:10000/pmkb/get_ship_lock_count - http://10.10.1.123:10000/pmkb/get_terminal_count_by_city - http://10.10.1.123:10000/pmkb/get_terminal_monitor?industry=1 - http://10.10.1.123:10000/pmkb/get_terminal_comparison?industry=1 - http://10.10.1.123:10000/pmkb/get_terminal_city_count_industry?industry=1 - http://10.10.1.123:10000/pmkb/industry_stat?industry=1 - http://10.10.1.123:10000/pmkb/get_company_car_count?industry=1 - http://10.10.1.123:10000/pmkb/get_terminal_month_countbyi?industry=1 labels: group: 'service' 三、grafana 和前面一样自己订制的,可以从github上下载。 接口post 请求状态检测: 一、这里首先我们要改一下post 相关接口的blackbox.yml配置,我们自己定义一个模块: [root@cinder1 blackbox]# cat blackbox.yml modules: http_2xx: prober: http http_post_2xx: #这个模块名称可以自己定义 prober: http http: method: POST headers: Content-Type: application/json #添加头部 body: '{"username":"admin","password":"123456"}' #发送的相关数据,这里我们以登录接口为例 二、添加到prometheus: - job_name: "check_service" metrics_path: /probe params: module: [http_post_2xx] # 这里要对应配置文件里,定义的模块 file_sd_configs: - refresh_interval: 1m files: - "/home/prometheus/conf/service_post.yml" relabel_configs: - source_labels: [__address__] target_label: __param_target - source_labels: [__param_target] target_label: instance - target_label: __address__ replacement: 192.168.1.14:9115 三、相关配置: [root@cinder1 conf]# cat service_post.yml - targets: - http://10.2.4.103:5000/devops/api/v1.0/login labels: group: 'service' 四、添加grafana相关配置,这个也是自己定义的,可以从github上下载。 tcp端口状态检测: 个人理解的是这个跟telnet差不多都是检测端口是否在线 一、prometheus 配置: - job_name: 'port_status' metrics_path: /probe params: module: [tcp_connect] #使用tcp模块 static_configs: - targets: ['10.10.1.35:8068','10.10.1.35:8069'] #对应主机接口 labels: instance: 'port_status' group: 'tcp' relabel_configs: - source_labels: [__address__] target_label: __param_target - target_label: __address__ replacement: 192.168.1.14:9115 二、图表: 图表可以集成到前面的grafana 9965模板: 告警规则定义: 一、业务正常性:icmp、tcp、http、post 监测是否正常可以观察probe_success 这一指标probe_success == 0 ##联通性异常probe_success == 1 ##联通性正常告警也是判断这个指标是否等于0,如等于0 则触发异常报警 二、通过http模块我们可以获取证书的过期时间,可以根据过期时间添加相关告警 probe_ssl_earliest_cert_expiry :可以查询证书到期时间。 #经过单位转换我们可以得到一下,按天来计算:(probe_ssl_earliest_cert_expiry - time())/86400 三、所以我们结合上面的配置可以定制如下告警规则 [root@cinder1 rules]# cat blackbox.yml groups: - name: blackbox_network_stats rules: - alert: blackbox_network_stats expr: probe_success == 0 for: 1m labels: severity: critical annotations: summary: "接口/主机/端口 {{ $labels.instance }} 无法联通" description: "请尽快检测" ##ssl检测 [root@cinder1 rules]# cat ssl.yml groups: - name: check_ssl_status rules: - alert: "ssl证书过期警告" expr: (probe_ssl_earliest_cert_expiry - time())/86400 <30 for: 1h labels: severity: warn annotations: description: '域名{{$labels.instance}}的证书还有{{ printf "%.1f" $value }}天就过期了,请尽快更新证书' summary: "ssl证书过期警告" 四、重启完成之后我们可以登录web界面查看下: 五、我们发现有个接口已经存在问题,这个时候我们也收到了一条相应的微信告警: 总结: 黑盒监控相较于白盒监控最大的不同在于黑盒监控是以故障为导向当故障发生时,黑盒监控能快速发现故障,所以我们监控时候以粒度比较细的,如端口、接口、线路等进行监控。通过Prometheus Blackbox Exporter可以快速实现和定制我们很多相关策略,大家可以按照上述流程测试一下。

优秀的个人博客,低调大师

Delta Lake 平台化实践(离线篇)

原文链接:https://blog.csdn.net/lsshlsw/article/details/103553289 博客主:breeze_lsw 01 SQL 支持 1.1 DML 背景 delta lake 0.4 只支持以 api 的方式使用 Delete/Update/Merge Into 等 DML,对习惯了使用 sql 的终端用户会增加其学习使用成本。 解决方式 下文通过 spark sql extension 以插件化的方式扩展 sql parser ,增加 DML 语法的支持。在 spark 推出 sql extension 功能前,也可以用通过 aspectj 通过拦截 sql 的方式实现增加自定义语法的功能。 1.在自定义扩展 g4 文件中相应的 antlr4 DML 语法,部分参考了 databricks 商业版的语法 st

优秀的个人博客,低调大师

JavaMelody 1.82.0 发布,Java 应用监控平台

JavaMelody 1.82.0 发布了。JavaMelody 是一个监控系统,目标是在 QA 和生产环境中监控Java 或 Java EE 应用程序。 此版本主要更新内容包括: 修复#890,当 Tomcat 中的 org.apache.catalina.STRICT_SERVLET_COMPLIANCE=true 时在 javamelody-prometheus.tld 上发出警告 修复#889,GSON 格式不应依赖 XStream 改进:在 http 会话中,将新的 MS Edge 浏览器标识为 Edg,而不是 Chrome(304819f) 优化:显示报告时,在“其他图表”中延迟加载图像(cb18db5) 报告中的统计信息从午夜开始(在服务器的时区)(#897) 使用 javamelody log 参数记录响应状态(#888) 当使用带有net/bull/javamelody/monitoring-spring-aspectj.xml的 AspectJ 进行 Spring 监视时,可以将 Spring 的 Cglib 替换为net/bull/javamelody/monitoring-spring-aop.xml(ee919d0) 详情查看更新说明: https://github.com/javamelody/javamelody/releases/tag/javamelody-core-1.82.0

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册