SharpG.的博客

  • 首页
SharpG.的博客
专注Linux运维与开发|Focus on Linux ops&dev
Python编程

由return语句和异常捕获之间的一个小细节来看Python的execution flow

这个小细节的阐述将由一个小实验来展开,这个小实验依赖一个python库requests,用下面的命令安装一下: 安装完之后我们来看下面的代码: 上述代码由于请求了一个https的地址,所以最好用python3来运行,首先来看一下运行结果: 为什么会报错呢,原因就在于我们请求的url中加了一个叫 sleep=5000的参数,代表这个url会等待5秒才会返回内容,而我们在requests的get方法中却指定了timeout=3,也就是3秒,那么很显然就会抛出异常了,我们在上面的输出结果中也看到了 Read t…

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

一个细节导致python2的importlib库报错

最近在对zabbix依赖的接口主动探测脚本做配置化改造,脚本里面用到了importlib提供的动态import功能,由于这一次一时性起全程vim操作没有用pycharm,vim一时爽,一直用一直爽,雾~ 等会我会说到不用pycharm导致的问题。 下面我用一个demo来复现一下问题,也便于大家理解,以下是目录结构和代码内容: 你可以按照上面的目录结构和代码内容组织好,然后用python2运行一下,大致会报下面的错误, 总之会直接报没有叫cc_test的模块的错误,这样子就很迷惑了,你左看右看demo目录下都有一个叫…

2021-03-16 0条评论 480点热度 0人点赞 sharp097 阅读全文
未分类

如何解决Win10进入WSL报rpc服务器不可用

今天进入Wsl里面的Ubuntu时提示rpc服务器不可用错误,英文应该是rpc server is unavailable。 一番折腾发现是前几天因为配置Win10的hosts绑定时由于在ip后煞笔的加了端口号,导致hosts绑定怎么弄都不生效,然后听信网上的说法用命令行修改注册表关闭了Win10的DNS客户端,如果是这样的话解决方法很简单,重新执行下面的命令,把dns客户端设置为自动启动,然后重启电脑即可,之前用命令行修改注册表关的dns客户端的不要幻想用service.msc去启动,你会发现都是灰色的不给你启动…

2021-03-05 0条评论 756点热度 0人点赞 sharp097 阅读全文
Django框架

‌保姆级最简单实现django的站点地图sitemap

首先打开你的项目下的setting.py文件,然后找到 INSTALLED_APPS这个列表变量,然后在里面加入如下两项: 然后在settings.py中的任意位置加入一个  SITE_ID = 1 的变量,然后在你的项目根目录运行下面的命令进行数据库同步, 然后我们来到项目的urls.py文件中,先import一个用于sitemap的django类和你的假定表示文章的数据库模型Post, 紧接着,我们在urls.py中新建一个字典,再定义一个path(),如下: 然后我们还要到项目的models.py中…

2021-03-04 0条评论 227点热度 0人点赞 sharp097 阅读全文
ELK运维

如何对1K+应用产生的Elasticsearch索引进行运维治理

背景 最近在全面接手估计有1k+的生产日志的运维工作,每天面临着大量的投诉,大部分的诉求都是日志突然没了,为了对生产故障进行排查要紧急查看日志,由于应用系统数量和种类繁多,以及所有日志系统的网络架构的复杂性导致出现这种问题有时并不能快速解决,与其每天被动的的接受开发的投诉,还不如主动的对这1K+应用产生的Elasticsearch索引进行运维治理。 其实应用突然没日志无外乎下面几种: k8s pod里面的log挂载点发生了变化 log4j里面的日志路径发生了变化 应用上云后log4j里面的路径没有进行同步变更 还有…

2021-03-03 0条评论 201点热度 0人点赞 sharp097 阅读全文
ELK运维

filebeat配置Windows&Linux机器saltstack批量下发模板及遇到的坑

Linux机器: 这里有两个地方需要注意,否者会有严重问题: 1、要先到这里把第一种模式的restart脚本放到saltmaster上,然后在下发完filebeat配置之后把restart脚本也下发一下再执行重启filebeat命令,否者salt会卡住, 这种场景主要是因为某些情况下为了排障生产的filebeat启用了这里提到的中的第二种简单排错模式,这种模式会导致salt命令卡住 2. salt的重启filebeat命令一定要用"cd /data/filebeat/ && sh rest…

2021-03-02 0条评论 203点热度 0人点赞 sharp097 阅读全文
ELK运维

filebeat三种debug模式的restart脚本

1. 用于saltstack自动化部署模式:所有输出全部定向到/dev/null,可以实现在自动化下发配置的时候salt命令全程不卡住 2、简单排错模式:把debug输出重定向追加到文件,适用于判断与ES VIP后端节点的通信情况判断,以及简单的判断filebeat是否启动harvester组件采集某个路径下的日志 3、全部 debug selector都开启模式:适用于分析filebeat全部采集链路,非特殊情况慎用,用完及时关闭,否者短时间内日志暴涨几十G  

2021-03-02 0条评论 298点热度 0人点赞 sharp097 阅读全文
ELK运维

解决filebeat报413 Request Entity Too Large错误

背景 完整的报错内容如下: filebeat failed to publish events 413 request entity too large 遇到此种报错将会导致es中没有数据 解决方法 找到filebeat的主配置filebeat.yml,在output中加入 bulk_max_size: 20,这个值默认是50,我们要改小一点,改成10或者20都行,由于yaml这种格式极易出错引起不适,我把相关的部分摘录如下:  

2021-03-02 0条评论 768点热度 0人点赞 sharp097 阅读全文
ELK运维

如何限制filebeat使用的CPU核心数

背景 在实际的生产中的大量实践后我们会发现即使Elasticsearch官方宣称filebeat为轻量级采集agent,但是如果一个性能较好的机器上同时部署几十个应用,也就意味着有几十个应用在源源不断的产生大量日志,这种情况下无论filebeat再怎么轻量也会不堪重负,从而成为cpu负载的No.1。 解决 解决起来很简单,只要在主配置filebeat.yml中加入 max_procs: 2即可(这里假定机器是4核的),由于yaml这种文件格式极易出错引起不适,我就把完整的配置贴出来一下,供大家参阅!  

2021-02-28 1条评论 675点热度 0人点赞 sharp097 阅读全文
ELK运维

如何对Elasticsearch的索引template进行优化

背景 经过在生产环境的大规模使用之后发现如果使用Elasticsearch 6.x的一些默认配置的话,尤其是number_of_shards默认为5,如果索引按照天生成,日积月累到几万后,集群就会频繁GC,最终导致ES的某些REST接口不可用。 最新的ES 7.x已经将number_of_shards默认为1了,所以如果你们的生产环境如果全面升级到了7.x的话则可以忽略本篇博客,但是如果因为各种原因你们的es集群还在使用6.x的话,那么就要做一些优化了。 优化 我们打开Kibana的面板后,来到Management…

2021-02-28 0条评论 200点热度 0人点赞 sharp097 阅读全文
ELK运维

filebeat采集日志时如何附加额外字段

背景 我们都知道filebeat在采集的时候可以在主配置里面进行设置后就会采集上主机上的hostname作为一个字段,可是实际生产环境经常会遇到一个集群中的节点的hostname都是一样的,如果恰巧不方便修改hostname或者就想知道具体是哪个ip的机器采集上来的日志该怎么办呢,其实很好办我们只需要在每个应用的filebeat配置中写死一个额外的变量如hostip即可。 添加额外的变量有两种方式,其中一种方式经常会导致elasticsearch采集上来的每个hit里面的字段缺少你要额外加的这个变量,但是又不是每条…

2021-02-27 0条评论 533点热度 0人点赞 sharp097 阅读全文
Linux运维

保姆级免Nginx反代配置带SSL证书Bitwarden服务端

运行环境 Centos7 Docker version 20.10.3, build 48d30b5 闲言少叙 注意全程root用户操作, 安装Docker, 配置docker国内镜像并拉取bitwardenrs镜像, 如果在你的服务器上配置了上述docker镜像后docker pull依然很慢,可以试试下面几个镜像源: 网易 http://hub-mirror.c.163.com ustc https://docker.mirrors.ustc.edu.cn 中国科技大学 https://docker.mirro…

2021-02-19 1条评论 1028点热度 0人点赞 sharp097 阅读全文
Linux运维

如何用Nginx优雅的告诉谷歌网站正在闭站维护中从而不影响到SEO

我们的网站经常会因为各种稀奇古怪的原因要闭站一段时间,那如何告诉优雅的谷歌爬虫而不至于影响到SEO呢? 谷歌的Google 搜索中心博客中的这篇文章告诉了我们答案,其实核心就是要返回一个503的状态码和增加一个叫‘Retry-After’的response header, 这种方式在php中的实现可能如下所示: 那如果你的网站后端用的不是PHP而是像本站用的是Python呢,不过所幸现在大多网站的前端流量由Nginx来承载了,那么下面就展示一下在Nginx中怎么来实现上述的核心。 首先我们先…

2021-02-11 0条评论 211点热度 0人点赞 sharp097 阅读全文
Mac系统

查询过保MacBook或者iPhone的激活日期出现蓝色感叹号怎么办呢

最近突然想起我的MacBook Pro买了3年多了,键盘经常不灵敏打字重复,是时候享受一下Apple的键盘更换政策了,但又怕激活日期和我的购买日期不一致,于是萌生了查一下激活日期的想法, 可是不论谷歌还是百度的中文世界给我的回复都是查询保修日期再减去使用时长来推算出激活日期,可正当我如此照做后,却发现了不管怎么弄都会出现下面的蓝色感叹号,一番查找,有说是苹果双休日例行维护,正常现象,也有说是产品过保了,   其实是因为查询方式不对导致的,正确的应该是应该登陆Apple的mysupport页面,如下: 然后…

2021-02-11 0条评论 637点热度 0人点赞 sharp097 阅读全文
Linux运维

如何最简单免编译离线安装pgSQL的python驱动psycopg2

首先psycopg2官方的pypi仓库主页推荐用以下两种方式: 但是这两种方式都需要编译,会报下面的错误: 如果服务器能够访问外网的话推荐用pip安装psycopg2-binary, 但是对于大部分企业来讲,一些生产服务器常常是不能访问外网的,那么这时候我们就需要离线来安装了, 下面说说离线安装需要注意的点,也是我踩过的坑,psycopg2-binary的官方pypi文件下载页面如下, https://pypi.org/project/psycopg2-binary/#files 我们打开后以python2为例,会…

2021-01-31 0条评论 524点热度 0人点赞 sharp097 阅读全文
Linux运维

如何解决fontawesome字体在腾讯云CDN下加载失败

具体如下图:   Stack Overflow上面好多都是教你修改Nginx的,而且还有好几种姿势,但我实际试下来没一个能解决问题。 真正的解决办法是找到 腾讯云cdn中的域名管理-你的cdn加速域名-高级配置-响应头部设置,做如下配置: 响应头对应的参数就是你的网站带www和不带www的完整http或https的域名。

2020-12-18 0条评论 361点热度 0人点赞 sharp097 阅读全文
ELK运维

filebeat采集日志时如何排除不想看到的日志

闲话少说,直接上配置示例吧: 1、带正则表达式的,比如排除某个DEBUG开头的日志 2、排除还有某个关键字如test的日志

2020-12-18 0条评论 558点热度 0人点赞 sharp097 阅读全文
Linux运维

如何把腾讯云TKE K8s容器服务集成到Prometheus服务发现

准备工作 首先打开tke集群的内网访问 然后配置/etc/hosts 最后配置一下k8s客户端的config文件 以上操作由于不可描述原因无法截图示意哈,请自行研究腾讯云官方文档,或者给我发邮件,附上你的腾讯云控制台账号密码, 收费150元我远程帮你操作一下哦~ 为每一个pod建立一个k8s service 建立管理服务端口映射 以上每建一个service,收费10元,只让我示范建一个的话收费100元 找一台机器装个saltmaster 给每一个地区的每个集群的任意一个节点装上salt-minion 实现代码 开始…

2020-11-21 0条评论 175点热度 0人点赞 sharp097 阅读全文
Python编程

分享一个检查yaml文件是否有语法错误的脚本

环境 开发环境:Mac 10.15.6(理论上适用于三大系统) python:3.7.7 依赖:pyyaml 上菜 部署&使用 安装依赖 使用 实战效果 写在最后 如果你对python生态比较陌生,不知道怎么安装依赖,可以联系本人打包windows、Linux和Mac三大系统对应的可执行二进制单文件,无需解决依赖,一键部署,有不太明白的欢迎评论留言哦~

2020-10-09 0条评论 571点热度 0人点赞 sharp097 阅读全文
未分类

全网首发如何把Pycharm远程解释器设置为WSL2 CentOS里面的python

背景 最近在Windows下面运行一个类似下面的脚本时遇到了一些问题, 是这样的,我的win10上装了两个python解释器,一个是用python官方提供的exe装的python3.7,一个是用pyenv-win装的2.7.8,然后执行了pyenv global 2.7.8,但是好像没什么卵用,命令行输入python仍然进的是3.7的交互式环境, 紧接着我们再来说说上面这个脚本,上面os.system()调用的那个main.py是主要执行的脚本,只兼容python2,问题出在哪呢,系统只会用python官方提供的e…

2020-09-26 2条评论 624点热度 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批量压缩视频
‌保姆级最简单实现django的站点地图sitemap 如何把腾讯云TKE K8s容器服务集成到Prometheus服务发现 如何访问运行在虚拟机里面的Django开发服务器 为什么在Namesilo注册的域名按照网上教程设置NS记录为阿里云DNS后还是无法访问呢 如何为微软Azure云的服务器分配公网ip 同时支持Windows/Mac/Linux的图片批量添加水印并压缩的工具
搜索
归档
  • 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篇
标签聚合
python wordpress django 腾讯云 hostloc zabbix python脚本 filebeat
友情链接
  • 子舒博客 子舒博客
  • 憧憬点滴记忆 憧憬点滴记忆

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

myssl.com-MySSL安全签章

Theme Kratos Made By Seaton Jiang