摘要:
mysql里面是没有中位数函数可以直接用的,我想了一个巧妙的方法来计算中位数: select wx.mon,round(avg(lots),4)mid_lots from( select ma.mon,ma.lots,row_number() over (partition by ma.mon or 阅读全文
摘要:
k8s的ingress日志用fluent bit收集写入es,然后读取es里面nginx日志,匹配关键条件触发告警,例如匹配nginx日志里面path包含xxx,触发告警: import requests,json,pytz from requests.auth import HTTPBasicAu 阅读全文
摘要:
我这里方法是定时读取processlist列表,执行时间超过5s的,推送钉钉消息,每10s轮询一次。 #!/usr/bin/env python import mysql.connector import pytz import time,hashlib,hmac,urllib,base64,dat 阅读全文
摘要:
(1)部署一个mysql,给metabase用 1.configmap,用来配置my.cnf #config-map.yaml apiVersion: v1 kind: ConfigMap metadata: name: mysql-config namespace: ops labels: app 阅读全文
摘要:
查元数据表,有时候不准,因为统计信息的缘故,表的量到了千万级别了,查 information_schema.tables非常不准,于是自己写了一个函数,一次统计统计自己需要的表的行数。 因为要估算添加索引的耗时,我的表都是类似这种,t_user_message_0,t_user_message_1, 阅读全文
摘要:
我们k8s前期没有配置hpa,events经常出现oom,比如: 然后排查问题就需要通过这个pid,去找是哪个pod,开始的方法是: 首先看哪个node资源紧张,以后再一系列命令最终才找到是哪个pod,特别麻烦,后面我就找到了一个比较简单的方法: 直接列出pod状态发生改变的时间依次列出来,这样就能 阅读全文
摘要:
需求:取k8s上的nginx日志状态码日志大于500,且请求次数超过10次,发钉钉告警(1)gcp上nginx日志都在logging服务里面,用日志路由器流到bigquery里面,然后写脚本每分钟运行一次,获取最近5min日志,存在则发钉钉: py脚本: #!/usr/bin/env pythonf 阅读全文
摘要:
(1)利用python执行 slowlog_get查询慢日志,写成job,一分钟执行一次,查200条,然后存到mysql,以便时候分析: #!/usr/bin/env python import datetime,time,redis import mysql.connector import py 阅读全文
摘要:
写了一个python脚本,然后做成k8s pod,用来监控k8s events: #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2022/1/16 2:21 下午 # @Author : 5sdba # @File : webhook 阅读全文
摘要:
(1)metabase之前都是有那个变量{{}}来筛选时间,有个需求,比如弄一个下拉框,可以选,而不是直接再变量框里面输入 需要弄出这种效果,实现如下: 这种不够灵活,但是可以实现筛选,感觉不是很实用 阅读全文