字节跳动和TikTok内推

2023-03-15
阅读 3 分钟
723
关于字节跳动网上有很多不同的声音,比如字节和心脏只有一个能跳动。伴随着字节跳动改名抖音集团,公司也在不断拥抱变化调整工作节奏,比如作息时间,OKR周期,福利持续改进等。每个人都拥有自由选择的权利,我们无法控制同事和领导都是善良的,可以逃离互联网选择外企、公务员、国企央企、读书出国甚至更换行业重新开始...

System Design 学习路径

2022-11-24
阅读 1 分钟
1.1k
2022年尾比较热门的话题莫过于Elon Musk收购推特后大刀阔斧的改革,加速下滑还是涅槃重生大家一起拭目以待,做时间的朋友。借这个机会我们也可以通过Alex Xu分享的《Twitter Architecture 2022 vs 2012》来一探究竟,了解下互联网公司系统设计上的迭代更新,希望对大家复习System Design时有所帮助。

Google mtail配合Prometheus和Grafana实现自定义日志监控

2021-08-12
阅读 10 分钟
9.6k
mtail是一个Google开发的日志提取工具,相比ELK/EFK/Grafana Loki来说会更轻量。因为我遇到的需求只是为了采集生产日志中的数据,所以采用更为简单的mtail配合Prometheus和Grafana实现自定义日志数据监控。

为ping添加时间戳后台运行实时输出保存日志

2021-06-09
阅读 6 分钟
10.9k
ping命令是一种比较好用的网络诊断工具,常用来验证链路问题,例如 ping traceroute mtr 都使用的 “ICMP” 包来测试 Internet 两点之间的网络连接状况。生产环境中, 网络是否稳定(网络时延)是一个很重要的指标. 为了方便检查网络时延的大小, 我们可以通过ping命令实现长时间的网络监控。

CentOS7基于LNMP安装配置Laravel

2020-12-16
阅读 8 分钟
2.3k
距离上一次接触Laravel还是2015年的时候,这一次基于CentOS7的LNMP(Linux, Nginx, MySQL, PHP)再重新回味下当年部署的乐趣,文档里记录的是手动部署的步骤,ansible自动化部署代码我就不放出来了,有问题可以留言咨询。

macOS使用XQuartz支持X11实现Linux图形化界面显示

2020-11-25
阅读 4 分钟
12.4k
在Windows中相信大家已经很熟悉使用Xmanager(Xshell), MobaXterm, SecureCRT通过X11实现Linux图形化界面显示,我的需求是在macOS下使用iTerm2作为Terminal实现X11图形化界面显示,网上大部分教程只提到安装Xquartz但并没有结合实际问题给出完整的解决步骤,我把实践过程做了详细的记录方便大家按照最简单的步骤实现Linux...

Grafana Loki开源日志聚合系统代替ELK或EFK

2020-11-03
阅读 10 分钟
6.7k
在对公司容器云的日志方案进行设计的时候,发现主流的 ELK (Elasticsearch, Logstash, Kibana) 或者 EFK (Elasticsearch, Filebeat or Fluentd, Kibana) 比较重,再加上现阶段对于 ES 复杂的搜索功能很多都用不上,最终选择了 Grafana 开源的 Loki 日志系统。下面我们来介绍下 Loki 的一些基本概念和架构,当然 EFK 作为...

macOS 安装 sshpass

2020-10-30
阅读 3 分钟
3k
sshpass是ansible密码输入的必要条件,在Linux中使用yum install sshpass或者apt-get install sshpass都可以轻松安装,但在macOS新版本中由于安全原因无法直接使用brew install sshpass,需要采用其它安全的办法绕过。

Updating Homebrew 卡住的解决方案

2020-10-27
阅读 2 分钟
9k
换了MacBook 16寸的电脑正好在使用brew安装一些应用,发现一个小问题是每次执行如brew install ansible命令停留在Updating Homebrew...的时间特别长,在新加坡理论上应该和网络无关,最后按照网络上的方案选择关闭每次检查更新解决。

nc 命令使用小结

2020-10-27
阅读 11 分钟
3.9k
nc是netcat的简写,有着网络界的瑞士军刀美誉。因为它短小精悍、功能实用,被设计为一个简单、可靠的网络工具。比如大家很熟悉使用telnet测试tcp端口,而nc可以支持测试linux的tcp和udp端口,而且也经常被用于端口扫描,甚至把nc作为server以TCP或UDP方式侦听指定端口做简单的模拟测试。

Bash脚本递归查询批量修改文件名

2020-06-02
阅读 2 分钟
2k
前言 需求是批量修改.crt和.key为ssl.chain.crt和server.key,为什么会有这样的需求主要是踩了一个大坑Sectigo AddTrust External CA Root Expiring May 30, 2020,说多了都是泪。 更新历史 2020年05月31日 - 初稿 阅读原文 - [链接] 解题思路 需要遍历目录 需要重命名.key和.crt结尾的文件为server.key和ssl.chain.crt ...

Redfish下一代数据中心管理标准详解和实践

2020-04-29
阅读 4 分钟
4.2k
纵观现在的服务器从以前闭源的管理系统,如DELL的OpenManage和iDRAC,华为的iBMC,惠普的OneView和iLO,联想的XClarity和XClarity Controller 嵌入式管理,IMM2(收购自IBM的 SystemX PC Server系列)等等,都在积极拥抱开源自动化工具如Ansible等开源软件,在这种情况下被称作下一代数据中心管理标准的Redfish出现了。

SWAP常见问题分析和性能调优配置实践小结

2020-04-26
阅读 6 分钟
2.7k
SWAP内存交换分区对大家来说是一个经常被忽视的细节,如果大家对SWAP配置不是很熟悉可以参考文章内提到的Red Hat SWAP SPACE最佳实践配置链接。本文主要分享SWAP的基础知识和优化建议,以及如何使用ansible优雅的关闭和增加SWAP交换分区等实践心得。

IP2Location Nginx Module配置使用小结

2020-04-23
阅读 13 分钟
4k
IP2Location主要是用于代替MaxMind GeoIP,原因是GeoIP数据库针对中国的Blacklist黑名单有非常高的误伤率,选择IP2Location可以有效降低误伤,为了业务需求得及时做出改变。在使用IP2Location的过程中发现官网的步骤还是存在一些问题,这里记录和分享下自己逐步解决问题的过程。

RHEL/CentOS安装EPEL/Remi扩展仓库配置小结

2020-04-06
阅读 2 分钟
2.9k
最近因为需要编译libip2location,原本计划像之前一样使用rpmbuild制作Nginx的RPM包整合为一个rpm包,结果按照IP2Location官方的步骤愣是没有搞定,只能退而求其次选择了libip2location-8.0.7-1.el7.remi.src.rpm,简单总结下大部分人经常用到的EPEL和这次新出现的Remi。

作为程序猿我为什么选择了一副比A4纸还轻的眼镜

2020-03-03
阅读 3 分钟
4k
首先申明这不是软文也不想成为标题党,纠正后的简洁标题应该是《如何选择一副眼镜》,比A4纸还轻指的是镜架不包括镜片,职业虽然属于IT但这篇文章也同样适合大部分人阅读。之前我也写过《我是如何做到花8000元拔智齿的》和《从国内跳槽至新加坡工作的经验分享》2篇贴近日常生活的内容,因为眼镜和我们日常生活息息相关,...

Nginx禁止未绑定域名或IP访问80和443端口实践小结

2020-02-27
阅读 6 分钟
6.8k
nginx在决定请求由哪个server块执行时,主要关注的是server块中的listen和server_name两个字段,如果根据listen指令无法得到最佳匹配,将会开始解析server_name指令。nginx会检查请求中的"Host"头,这个值包含了客户端实际试图请求的域名或者ip地址。nginx会根据这个值去匹配server_name指令,匹配规则会在文章中详细描...

模板引擎Jinja2语法介绍

2020-02-21
阅读 6 分钟
4.7k
Flask和Django,以及其它很多Python框架如Ansible,都默认使用Jinja2来作为模版引擎。我们用Jinja2在服务器上直接生成配置和其他文件。 Jinja是一个基于Python设计语言的“全功能模板引擎”,个人认为Jinja语法本身并不复杂,但掌握好基本的Jinja语法会帮助你在构建Ansible、Jenkins、Web等批处理作业时做到事半功倍的效果。

使用certbot代替acme.sh免费申请wildcard通配符证书和自动更新实践小结

2020-02-20
阅读 13 分钟
6.6k
因为Google Chrome和运营商劫持干扰访问者体验的努力推动了大型网站加速应用全站HTTPS,而Let's Encrypt这个项目通过自动化把配置和维护 HTTPS 变得更加简单,Let's Encrypt设计了一个 ACME 协议目前版本是v2,并在2018年支持通配符证书Wildcard Certificate Support is Live。官网主推的客户端是Certbot,任何人都可以...

curl 命令学习使用小结

2020-02-10
阅读 15 分钟
4.8k
curl是利用URL语法在命令行方式下工作的开源文件传输工具。它被广泛应用在Unix、多种Linux发行版中,并且有DOS和Win32、Win64下的移植版本。在日常的开发和问题处理中,经常会使用curl命令来测试http接口,Windows/macOS环境上有很多接口测试的工具比如Postman,但这些工具在Linux平台上使用起来相对不那么便捷。有时候...

AdGuard过滤规则分享

2020-01-21
阅读 2 分钟
12.6k
我和很多人一样一开始用Maxthon傲游浏览器,然后见证了国内第三方浏览器的群雄逐鹿到只剩下360和腾讯,现在也基本回归Google Chrome,广告过滤我也是一路从AdBlock Plus到uBlock Origin然后是现在的AdGuard,无论选择哪种广告过滤方案,持续更新的过滤规则始终是核心。

使用Monit替代Supervisor自动化管理和监控服务小结

2020-01-20
阅读 9 分钟
6k
对于进程的监控最常见的需求就是进程挂了如何被自动拉起来,现在可以由Kubernetes等先进的容器化技术来自动化管理,那原来再物理服务器或者虚拟机中的进程有什么好的办法呢?答案就是Monit/Supervisor等第三方应用来解决,因为线上环境分别使用Monit来监控Core Logical Service,Supervisor用在Codis Dashboard/FE/Proxy...

YAML入门教程

2020-01-09
阅读 4 分钟
3.3k
YAML 是 "YAML Ain't a Markup Language"(YAML 不是一种标记语言)的递归缩写。在开发的这种语言时,YAML 的意思其实是:"Yet Another Markup Language"(仍是一种标记语言)。

Jenkins export and import jobs 迁移导出导入任务实践小结

2020-01-07
阅读 11 分钟
10.7k
我遇到的Jenkins迁移项目并非可以通过简单的物理文件复制就可以轻松解决,需要考虑上千个不同项目的jobs分离,Jenkins 1.x和2.x大版本兼容性,Jenkins Plugins插件,Jenkins Credentials凭证,Jenkins Restrict节点约束,按view分类不同项目的jobs等各种因素。这次对Jenkins迁移做了大量的研究和实践,希望总结出来的方...

Linux后台运行任务nohup结合&用法以及如何精准查找进程并kill后台任务实践

2019-12-12
阅读 6 分钟
9.4k
nohup为什么要跟着&一起使用,不知道大家有没有思考过其中的小区别,另外很多人会推崇使用screen,但是实际生产环境应用场景有限我就不展开了。这次实际遇到的问题主要是因为使用crontab调用了多个不同的nohup后台执行任务,然而代码逻辑中出现对相同文件的占用导致任务进程产生冲突使得system load负载达到600之高...

通俗易懂QPS、TPS、PV、UV、GMV、IP、RPS的概念解释

2019-12-12
阅读 2 分钟
6k
关于 QPS、TPS、PV、UV、GMV、IP、RPS 这些词语,看起来好像挺专业。但实际上,我认为是这是每个程序员必懂的知识点了,你可以搞不懂它们怎么计算的,但是你最少要了解它们分别代表什么意思。

Nginx基础知识从小白到入门

2019-11-13
阅读 3 分钟
5.4k
Nginx现在几乎是众多大型网站的必用技术,大家应该都知道Nginx被F5收购的大事件,章亦春也在专心维护OpenResty项目构建和谐家园,无论你选择Nginx还是OpenResty,都需要对Nginx有一个比较全面的了解,日后才能做到事半功倍。本文以开发者必备的Nginx基础知识为主,在参考文章中罗列了目前比较优秀的Nginx和OpenResty参考...

Linux日志切割神器logrotate原理介绍和配置详解

2019-11-06
阅读 12 分钟
5.5k
在Linux环境中能够帮助我们分析问题蛛丝马迹的有效办法之一便是日志,常见的如操作系统syslog日志/var/log/messages,应用程序Nginx日志/var/log/nginx/*.log。但如果服务器数量较多,日志文件大小增长较快,不断消耗磁盘空间就会触发告警,如果需要人为定期按照各种维度去手动清理日志就显得十分棘手。为了节省空间和方...

macOS使用Homebrew的经验分享

2019-10-16
阅读 6 分钟
5.6k
本来想着macOS使用Homebrew对大家没啥难度,之前就分享了一篇介绍homebrew-bundle备份恢复的文章,不过长期使用后还是觉得有必要做一下总结,道理也很简单,越简单越频繁使用的产品就越值得挖掘一些背自己忽视的小技巧,因为如果可以做到每天节省5分钟那么量变可能会成为质变。

基于bash shell脚本制定灵活的trimlog日志清理策略

2019-10-08
阅读 4 分钟
1.7k
透过Zabbix文件系统监控告警发现日志未定时清理,进一步排查后确认前同事写的trimlog脚本在某些服务器上执行定时任务时出现了异常,review后发现代码逻辑本身没有问题,主要由于cron job在执行date参数时没有使用转义字符导致,不过trimlog.sh这个日志清理脚本代码结构清晰易读,做下共享方便大家参考和二次修改。