CentOS 7.x 升级系统内核
安装EPEL源$ rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org$ yum install -y https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
内核升级查看内核版本并安装最新版本(这里安装LT长期支持的版本 5.4.225 ):
$ yum --disablerepo="*" --enablerepo="elrepo-kernel" list availableLoaded plugins: fastestmirrorLoading mirror speeds from cached hostfile * elrepo-kernel: mirrors.tuna.tsinghua.edu.cnAvailable Packageskernel-lt.x86_64 ...
Redis 内存分析工具
一、bigKeysbigKeys是 redis-cli 自带的命令选项,可以对整个Redis实例进行扫描,找出较大的Key。
使用示例$ redis-cli --bigkeys# Scanning the entire keyspace to find biggest keys as well as# average sizes per key type. You can use -i 0.01 to sleep 0.01 sec# per SCAN command (not usually needed).[00.00%] Biggest string found so far 'key-419' with 3 bytes[05.14%] Biggest list found so far 'mylist' with 100004 items[35.77%] Biggest string found so far 'counter:__rand_int__' with 6 bytes[73.91%] Biggest h ...
MySQL 慢查询日志过滤和告警
按时间段过滤截取MySQL慢查询日志内容,上传截取内容到腾讯云COS,并通发送告警到钉钉群。开发和运维人员可以通过告警内容中的COS链接地址查看慢查询详细信息。
慢查询原日志内容# Time: 2022-10-20T03:21:02.257596Z# User@Host: appuser_prod_rw[appuser_prod_rw] @ [172.22.0.111] Id: 7691255# Query_time: 1.159538 Lock_time: 0.000079 Rows_sent: 0 Rows_examined: 1804396SET timestamp=1666236062;SELECT xxxxxxxxxxxxxxxxxxxxxxx FROM xxxxxx WHERE (xxx = 4317404);# Time: 2022-10-20T03:21:03.933240Z# User@Host: appuser_prod_rw[appuser_prod_rw] @ [172.22.0.111] Id: 7691437# Query_time: 2. ...
ArgoCD + SOPS + AGE 实现 Helm Chart 安全
8373c169ded54a2da593c35aed9a0c85b7c83daac385bfc4ae41f504cad7f5c2f29758917072eae4ecc96a74fbc761f956189fab3cb3fa845c70581705becb7b747a944db5e893ae9cdbca7b9de7cc2392887493aa74e07dd12f6ac55b5e71736301b075d57932472d1e86d0da37dc52d6682a0bcdbd3a9514a7886e599faf36c26872cc2c9afd9fbc180a8c7b297b927146ffba0165d8a07598079026cf235d7e0209557414cc7ff65b0e44ecd54b5e8d25106e512b46255f0deb1739e65c8c0846b818dacb59dea84395a8195f94943b54ad39ac392b26d6bb95b709df1566e312a91a53385d5ab24ddf312af8b7c6ac5a1ec728dd7a725 ...
CentOS 7.6 编译安装 Git 2.x.x
卸载旧版本Git$ yum remove -y git
下载Git源码包$ wget --no-check-certificate https://www.kernel.org/pub/software/scm/git/git-2.36.2.tar.gz
安装依赖包$ yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel$ yum install -y gcc perl-ExtUtils-MakeMaker# 解决 SSL connect error$ yum update -y nss curl libcurl
编译安装新版本Git# 解压缩软件包$ tar -zxvf git-2.36.2.tar.gz$ cd git-2.36.2# 创建要安装的目录$ mkdir -p /usr/local/git# 编译安装$ ./configure --prefix=/usr/local/git$ make && make install
添加环境变 ...
Linux 编译安装 Python3.8
下载源码包进入Python官网,下载指定版本的源码包。
这里以python3.8.13为例:
$ wget https://www.python.org/ftp/python/3.8.13/Python-3.8.13.tgz
编译源码安装编译所需的依赖:
$ yum install -y gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
进行编译安装:
$ tar xf Python-3.8.13.tgz$ cd Python-3.8.13$ ./configure --prefix=/usr/local/python3.8/ # /usr/local/python3.8/ 是安装的目录$ make && make install
配置环境变量$ echo -e " ...
使用 Keepalived 实现 Ingress Controller 高可用
8373c169ded54a2da593c35aed9a0c85b7c83daac385bfc4ae41f504cad7f5c22ec129a73adfa8ead70b921abb2850bbccc17b496a174b4634ca33167167cfec89ccfb675a6d92f72500b7ed793b3e485e1653117bbf251437288a48670a539ddf9117d3dff1b08d02c00acf63db9ada321fbf99eaa2ac4f20f6fbdd5f6dc9e3af4833dc9193acd2933dc20443e61fb98009be8b55784975da1ec35277391cb8ba9b28f9e9191dee78da3bdb864f0c5ce847e7365c89ce206f646667600e64e9fcf35f6502f8664ac29907d637db44ed86f7aff158a51960c2e70b9533709085a055441a8bb10fff473002e18b706dff468d721a9cb0040b2 ...
修改 Keepalived 日志输出位置
Keepalived 日志默认只输出到 /var/log/messages 文件中。由于 /var/log/messages 中记录了系统中其他服务的相关日志,日志内容刷新比较快,不便于观察,这里修改日志存储到一个单独文件中。
注意:修改keepalived日志输出路劲涉及到了重启keepalived服务,线上环境建请合理安排重启时间。
1.配置Keepalived日志输出信息修改 /etc/sysconfig/keepalived 配置文件,把 KEEPALIVED_OPTIONS="-D" 修改为: KEEPALIVED_OPTIONS="-D -d -S 0" 。
$ cat /etc/sysconfig/keepalived # Options for keepalived. See `keepalived --help' output and keepalived(8) and# keepalived.conf(5) man pages for a list of all options. Here are the mos ...
MySQL 慢日志切割
新建 MySQL 用户创建用于刷新日志的 MySQL 账号,并对账号权限加以限制。
> GRANT RELOAD ON *.* TO 'flushlogs_user'@'localhost' IDENTIFIED BY '123456';> FLUSH PRIVILEGES;
刷新 MySQL 慢日志刷新MySQL慢查询日志,慢查询日志类型为 slow
# 方式一$ mysqladmin -u$DBUser -P$DBPass -S /data/server/mysql/tmp/mysql.sock flush-logs slow# 方式二$ mysqladmin -u$DBUser -P$DBPass -h $DBHost -P $DBPort flush-logs slow
注意:
在刷新 slow log 前,需要先把文件重命名,否则mysql不会生成新的 slow log 文件。
由于在Linux系统中存在“文件描述符”的概念,即使重命名了 slow log 文件,mysql进程依然会把新产生的 ...
MySQL 数据库回档方案
操作场景对于自建数据库 MySQL,在误操作造成数据损坏时,进行数据修复相对来说是比较麻烦的。在公有云上的云数据 MySQL,基本上都会提供数据回档的功能,只需要在控制台简单操作即可。
这里参考了腾讯云数据库的回档方案,结合公司当数据库集群架构以及数据库备份方案制定了较为简单、安全的 MySQL 的回档方案:
此回档方案只支持对数据库或表进行回档操作,回档是基于 数据备份 + 日志备份(binlog),可进行实时数据回档。
自建数据库 MySQL 回档通过定期全量物理热备(这里使用XtraBackup工具进行全备)和 binlog 日志重建,将数据库或表回档到指定时间,期间原有数据库或表的访问不受影响,回档操作会产生新的数据库或表至原实例中。回档完后,在原实例中可以看到原来的数据库或表,以及新建的数据库或表。
XtraBackup 工具使用请参考:《MySQL 备份与恢复》
功能原理回档基于最近一次备份文件 + 对应的 binlog回档到指定时间点。
备份系统每天会从 MySQL 备机导出数据到备份系统。
回档时,首先需要新建一台回档实例,然后从备份系统导出备份数据并导入临时实例( ...