自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(176)
  • 资源 (1)
  • 收藏
  • 关注

原创 go语言实现remote-write到prometheus

【代码】go语言实现remote-write到prometheus。

2024-02-05 20:34:26 452

原创 解决gopsutil/disk报 Access is denied的问题

2 打印,发现是走到 M盘时候报错,怀疑是M盘的问题,因为我的电脑没有M盘。3 查看磁盘列表,发现逻辑分区,比实际分区多出一个M,可以确定是这个导致的。切换到管理员模式仍然报错,开始排查。1 排查到是引用库中的这部分报错。

2023-07-27 11:33:17 494

原创 prometheus的remotewrite解析

WAL是每两小时压缩一次,如果远程写入的目标地址挂了超过两个小时,就会导致这段时间没被发送的数据丢失。prometheus配置了remote write的目标地址后,它会从WAL读取数据,然后把采样数据写入各分片的内存队列,最后发起向远程目标地址的请求。prometheus没有提供远程存储,但提供了远程存储的接口,远程存储只要实现这一接口,即可存储和读取prometheus的数据;实现:与prometheus做的事情相反,先进行sappy的解压缩,然后再protobuf反序列化,得到真实的数据。

2023-01-16 18:05:33 4707

原创 Linux挂载磁盘命令

执行 df -h, 查看当前 / 根目录下挂载的分区名,在下图中为倒数第三行, /dev/vda1。虚拟机挂着光驱光驱时提示只读,用以下命令可解决该报错,可以看到磁盘已被挂载到/data_mount。需求: 只有一个硬盘,创建多个挂载点。执行以下命令,会发现输出内容一致。2 创建新目录,并挂载至该目录。1 查看当前挂载情况。

2023-01-03 13:40:25 2869

原创 基础SQL教程

转载自廖雪峰老师的教程: SQL教程 - 廖雪峰的官方网站简单地说,SQL就是访问和处理关系数据库的计算机标准语言。数据据库作为一种专门管理数据的软件。应用程序不需要自己管理数据,而是通过数据库软件提供的接口来读写数据。常见类型名称类型说明INT整型4字节整数类型,范围约+/-21亿BIGINT长整型8字节整数类型,范围约+/-922亿亿REAL浮点型4字节浮点数,范围约+/-1038DOUBLE浮点型8字节浮点数,范围约+/-10308DECIMAL(M,N)高精度小数由用户指定精度的小数,例如,DECI

2022-06-28 16:30:00 933

原创 解决pushgateway数据多次推送会覆盖的问题

多个server,往同一台pushgateway推送数据时,采用同一个job名称,会发现始终只能留下一个server的数据,其他的会被覆盖使用语言 python通过抓包发现,所有数据均已推送到9091端口,所以排除是某个server推送的问题相当于推送到了 metrics/job/job_name推送的指标按组进行管理,由任意数量标签的分组键标识,一般有Job跟instance,推送时候只指定Job的话,会误将几个server推送的数据当成同一组数据,出现覆盖的情况所以应该在分组标识中加入该批数据的唯

2022-06-20 11:30:58 1838 1

原创 【可能是全中文网最全】pushgateway入门笔记

博客Pushgateway 是一种中介服务,它允许从无法抓取的作业中推送指标。其为了允许临时和批处理作业向 Prometheus 公开其指标。由于这些类型的job可能存在的时间不够长而无法被抓取,因此他们可以将指标推送到 Pushgateway。然后 Pushgateway 将这些指标公开给 Prometheus。通常,Pushgateway 唯一有效的用例是用于捕获服务级批处理作业的结果, “服务级别”批处理作业是与特定机器或作业实例在语............

2022-06-07 16:09:03 5283 5

原创 《大话设计模式》学习笔记

《大话设计模式》学习笔记,建议阅读原版图书学习必备知识: 面向对象基础1 对象是一个自包含的实体,用一组可识别的特性和行为来标识;类就是具有相同的属性和功能的对象的抽象的集合;‘class’是表示定义类的关键字。实例化就是创建对象的过程,使用new关键字来创建。构造方法,又叫构造函数,其实就是对类进行初始化。构造方法与类同名,无返回值,也不需要void,在new时候调用。所有类都有构造方法,如果你不编码则系统默认生成空的构造方法,若你有定义的构造方法,那么默认的构造方法就会失效了。

2022-05-31 17:41:35 201

原创 Mysql报错:[ERROR] mysqld: File ‘./mysql-bin.010228‘ not found (Errcode: 2 “No such file or directory“)

背景:为清理空间,删除了所有的bin log启动mysql报错,查看日志 /var/lib/mysql/mariadb.err有报错:2022-05-23 19:00:53 0 [ERROR] mysqld: File './mysql-bin.010228' not found (Errcode: 2 "No such file or directory")2022-05-23 19:00:53 0 [ERROR] Failed to open log (file './mysql-b

2022-05-24 09:12:51 1577

原创 《程序是怎样跑起来的》矢泽久雄[日] - 读书笔记

《程序是怎样跑起来的》矢泽久雄[日]第一章 CPU是什么1 程序由指令与数据组成,是指示计算机每一步动作的一组指令,机器语言指的是CPU可以直接识别并使用的语言。2 程序运行流程示例图3 IC: 集成电路4 CPU的内部由寄存器、控制器、运算器和时钟四个部分构成,各部分之间由电流信号相互连通。寄存器可用来暂存指令、数据等处理对象,可以将其看作是内存的一种。根据种类的不同,一个CPU内部会有20~100个寄存器。控制器负责把内存上的指令、数据等读入寄存器,并根据指令的执行结果来控制整个

2022-05-09 10:35:12 3691 3

原创 Python requests ConnectionError报错: connection aborted BadStatusLine

报错信息:raise ConnectionError(err, request=request) requests.exceptions.ConnectionError: ('Connection aborted.', BadStatusLine("''", ))涉及代码data = {"host":host,"key":key,"value":value,"dns":ip} res = requests.post(url=url,json = data)方法1: 加重试..

2022-04-14 18:08:08 7083 1

原创 [Python]Curl命令模拟与json解析

核心:利用os.popen来执行curl请求 利用json.loads来解析数据以解析zabbix 登录token为例:import osimport jsoncurl_login = """curl -s -X POST -H 'Content-Type: application/json' -d '{"jsonrpc":"2.0","method":"user.login","params":{"user":"Admin","password":"XXX"},"auth":null,

2022-04-04 09:11:06 2786

原创 Tcp抓包指南

Tcpdump工具笔记参考链接:tcpdump高级过滤 - 九卷 - 博客园作用: 对网络上的数据包进行截获的包分析工具常用参数:-a 将网络地址和广播地址转变成名字 -e 在输出行打印出数据链路层的头部信息 -i 指定监听的网络接口 -n 不进行IP地址到主机名的转换 -nn: 表示以ip和port的方式显示来源主机和目的主机,而不是用主机名和服务 -A: 以ascii的方式显示数据包,抓取web数据时很有用 -X: 数据包将会以16进制和ascii的方式显示 -v 输出..

2022-03-28 17:40:29 4718

原创 systemctl服务管理入门

参考链接:阮一峰的博客概念Systemd 是 Linux 系统工具,用来启动守护进程(daemon),systemctl是Systemd的主命令Systemd 可以管理所有系统资源。不同的资源统称为 Unit(单位),其中service unit为系统服务[root@han ~]# systemctl status redis● redis.service - Redis persistent key-value database Loaded: loaded (/usr/lib/

2022-03-23 14:33:35 2708

原创 提升编程效率的在线小工具总结

1 json在线解析JSON在线解析及格式化验证 - JSON.cn2 json转Go结构体Json转Go,Json生成Golang结构体 - 在线工具(nhooo.com)3 正则表达式速查与转换正则表达式在线代码生成工具 - 在线工具(nhooo.com)...

2022-02-08 16:45:26 211

原创 基于二进制可执行文件打包Rpm文件【zabbix agent】

1 安装rpm依赖环境yum install rpm-buildyum install rpm-develyum install rpmdevtools2 生成目录rpmdev-setuptree3进入/root/rpmbuild/SPECS/,新建zabbix.spec# rpmrebuild autogenerated specfileBuildRoot: /root/.tmp/rpmrebuild.18522/work/rootAutoProv: no%u..

2022-01-19 10:25:50 1008

原创 Python实现抢红包分配算法【递归】

算法:红包金额是随机的,但是每一轮你能抢到的红包金额,最高不会超过剩下红包的均值的二倍。若只有一个人,则获得所有剩下的金额。递归实现:import randomtotal_money = 100people_count = 10# 红包派发递归算法def compute(i,result): #最后一位,获得剩下所有红包 if i == 1: result.append(total_money-sum(result)) re...

2022-01-18 16:33:14 2526

原创 zabbix-agent报active check configuration update from[] started to fail(timeout)【3】

背景:监控架构采用 agent ->网络节点 ->server的架构,部署后发现全部无数据,在agent端日志查看报 timeout错误排查在agent端可以ping通对端在agent端可以curl通对端10051端口在agent端可以telnet 10051且不报错在中间节点ping Server,能通,但是出现大量丢包因此定位问题:网络节点->sever节点随后联系网络侧同学解决......

2022-01-13 09:55:46 1881

原创 zabbix-agent报active check configuration update from[] started to fail(timeout)【2】

背景监控架构采用 agent ->宿主机Vnet ->server的架构,部署后发现全部无数据,在agent端日志查看报 timeout错误排查在agent端可以ping通对端 在agent端可以curl通对端10051端口 ,但只有send没有返回 在agent端可以telnet 10051且不报错在中间节点安装agent,直接上报到server,数据正常,排除server问题,锁定问题在 agent->宿主机vNet查看Vnet配置文件:...

2022-01-12 11:04:24 1990

原创 《Prometheus监控实战》笔记【一到三章】

本文内容为书籍《Prometheus监控实战》的读书笔记,书籍链接Prometheus监控实战 (豆瓣)一 监控简介1 监控的两个客户:技术 了解技术状况,诊断技术问题 业务 支撑业务持续发展2 监控是管理基础设施和业务的核心工具全局视角,从最高层(业务)依次展开。 协助故障诊断。 作为基础设施、应用程序开发和业务人员的信息源。 内置于应用程序设计、开发和部署的生命周期中。 尽可能自动化,并提供自服务3 监控方式探针/黑盒:在应用程序的外部,它查询应用程序的外部...

2022-01-11 19:11:49 635

原创 记一次疑难问题:zabbix-agent报active check configuration update from[] started to fail(timeout)

背景:监控架构采用 agent ->中间结点 ->server的架构,部署后发现 server监控数据不全,agent某些监控项缺失,重启后全部无数据,在agent端日志查看报 timeout错误在agent端可以ping通对端 在agent端可以curl通对端10051端口 在agent端可以telnet 10051且不报错排查:1 复现现象: agent只配一个监控项时正常,超过3个则报错2重装server,重装agent,重启中间节点nginx,不行.....

2021-12-24 11:12:51 6231 1

原创 《The Way to Go》Go语言入门笔记【1】(一到四章)

整理参考自:the-way-to-go_ZH_CN/01.2.md at master · unknwon/the-way-to-go_ZH_CN · GitHub一 概览1 优点:快速编译,高效执行,易于开发。类型安全和内存安全的编程语言。虽然 Go 语言中仍有指针的存在,但并不允许进行指针运算。对于网络通信、并发和并行编程的极佳支持。2 代码的可读性是软件工程里最重要的一部分。作为强类型语言,隐式的类型转换是不被允许的,记住一条原则:让所有的东西都是显式的。这是第一门完全支持 UTF...

2021-12-16 19:33:41 945

原创 解决pyinstaller打包后C盘出现 windows/TEMP/_MEI文件夹爆满的问题

背景:一每分钟执行的python脚本,打包成exe后,在有些机器出现_IME文件过多的问题解决:1 参考Python转exe方法与_MEI清除方法_╮(╯_╰)╭ Don't expect me to reply to you in time-CSDN博客得知是pyinstaller的问题2 编写清除脚本,每次运行清除之前该目录下所有IMEI文件import osimport shutilpath = r"C:\Windows\Temp"for root,..

2021-12-06 15:53:25 8058

原创 Linux-Arm环境下编译zabbix agent源码

步骤记录:1 准备gcc编译环境yum install -y gcc gcc-c++ make pcre-devel2 上传zabbix源代码压缩包,解压,进入目录:3 执行configure获得 Makefile文件 ./configure --host=arm-linux --prefix=/usr/local/zabbix --enable-agent --build=arm-linux4 执行make,去目录下找 新生成的zabbix-agentd二.

2021-11-12 11:11:55 2263

原创 Python筛选处理Excel的两种方法(openpyxl与pandas)

Python处理Excel数据,有两种思路, 一是通过相应的execl库进行操作,优点是最大限度保留了excel的特性,缺点是速度慢 另一种是以数据的思维,通过Pandas等库进行数据处理,速度快,缺点是损失execl特性 需求:读取一批excel表格文件,过滤出第三列数据符合某一条件的数据方法1:利用 openpyxl库处理,思路是删除不符合需要的行import openpyxl​select_list = ["XXX","YYY"]​#打开表格的第一个

2021-10-29 19:24:46 8169

原创 zabbix server启动报错:Job for zabbix-server.service failed because the control process exited with error

1 一次机器的清理重启后,启动zabbix-server报错systemctl start zabbix-serverJob for zabbix-server.service failed because the control process exited with error code.See "systemctl status zabbix-server.service" and "journalctl -xe" for details.2 根据提示,运行journalctl.

2021-10-28 16:30:15 11667

原创 zabbix报错:Cannot parse list of active checks

问题:虚机无上报数据,报错:Cannot parse list of active checks解决:1 搜索论坛,评论显示是到 server的10051接口问题,排查防火墙,未发现问题2 架构采用 agent-通道机器IP1-serverIP2的方式,在agent机器: tcping IP110051端口显示已打开,继续排查3 在server机器,查看端口情况tcping IP210051端口发现10051端口未开放,定位到问题,即server...

2021-10-27 14:05:36 810

原创 zabbix-server执行脚本报错: Cannot exectue command “XXX.py“: [13] Permission denied

问题:在server端设置告警触发动作为 执行远程脚本,在触发后报错: Cannot exectue command "XXX.py": [13] Permission denied解决:首先确认脚本的权限,chown zabbix:zabbix XXX.pychmod 700 XXX.py更改后仍然不行,查找资料:Zabbix-agent 报错 execl() failed for [ ]: [13] Permission denied 解决方法_醉世老翁的博客-CSDN

2021-10-21 11:23:58 1943

原创 Redis错误:No connection could be made because the target machine actively refused it

问题:利用go连接远程阿里云centos主机的redis,代码如下:redisCli := redis.NewClient(&redis.Options{ Addr: url, Password: Passwd, // no password set DB: 0, // use default DB })报错1connectex:Noconnectioncouldbemadebecausethetargetmachineac...

2021-10-15 09:52:54 16515

原创 Go语言高级编程学习笔记 - Web开发

Go语言Web开发笔记本文是 教程 Go语言高级编程的 学习笔记,本部分链接第5章 Go和Web · Go语言高级编程1 Go的Web框架大致可以分为这么两类: Router框架 : 对httpRouter进行简单的封装,然后提供定制的中间件和一些简单的小工具集成比如gin,主打轻量,易学,高性能 MVC类框架: 借鉴其它语言的编程风格的一些MVC类框架,例如beego2 根据我们的经验,简单地来说,只要你的路由带有参数,并且这个项目的API数目超过了10,就尽量

2021-09-29 10:43:38 485

转载 zabbix原生自带监控项(3.4版本)

复制自zabbix中文网页:agent.hostname 客户端主机名。返回字符串 agent.ping 客户端可达性检查。返回 nothing - 不可达;1 - 可达 agent.version zabbix客户端(agent)的版本。返回字符串 eventlog[name,<regexp>,<severity>,<source>,<eventid>,<maxlines>,<mode>] 事件

2021-09-16 14:59:32 855

原创 Failed to connect to 127.0.0.1 port 80: Connection refused

问题阿里云新申请的云主机,curl本地哪个端口都会报这个错误:[root@iZ2zefh0wozglk2v3bmffvZ rocketmq]# curl 0.0.0.0 12581curl: (7) Failed connect to 0.0.0.0:80; Connection refusedcurl: (7) Failed to connect to 0.0.49.37: Invalid argument解决方案:安装并启动httpd服务即可yum install http

2021-09-07 13:47:43 7610

原创 通过~/.bashrc文件添加快捷命令

目的: 将常用的较复杂命令添加别名方法:进入clickhouse需要命令:clickhouse-client --host=127.0.0.1 -d default -m -u default --password 123456将其添加到 ~/.bashrc文件:alias clickhouse-test='clickhouse-client --host=127.0.0.1 -d default -m -u default --password 123456'运行so.

2021-07-06 19:58:08 1797

转载 SQL笔记-摘录自廖雪峰老师教程

SQL笔记:1 常用数据类型INT 整型 4字节整数类型,范围约+/-21亿 BIGINT 长整型 8字节整数类型,范围约+/-922亿亿 REAL 浮点型 4字节浮点数,范围约+/-1038 DOUBLE 浮点型 8字节浮点数,范围约+/-10308 DECIMAL(M,N) 高精度小数 由用户指定精度的小数,例如,DECIMAL(20,10)表示一共20位,其中小数10位,通常用于财务计算 CHAR(N) 定长

2021-07-05 19:28:54 96

原创 python邮件发送:发送csv表格并转成HTML表单形式,添加多收件人与抄送功能

代码:# 将csv转成html表单并发送html内容的邮件,带抄送功能import smtplib, timefrom email.header import Headerfrom email.mime.text import MIMETextimport pandas as pddef csv_to_html(): upload_path = 'total_data.csv' df = pd.read_csv(upload_path, encoding="utf-8",n

2021-07-05 19:06:18 659

原创 go开发笔记——日志模块logrus的使用

项目地址:1 最简单的例子package mainimport "github.com/sirupsen/logrus"func main(){ logrus.Info("hello logrus")}参考链接:Go 每日一库之 logrus

2021-07-05 18:59:50 144

原创 SQL:按时间段进行区间统计(clickhouse)

数据:语句:select toStartOfHour(created_at) time_interval , count(*) num from my_table group by toStartOfHour(created_at) 结果:文档摘录:toStartOfDay将DateTime向前取整到今天的开始。toStartOfHour将DateTime向前取整到当前小时的开始。toStartOfMinute将DateTime向前取整到当前分钟的开...

2021-07-01 16:50:46 8635

原创 启动系统服务clickhouse报错clickhouse-server.service: main process exited, code=exited, status=232/ADDRESS_FA

错误:使用systemctl start clickhouse-server启动失败,报错信息如下:[root@hantest mysql]# systemctl status clickhouse-server● clickhouse-server.service - ClickHouse Server (analytic DBMS for big data) Loaded: loaded (/etc/systemd/system/clickhouse-server.serv.

2021-06-30 10:28:13 14508 3

原创 window添加环境变量路径

1 选环境变量2 选 Path,编辑3 新建-浏览-选择要选的目录

2021-06-23 15:34:37 411

转载 Yaml语法小结

摘录参考自:http://www.ruanyifeng.com/blog/2016/07/yaml.html1

2021-06-18 18:41:39 140

go-zero环境(proto+etcd+goctl).zip

一些需要放置到环境变量的工具

2021-05-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除