服务器资源使用情况数据收集常用命令

queue length and load averages: sar -q -f /var/log/sa/sa$D CPU utilization: sar -u -f /var/log/sa/sa$D swapping statistics: sar -W -f /var/log/sa/sa$D paging statistics: sar -B -f /var/log/sa/sa$D memory utilization statistics: sar -r -f /var/log/sa/sa$D activity for each block device: sar -d -p -f /var/log/sa/sa$D network statistics: sar -n DEV -f /var/log/sa/sa$D top 30 cpu usage … Read more

reset slave,reset slave all,reset master

1、reset slave  1)清理掉master.info  2)清理relay-log.info  3)删除所有的relay log文件,重启用一个新的relay log文件  4)不清理内存里的同步复制配置信息。清除slave 复制时的master binlog的位置,重置复制延迟(CHANGE MASTER TO 的 MASTER_DELAY参数指定的)为0,不会改变复制连接使用的参数,例如master host, master port, master user, or master password  5)不重置 gtid_executed or gtid_purged 参数值 2、reset slave all  1)清理掉master.info  2)清理relay-log.info  3)删除所有的relay log文件,重启用一个新的relay log文件  4)立即清理内存里的同步复制配置信息。这一点很有用:提升从库为主库,特别是在集群迁移中,新集群的新主库同步了旧集群的旧主库后,需要断开,则执行       stop slave;       reset slave all;       show slave status\G;       此时真正实现了清除slave同步复制关系!       # mysql主从复制中,需要将从库提升为主库,需要取消其从库角色,这可通过执行RESET SLAVE ALL清除从库的同步复制信息、包括连接信息和二进制文件名、位置。从库上执行这个命令后,使用show slave status将不会有输出。 … Read more

dns常用测试工具使用

1 dig命令: # dig -help Usage:  dig [@global-server] [domain] [q-type] [q-class] {q-opt}             {global-d-opt} host [@local-server] {local-d-opt}             [ host [@local-server] {local-d-opt} […]] Where:  domain       is in the Domain Name System         q-class  is one of (in,hs,ch,…) [default: in]         q-type   is one of (a,any,mx,ns,soa,hinfo,axfr,txt,…) [default:a]                  (Use ixfr=version for type ixfr) # dig … Read more

MySQL最佳安全配置指导手册

本文旨在帮助用户在快速完成 MySQL 部署后,只需要很少的时间就可以完成 MySQL的安全配置。这些安全配置可以帮助用户抵御大多数常用形式的黑客攻击行为。本文选取MySQL5.7 版本+Linux 系统作为安全配置演示对象。所有安全配置项都会展示检测方式和修补方法。以帮助用户快速判断是否存在配置问题并进行修补。 说明:本文档中安全配置项仅供参考,部分配置项需结合实际环境及测试验证正常方可应用到生产环境中。 1操作系统级别安全配置 本节包含和MySQL数据库所运行的操作系统密切相关的安全配置项 1.1确保数据文件在非系统分区 建议理由: 操作系统上有明确的系统分区和非系统分区。如果数据文件在系统分区,会提高整个系统因为磁盘空间用尽发生拒绝服务的几率。 检查手段: (1)进入数据库执行下列语句 show variables where variable_name = ‘datadir’; (2)df –h <上面的地址返回值> 如果发现结果中存在/ /var /usr说明数据文件在系统分区建议换区 修复建议:迁移走数据文件 (1)停止数据库服务 service MySQL stop (2)拷贝数据文件到非系统分区 cp –rp <老地址> <新地址> (3)修改MySQL配置文件中datadir的值成新地址 (4)启动MySQL数据库 service MySQL start 1.2确保MySQL操作系统账号权限最小化 建议理由: MySQL在操作系统上的账号权限最小化有助于减小MySQL数据库漏洞造成的影响。防止黑客利用MySQL漏洞入侵操作系统,造成更大损失。 检查手段: 假设MySQL账号为MySQL ps -ef | egrep “^MySQL.*$” 如果没有返回行,则权限存在问题 修复建议:创建一个仅用于运行MySQL和直接相关进程的用户。 1.3禁止MySQL链接历史记录 建议理由: … Read more

使用nethogs查看进程网络带宽使用情况

Nethogs是一个终端下的网络流量监控工具,它的特别之处在于可以显示每个进程的带宽占用情况,这样可以更直观获取网络使用情况。 1 安装 根据具体环境可选择如下3种安装方式中的一种进行安装。 (1)yum安装 yum install nethogs (2)rpm包安装 根据操作系统版本下载相应的包: CentOS7:https://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/n/nethogs-0.8.5-1.el7.x86_64.rpm CentOS8:https://download-ib01.fedoraproject.org/pub/epel/8/Everything/x86_64/Packages/n/nethogs-0.8.5-9.el8.x86_64.rpm 安装: rpm -ivh nethogs-*.rpm (3)源码编译安装 a.确认及安装依赖组件: # yum install libpcap libpcap-devel gcc* ncurses* b.下载源码包: # wget https://github.com/raboof/nethogs/archive/refs/tags/v0.8.6.tar.gz c.编译安装: # tar xf v0.8.6.tar.gz # cd nethogs-0.8.6 # make && make install 注:默认安装后的路径是/usr/local/sbin/nethogs 2 用法 # nethogs 示例输出: 3 参数 usage: nethogs [-V] [-h] [-b] … Read more

RHEL7.8安装NVIDIA显卡驱动

1 环境信息 服务器型号:DELL PE R740 显卡型号:GeForce RTX 2080 Ti 操作系统版本:RedHat Enterprise Linux 7.8 2 安装步骤 2.1 关闭secure boot 重启服务器,进入BIOS,找到seure boot,将 “Enable” 改为 “Disable”。 2.2 查看系统是否存在NVIDIA驱动 lspci | grep -i nvidia 官网https://www.nvidia.cn/Download/index.aspx?lang=cn下载NVIDIA驱动 根据显卡型号,选择适合主机linux的驱动,点击搜索后进行下载 2.3 禁用Nouveau驱动 (1)查看nouveau是否运行:lsmod | grep nouveau (2)修改 /lib/modprobe.d/dist-blacklist.conf 文件: 将nvidiafb注释掉: #blacklist nvidiafb 添加两行: blacklist nouveau options nouveau modeset=0 (3)修改 /etc/default/grub 文件: 在GRUB_CMDLINE_LINUX中添加: rd.driver.blacklist … Read more

php-fpm进程相关参数调整

说明:PHP版本为5.6.40,文中配置路径及文件因实际安装配置方式的不同可能有所差异,仅供参考。 1 问题描述: 1.1 XX项目某系统采用nginx+php作为webserver,在使用过程中经常出现访问后台管理页面响应缓慢,甚至无法打开的现象。 1.2 检查Nginx访问日志,发现502状态码,举例如下: 21.5.116.237 – – [19/Aug/2021:10:01:25 +0800] “POST /adminhd/public/Cdrrecord/index HTTP/1.1” 404 555 14.151 14.151 “http://16.5.32.119/adminqd/Pages/serviceconfig/Recordingservice/Manualrecording.html?T=1629336469931&id=101” “Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36(KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36” “-“”502”     “127.0.0.1:8900”  “16.5.32.119” 上述日志中8900为php-fpm监听端口。 1.3 检查php-fpm日志(/usr/local/php/var/log/php-fpm.log),发现如下告警信息: [19-Aug-2021 14:29:23]WARNING:[pool www] server reached pm.max_children setting (5),consider raising it 2 处理步骤: 2.1 根据上述问题描述1.3查看服务器php-fpm配置文件,并调整参数值。 打开/usr/local/php/etc/php-fpm.conf配置文件,调整如下参数: pm = dynamic调整为pm … Read more

Nginx日志切割方法

方法1:使用自定义脚本 方法1优点:可精确定义切割时间,切割后的日志里只包含相应时段的内容,便于查阅管理。如access.log-20210816只包含20210816的日志内容。 脚本内容如下: cat nginx_log_rotate.sh #!/bin/bash DATE=`date -d “-1 day” +%Y%m%d` LOGDIR=”/app/nginx/log/” NGINX_PID=”/app/nginx/run/nginx.pid” cd $LOGDIR for log in `find . -name “*.log”` do  mv $log $log-$DATE done /bin/kill -USR1 `cat $NGINX_PID` find . -name “*.log-*” -mtime +30 | xargs rm -f 设置定时任务: # crontab -e 0 0 * * * /bin/bash /app/ops/nginx_log_rotate.sh >/dev/null 2>&1 经上述设置后,每天0点对/app/nginx/log/目录的下*.log日志文件进行切割,并保留30天内的切割日志。 … Read more

如何调整格式化为XFS文件系统的LVM分区大小

一、环境说明 如图示实例,红色箭头所指/usr空间已使用80%,对应的LVM分区为rootvg-usr。如何对rootvg-usr分区扩容? 图示实例中rootvg-usr所属的卷组为rootvg,尚有不到6GB的剩余可用空间用于扩容。 若PFree为0,如何对rootvg-usr扩容? 可通过缩减卷组rootvg下其他LVM分区大小(如rootvg-tivoli),腾出可用空间给rootvg-usr去扩容。 下面通过实验环境进行验证并给出具体操作步骤,实验环境如图示: 实验目标:缩减/tivoli空间大小(8GB->4GB),增加/usr空间大小(6GB->10GB)。 二、操作步骤 2.1缩减/tivoli空间大小(8GB->4GB) 2.1.1使用xfsdump备份/tivoli下数据 安装xfsdump: # yum install xfsdump -y 备份数据到/app下: # xfsdump -f /app/tivoli.dump /tivoli 提示输入label时不可忽略,过程如下: xfsdump: using file dump (drive_simple) strategy xfsdump: version 3.1.7 (dump format 3.0) – type ^C for status and control  ============================= dump label dialog ============================== please enter label for this dump session (timeout in … Read more

MySQL数据导出导入

———库操作——— 1.①导出一个库结构 mysqldump -d dbname -u root -p > xxx.sql ②导出多个库结构 mysqldump -d -B dbname1 dbname2 -u root -p > xxx.sql 2.①导出一个库数据 mysqldump -t dbname -u root -p > xxx.sql ②导出多个库数据 mysqldump -t -B dbname1 dbname2 -u root -p > xxx.sql 3.①导出一个库结构以及数据 mysqldump dbname1 -u root -p > xxx.sql ②导出多个库结构以及数据 mysqldump -B dbname1 dbname2 -u … Read more