skywalking链路追踪增加告警配置
前面博主已将商品中心服务接入到skywalking,实现了链路追踪功能。而在运维过程中,我们还需要配置监控来触发告警,让故障信息尽快通知到相关人员进行分析,所以这里我们就给我们的服务加上监控和告警配置
告警指标对域skywalking的告警指标,默认路径在skywalking服务的config/oal/core.oal内
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374root@8e2113b4496c:/skywalking# cat config/oal/core.oal/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed wit ...
在skywalking上查看我的flask商品中心链路
背景随着博主这边折腾的服务越来越多,服务之间接口相互调用,A-》B-》C又或者是A-》(B,C)等,此时作为运维的博主来说,排查每个服务的请求的指标是相当繁琐的(在没做tracer的情况下),因为一个请求经过太多服务协调处理,所以博主在排查长尾接口时得一层一层抓包和测试….
面对这种复杂的调用链路,急需一款链路追踪工具自动帮我们去追踪每一次的调用链:
请求链路追踪
可视化链路阶段耗时,接口捕获进行性能分析
可视化服务依赖关系
其他服务监控指标(耗时,错误率,QPS,TPS等)
在2021年初时,博主当时是使用阿里的arms去监控服务中的调用链路,对于资金充足的企业来说,该产品是个不错的选择。以下是arms的一些截图
如果想要自建,也有很多开源方案,如:skywalking,ziklin,jaeger等。此篇文章不讲如何搭建,而是讲博主之前的flask商品服务如何接入到skywalking中。
flask服务接入skywalking接入skywalking要使用skywalking我们需要pip安装以下依赖包
1pip3 install apache-skyw ...
用bootstrap给flask商品中心造个商品列表页
前面已经完成一个简单的商品中心服务提供商品列表接口,也用selenium捞了点数据,现在得折腾个展示页面,这个前端展示就直接html5+bootstrap+jquery来搞了,没有其他后端服务~
CV个导航栏上bootstrap示例中cv一个nav下来改改
12345678910111213141516171819202122232425262728293031 <nav class="navbar navbar-expand-lg navbar-light bg-light rounded"> <a class="navbar-brand" href="#">Navbar</a> <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarsExample09" aria-con ...
用selenium给我的flask商品中心服务整点样例数据
前几天用flask模拟了个简单的商品中心服务,缺了点数据,于是就上某东捞了一点
捞数据上某东怎么捞呢?首选使用requests直接捞,结果捞不到,都是空数据,只能在浏览器渲染时有数据,看来得用selenium来折腾了
无头浏览器配置博主此处使用谷歌浏览器,所以需要下载chromedriver,下载地址:https://registry.npmmirror.com/binary.html?path=chromedriver/
请根据自己当前浏览器版本选择对应的chromedriver,解压后放到项目Scripts内
解压放置到scripts目录后就可愉快的使用了,以下是简单的使用方式
1234567import timefrom selenium import webdriverdriver = webdriver.Chrome()driver.get("http://www.baidu.com")time.sleep(8)wd.quit()
定位搜索框并搜索内容对输入框进行定位
发现它的id选择器是key,此时我们的代码
12# 通过presence_of ...
用flask整了个商品服务
今天使用flask练习下简单的商品服务,主要使用mysql数据库和redis,并小小压测了
准备数据此处就一个表,用来存储商品name,price,description
1234567891011mysql> show create table products\G*************************** 1. row *************************** Table: productsCreate Table: CREATE TABLE `products` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL, `price` decimal(10,2) NOT NULL, `description` text, PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb41 row in set (0.00 sec)
准备点数据,数据可以自己 ...
dingtalk机器人
人工智障火的一塌糊涂,智死方休。虽然博主也在使用,使用过程中多少还是有问题的(遇到死循环代码生成,重复回答等)。但是此篇文章主角是dingtalk的机器人,而不是那玩意,可以自行集成哈,查得太严,容易封站~
钉钉企业内部开发机器人企业内部开发的机器人是钉钉为用户提供的组织内部使用的机器人,为组织数字化转型业务服务。开发者可通过本文所描述步骤进行机器人的自主开发和上架,组织内其它成员可通过方便快捷地使用机器人的能力。
基于企业机器人的outgoing(回调)机制,用户发消息给机器人之后,钉钉会将消息内容POST到开发者的消息接收地址。
开发者解析出消息内容、发送者身份,根据企业的业务逻辑,组装响应的消息内容返回,钉钉会将响应内容发送给用户。
官方样例某企业开发了一个工具,用于检测某个网址是否安全。在上架为一个企业机器人之后,企业成员可以直接给这个机器人发消息,询问该机器人一个网址,机器人自动答复是否安全。
创建机器人步骤文档自行参考:https://open.dingtalk.com/document/robots/enterprise-created-chatbot
钉钉机器人 ...
使用terraform+ansible交付个nacos集群
最近博主在用python折腾nacos,顺便写下nacos的快速构建方式
terraform创建资源主要资源:
三个nacos节点
一个mysql节点
一个nginx节点
将本地的某用户的公钥配置到上述节点中
本地用模板生成ansible主机清单文件
创建dns记录到nginx主机
准备项目目录
123xadocker@xadocker-virtual-machine:~$ cd workdir/datadir/terraform/xadocker@xadocker-virtual-machine:~/workdir/datadir/terraform$ mkdir -p tf-nacos-cluster/ansible-deployxadocker@xadocker-virtual-machine:~/workdir/datadir/terraform$ cd tf-nacos-cluster/
provider的ak/sk配置123456xadocker@xadocker-virtual-machine:~/Desktop/workdir/dat ...
pip发布自定义package
最近博主在折腾python调用nacos,这方面资料好少,还是java sdk多。。。一顿搜索过后发现了一个包:KcangNacos,看着还行倒腾了一会发现里面有些问题,就打算自己修复调整下并发布
cookiecutter这是一个用来生成一个标准python package模板的工具,官网:https://cookiecutter-pypackage.readthedocs.io/en/latest/readme.html
安装1[root@jenkins-manager demo01]# pip install cookiecutter
使用模板生成一个package目录1234567891011121314151617181920212223242526272829[root@jenkins-manager demo01]# cookiecutter https://gitee.com/siq/cookiecutter-pypackage.git/usr/local/lib/python3.6/site-packages/requests/__init__.py:104: ...
用openresty给hexo造了个随机图片接口
最近博主在使用hexo+butterfly主题迁移和调整本站点,主要还是追求静态的性能。。。
butterfly主题设置封面前几天用hexo迁移wordpress文章后,用hexo打开发现都没有文章封面,不像这里默认用文章得第一张图做文章封面
设置默认封面看了下butterfly得文档,可以通过如下方式设置默认封面:
1234567891011cover: # display the cover or not (是否顯示文章封面) index_enable: true aside_enable: true archives_enable: true # the position of cover in home page (封面顯示的位置) # left/right/both position: both # When cover is not set, the default cover is displayed (當沒有設置cover時,默認的封面顯示) default_cover: # - https://i.loli.net/2020/05/01/ ...
使用elasticsearch和kibana来生成词云图
前几天在分析某影视短评,把数据导入了elasticsearch中,正好可以用elasticsearch来分析下,最后用kibana生成词云图
查看下当前数据量
12345GET /_cat/indices/scrapy_douban_movie_comments?v# 输出health status index uuid pri rep docs.count docs.deleted store.size pri.store.sizegreen open scrapy_douban_movie_comments SdX9pi7BQjKgRj1tcf91XQ 3 2 12185 4828 24.8mb 8.2mb
看一下索引mapping
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950GET scrapy ...