SharpG.的博客

  • 首页
SharpG.的博客
专注Linux运维与开发|Focus on Linux ops&dev
Django框架

2022年10月最新基于Django3.2.16实现对上传图片加水印

前言 最近这个在Django后台上传图片时自动加水印的需求,各种google和百度一个能用的都没有,最终在胡阳大神的书《Django企业开发实战:高效Python Web框架 指南》中找到了答案,在此特地感谢,不过大神的代码好像用的是默认字体,最终呈现的效果不太好看,而且水印是在图片的最下方居中显示,也不太符合我们的一般放在右下角的习惯,我优化了一下代码。 实战 以本站的后端Django项目为例,假设你的你用Django框架的脚手架命令新建的项目叫DjangoBlog4Life,那么在你的这个目录../Django…

2022-10-18 0条评论 395点热度 0人点赞 sharp097 阅读全文
Zabbix运维开发

使用Python脚本对Zabbix关键模版进行审计

前言 当一个企业的zabbix监控系统运行了很久之后,必然会产生某些机器的某几个模版很重要的情况,另外由于经常维护这些模版需要频繁的重新绑定,要是解绑和再次绑定之间有一定时间差的话那就很容易造成漏绑定,一旦发生漏绑定且此时业务系统刚好出现了问题没有监控到那么后果就很严重了,本篇博客提供的脚本就是为了解决这个问题而存在的。 本次用到的脚本如下所示: 代码分两块,一个是zabbix_template_audit_every_hour.py,一个是github上的开源脚本zhtmplfinder.py,仓库名叫q1x/z…

2022-10-09 0条评论 312点热度 0人点赞 sharp097 阅读全文
Zabbix运维开发

使用Python实现批量启用或禁用zabbix的告警动作

前言 当你的企业的zabbix系统用了很多年之后肯定是积攒下来少说十几个多则几十个zabbix告警动作,由于历史原因经常有一半被永远禁用了,但是你又不敢随意的删掉它们,这样每次维护监控在禁用之前的时候你就需要记下来哪些是启用的,然后再在维护完之后小心翼翼的全部启用,确保一个不落,但是人的眼睛总是会走神,难免会有遗漏,即使是有双人复核恐怕也不能幸免。本文实现了用Python脚本批量一次性禁用和启用,原理就是提前把这些告警动作id多次或N次反反复复复核后写到配置文件里面,然后用Python脚本调用zabbix的rest…

2022-09-02 0条评论 376点热度 0人点赞 sharp097 阅读全文
Linux运维

实战用vuls漏洞扫描器对Linux系统和Python项目进行扫描和审计

前言 因为我用的腾讯云vps托管过开源的bitwarden服务端和enpass用的webdav服务,所以对安全这一块比较重视,腾讯云的安全扫描这块收费比较贵以及好像不支持业务代码的漏洞扫描,比如Django项目,所以就想到了找一个开源的漏洞扫描器,一番调研,选择了vuls。 安装 执行上述命令进行安装,耗时较久,请耐心等待。 下载漏洞数据库,下面以CentOS为例: 配置文件参考: 请自行去除上述配置中的注释。 执行扫描并输出结果: 配置每周定时任务,实现定时扫描并发送邮件。 最终效果如下:  

2022-08-23 0条评论 568点热度 0人点赞 sharp097 阅读全文
Zabbix运维开发

实现在自动发布前后禁用或启用zabbix触发器

背景 正常来讲,我们在自动化发布的过程中难免会造成告警风暴,那么我们可以做些什么来规避这个问题呢,一个比较简单的方式就是在发布前禁用掉zabbix的触发器,发布完再启用,本篇博客就是在这个背景下进行创作的,本次用到的脚本如下所示: 代码分两块,一个是main.py,一个是github上的开源脚本zhtrigfinder.py和ztrigswitcher.py,仓库名叫q1x/zabbix-gnomes,感谢,该仓库年久失修,为了防止失联本人fork了一下,也在下面把源码直接贴了出来,请把两块代码放到同一级目录。 整…

2022-07-02 0条评论 291点热度 0人点赞 sharp097 阅读全文
Web爬虫

基于Golang的chromedp库实现获取Hostloc的每日热帖

背景 关于获取Hostloc的每日热帖推送的话题,本站已经写了两篇博客阐述了,分别是你想收到hostloc每日热帖的邮件么?以及如何越过Hostloc的防CC攻击机制获取其每日热帖,虽然这两个都是Python脚本,但是前者仅仅是一个简单的Python脚本,无法应对后来新增的防CC机制,而后者中的脚本很好的解决了这个问题,但是本篇博客用一种全新的思路来解决这个问题,具体就是用了一个把chrome的cdp协议封装成golang对象的库chromedp来调用无头的chrome浏览器来访问loc站点。 依赖 下面的脚本依赖…

2022-06-30 0条评论 542点热度 0人点赞 sharp097 阅读全文
Web爬虫

如何越过Hostloc的防CC攻击机制获取其每日热帖

背景 很早之前写过一篇叫 你想收到hostloc每日热帖的邮件么?的博客,但是没过多久这个就失效了,因为hostloc站点加了防CC攻击的机制,导致无法直接获取其网页源码了,下面分享一个可以越过防CC攻击的脚本,注意本脚本仅用来自用推送loc的热帖给自己,请不要用于其它用途。 依赖 代码 说明 如果需要发邮件给自己需要自行替换脚本中的如下变量: 敏感词过滤请自行替换以下函数的replace_mapping列表值:  

2022-06-30 0条评论 380点热度 0人点赞 sharp097 阅读全文
Zabbix运维开发

zabbix触发器禁用后未启用审计

场景 目前的例行发布做了发布前自动屏蔽触发器,发布后恢复的操作,由于有时候发布过程中某一步失败了,人工介入处理之后整个发布流程没有继续走完就会导致触发器未恢复。 代码 代码分两块,一个是main.py,一个是github上的开源脚本zhtrigfinder.py,仓库名叫q1x/zabbix-gnomes,感谢,该仓库年久失修,为了防止失联本人fork了一下,也在下面把源码直接贴了出来,请把两个代码放到同一级目录。 整个项目依赖python2,主要是这个七八年前的上古开源脚本zhtrigfinder.py也依赖py…

2022-06-14 0条评论 339点热度 0人点赞 sharp097 阅读全文
Zabbix运维开发

审计Zabbix模板自动发现规则是否报错

话不多说直接上脚本,自用的话替换一下脚本里面的API地址以及zabbix的用户名和密码即可。  

2022-05-02 0条评论 300点热度 0人点赞 sharp097 阅读全文
Zabbix运维开发

检查RabbitMQ队列是否堵塞的Python脚本

啥也不说了,上脚本之前先说一下有种做成zabbix自动发现的方案不是很合适,因为线上的集群动不动就几千个queue,这样生成的zabbix监控项太多,综合各方面考虑都不是很合适,下面的方案是把结果写到文件里面,然后配置个让zabbix agent定时去扫关键字的模板,具体怎么弄就不赘述了,直接上我们的Python脚本哦。 Tips:上面的阈值设置为了100000,你可以根据你们公司的业务情况进行调整哦~

2022-04-03 0条评论 248点热度 0人点赞 sharp097 阅读全文
Django框架

解决VSCode本地启动Django项目访问首页报TemplateDoesNotExist

背景 最近发现用VSCode启动一个django项目后访问首页会报TemplateDoesNotExist错误,表现如下: 但是用Pycharm启动的就不会报这个错,经过一番研究,原来是setting.py中的TEMPLATES设置没有和BASE_DIR join一下,不完善的会导致报错的配置如下: 若要修复上述错误,需要按照如下配置:  

2022-03-02 0条评论 245点热度 0人点赞 sharp097 阅读全文
未分类

Bitwarden自建终极加固和最简单备份以及SMTP邮箱配置指南

前言 如果你的bitwarden只托管了一些不重要的密码的话,可以看一下本站之前写的一篇博客(保姆级免Nginx反代配置带SSL证书Bitwarden服务端),基本也够安全的了,因为Bitwarden_RS/Vaultwarden(下文简称Bitwarden)底层采用的rocket tls最低支持版本是1.2,而不是1.0或1.1,具体看这里的官方文档。 但是如果你的自建bitwarden托管了你的支付宝微信、银行卡、信用卡等全部身家,甚至几百个比特币的钱包的私钥,那前面提到的博客就不行了,我们必须再提高安全性,毕…

2022-02-19 6条评论 1595点热度 0人点赞 sharp097 阅读全文
Zabbix运维开发

推送最近12小时内仍未解除的zabbix告警到企业微信群

环境信息 zabbix 4.2.4 Python 3.6.8 说明 本脚本在生产环境久经考验 部分特殊场景可能会出现已经解除的告警依然会推送,原因未知 自行替换脚本中的企业微信推送url,群id,zabbix api地址,zabbix用户名和密码 源码  

2021-11-29 0条评论 272点热度 0人点赞 sharp097 阅读全文
未分类

将turndown项目改造成CLI版本秒杀Python版的html2text

前言 先说说为啥nodejs版本的turndown项目在把html转换成markdown上会让我觉得秒杀掉python的老牌高star项目html2text,原因是我特别在意的一个功能就是代码高亮,很多python项目都不能在后自动加上语言类型,甚至html2text连加都做不到,好像可以加\<code\>\</code\>标签,不知道是不是等效于3个反引号。 然后我们再说回nodejs版本的turndown项目,这个项目牛逼之处就在于实例化时加上一个参数就可以实现自动识别代码高亮区域,加上…

2021-09-25 0条评论 322点热度 0人点赞 sharp097 阅读全文
Linux运维

实战使用Pyenv离线安装Python3.7虚拟环境

访问如下官方仓库: https://github.com/pyenv/pyenv 将整个仓库以zip的形式下载到本地然后上传到服务器上的某个用户的家目录。 执行如下命令: 然后执行如下命令写入环境变量: 加载环境变量和初始化pyenv: 用yum安装编译Python的依赖环境: 最后在本地去python官网下载3.7的源码压缩包然后上传到~/.pyenv/cache下,如无cache目录手动建一下 下载链接: https://www.python.org/ftp/python/3.7.9/Python-3.7.9.…

2021-09-20 0条评论 356点热度 0人点赞 sharp097 阅读全文
Linux运维

实战Grafana iFrame嵌入配置调教以及绘制各种图形技巧

环境 CentOS 7 MySQL 5.7.30 Grafana 7.5.9 FAQ 1. 如何将Grafana Dashboard以iFrame形式嵌入第三方页面? 开放匿名访问并限制权限, 在默认配置路径/etc/grafana/grafana.ini下的[auth.anonymous]修改为如下配置, 在上述默认配置路径的[security]中允许使用嵌入 FAQ 2. 如何为新式表格(区别于7.x版本之前的old table)中的字段增加固定的超连接? p.s. 7.x版本之前的请参考本…

2021-09-04 5条评论 863点热度 0人点赞 sharp097 阅读全文
Python编程

实战使用Diagrams Py库绘制Filebeat,Kafka,Logstash,Zabbix日志告警架构图

前言 只所以会有这么复杂的架构,是因为现实生产环境一般有复杂的网络隔离,filebeat或logstash采集好的日志不能直接推送到zabbix,所以中间要用kafka中转一下。 测试环境 Ubuntu 18.04 on WSL2 Python 3.7.9 Diagrams 0.20.0 实战开始 部署diagrams的依赖和其本身,以Ubuntu系统为例,apt命令自行替换为yum,包名貌似通用, 另外,如果架构图中有中文的话会乱码,参考这篇博客解决。 实战代码 实际效果

2021-08-27 0条评论 417点热度 0人点赞 sharp097 阅读全文
Python编程

Python2下的urllib2库在处理异常事件时候的最佳实践

我们闲话少说,来看下面的一段代码: 上面的代码的核心需求是在异常时把服务端返回的异常报文打印出来,以便后续的排障,当然我们也看到了在except后面的异常处理代码块里面的最后一行,也确实在尝试打印服务端返回的异常报文,但是呢如果不太有经验的小伙伴可能会遇到下面的报错, 其实这样的处理方式在python3中是可以的,但是至于python2为什么不可以,不知道是受限于什么,下面我来说一下解决的办法,见如下代码: 我们这时可以看到竟然可以在异常对象e的read()方法中去读取异常报文,同时我们也从异常对象e中把服务端返回…

2021-05-30 0条评论 3512点热度 0人点赞 sharp097 阅读全文
Python编程

探索SikuliX IDE下的Python Requests库的安装及最佳实践

背景 最近在玩一些自动化的东西,用到了java开发的SikuliX IDE工具,由于要和网站交互那么我自然想到了用大名鼎鼎的Python Requests库了,可是不管我怎么样在电脑上反反复复的用pip2或pip3卸载然后重装requests都会报下面的错误, 错误原文我也贴一下: 后来历经千辛万苦终于搞定了这个问题,现在sikulix IDE终于不报ImportError了,但是又开始时不时的报下面的错误了,五次里面可能会有四次报, 报错原文我也贴一下: 可是聪明如我,历经九九八十一难,我又搞定了这件事,如下: …

2021-04-07 0条评论 443点热度 0人点赞 sharp097 阅读全文
Python编程

近3k Star的Python重试库Tenacity的最佳实践探索

背景 最近在写一些模拟SSO登陆的脚本,由于SSO不是很稳定,总是时不时的超时或者返回5xx错误,但都是偶发性的,如果不进行一定程度的容错处理,那么监控平台将会有太多无效告警,不过在脚本经过Tenacity加持改造的情况下,监控平台的误告大有改善,下面就让我们一起来探索一下这一款近3k Star的Python重试库Tenacity的最佳实践。 过程 本次探索依赖另一个大名鼎鼎的Python库Requests,所以我们先来安装一下依赖和Tenacity库本身。 下面来看一个小demo, 其输出如下: 下面来简单解释一…

2021-04-04 0条评论 221点热度 0人点赞 sharp097 阅读全文
12345…6
最近评论
sharp097 发布于 3 周前(09月02日) 今天发布了新版本了,用新版本再试一下哈~
sharp097 发布于 3 周前(09月02日) 今天发布了新版本了,用新版本再试一下哈~
sharp097 发布于 3 周前(09月02日) 今天发布了新版本了,用新版本再试一下哈~
sharp097 发布于 3 周前(09月02日) 今天发布了新版本了,用新版本再试一下哈~
sharp097 发布于 3 周前(09月02日) <span style="color: rgb(119, 119, 119);&qu...
最新 热点 随机
最新 热点 随机
实战使用HandBrake批量压缩视频 全网首发正规途径解决k8s api server报匿名用户无权限错误 使用Python对Zabbix告警动作进行审计 实战利用trivy对Linux系统进行漏洞扫描 2023年五月最新老虎证券出金到银行卡保姆级攻略 2023年五一维港旺角一日行,0元开香港银行卡攻略
全网首发正规途径解决k8s api server报匿名用户无权限错误实战使用HandBrake批量压缩视频
filebeat采集日志时如何附加额外字段 如何解决用vmware在ESXi服务器上创建VM时报system not found错误 MacBook Pro软硬件优劣势于我而言杂谈 全网首发正规途径解决k8s api server报匿名用户无权限错误 记录scrapy的一个小坑之爬虫启动后马上就自动退出 2022年10月最新基于Django3.2.16实现对上传图片加水印
搜索
归档
  • 2023年9月
  • 2023年8月
  • 2023年5月
  • 2023年4月
  • 2023年3月
  • 2023年2月
  • 2023年1月
  • 2022年12月
  • 2022年10月
  • 2022年9月
  • 2022年8月
  • 2022年7月
  • 2022年6月
  • 2022年5月
  • 2022年4月
  • 2022年3月
  • 2022年2月
  • 2021年11月
  • 2021年9月
  • 2021年8月
  • 2021年5月
  • 2021年4月
  • 2021年3月
  • 2021年2月
  • 2021年1月
  • 2020年12月
  • 2020年11月
  • 2020年10月
  • 2020年9月
  • 2020年8月
  • 2020年6月
  • 2020年5月
  • 2020年4月
  • 2020年3月
  • 2020年1月
  • 2019年12月
  • 2019年11月
  • 2019年10月
  • 2019年9月
  • 2019年8月
  • 2019年1月
  • 2018年12月
分类
  • Django框架 / 10篇
  • ELK运维 / 8篇
  • Linux运维 / 22篇
  • Mac系统 / 5篇
  • Python编程 / 21篇
  • Web爬虫 / 8篇
  • Wordpress运维 / 6篇
  • Zabbix运维开发 / 8篇
  • 未分类 / 18篇
  • 杂谈 / 6篇
标签聚合
hostloc django wordpress python 腾讯云 zabbix python脚本 filebeat
友情链接
  • 子舒博客 子舒博客
  • 憧憬点滴记忆 憧憬点滴记忆

COPYRIGHT © 2018-2023 SharpG.的博客 萌ICP备20230078号
本站由 Hetzner 提供计算服务, 由 Cloudflare 提供全站加速服务。

myssl.com-MySSL安全签章

Theme Kratos Made By Seaton Jiang