一个轻量的批量管理机器的工具pssh,用python写的,python版本大于2.4即可,于是下载试了一下。


     1 下载
1
wget http:
//parallel-ssh
.googlecode.com
/files/pssh-2
.3.1.
tar
.gz

     2 安装

1
2
3
tar
zxvf pssh-2.3.1.
tar
.gz
cd
pssh-2.3.1/
python setup.py 
install

     3 安装结果

1
2
3
4
5
6
changing mode of 
/usr/local/bin/pnuke
to 755
changing mode of 
/usr/local/bin/pscp
to 755
changing mode of 
/usr/local/bin/pslurp
to 755
changing mode of 
/usr/local/bin/pssh
to 755
changing mode of 
/usr/local/bin/pssh-askpass
to 755
changing mode of 
/usr/local/bin/prsync
to 755

    安装完后最后面几行会显示如上结果,显示安装了几个命令,分别安装在哪里。


    4 介绍pssh参数
       -h 执行命令的远程主机列表  或者 -H [email protected]:port  文件内容格式[[email protected]]host[:port]
       -l 远程机器的用户名
       -p 一次最大允许多少连接
       -o 输出内容重定向到一个文件
       -e 执行错误重定向到一个文件
       -t 设置命令执行的超时时间
       -A 提示输入密码并且把密码传递给ssh
       -O 设置ssh参数的具体配置,参照ssh_config配置文件
       -x 传递多个SSH 命令,多个命令用空格分开,用引号括起来
       -X 同-x 但是一次只能传递一个命令
       -i 显示标准输出和标准错误在每台host执行完毕后
       -I 读取每个输入命令,并传递给ssh进程 允许命令脚本传送到标准输入

     5 介绍软件包内其他命令
        pscp   传输文件到多个hosts,他的特性和scp差不多
        pslurp   从多台远程机器拷贝文件
        pnuke    kill远程机器的进程

     6 试用pssh
        在ip.txt 输入你需要执行命令的远程机器,格式:[email protected]:port
        结果如下,注意两个参数-i -P 显示结果的差别






使用zabbix监控磁盘IO

前面的文章介绍了zabbix简单的安装,下面介绍下利用zabbix监控磁盘IO的方法 

默认的 Zabbix 监控模板中,对于磁盘主要是剩余空间之类的监控,对于 IO 方面却没有,好在 Zabbix 提供了丰富的定制功能,可自行添加想要监控的任意内容。具体步骤如下:

1、 在被监控服务器的配置文件(/etc/zabbix/zabbix_agentd.conf)中添加以下内容:

###disk io
UserParameter=custom.vfs.dev.read.ops[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$4}'  
UserParameter=custom.vfs.dev.read.ms[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$7}'  
UserParameter=custom.vfs.dev.write.ops[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$8}'  
UserParameter=custom.vfs.dev.write.ms[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$11}'  
UserParameter=custom.vfs.dev.io.active[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$12}'  
UserParameter=custom.vfs.dev.io.ms[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$13}'  
UserParameter=custom.vfs.dev.read.sectors[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$6}'  
UserParameter=custom.vfs.dev.write.sectors[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$10}'

可以先测试看其是否生效,使用如下命令,看是否正常返回数字。注意在命令行运行时,grep 那里的 $1 需根据自己磁盘设定修改为 sda 或 sdb,awk 那里需去除一个 $ 符号。

cat /proc/diskstats | grep sda | head -1 | awk '{print $4}'

2、被监控主机重启 agent

/etc/init.d/zabbix_agentd_ctl restart

3、在 zabbix server 上测试能否接收数据,将其中的 AgentServerIP 修改为被监控服务器的IP,注意这里是在运行 zabbix 服务端的机器上执行此操作。如果返回的是一串数字则正确,如果返回ZBX_NOTSUPPORTED ,请检查确认被监控主机的 agent 是否有重启,网络端口是否开放。

zabbix_get -s AgentServerIP -p 10050 -k custom.vfs.dev.write.ops[sda]

4、在 zabbix web 配置界面的模板中,导入这里提供的模板。并将此模板关联到要监控的服务器主机上,很快就可以在 Latest data 中看到获取的数据并可画出趋势图了。

模板下载:点此下载

参考链接:Getting hard disk performance stats from zabbix

1:根据进程名显示进程号 [[email protected] ~]# pidof java 31786 25034 11931

2:如何限制用户的最小密码长度

修改/etc/login.defs里面的PASS_MIN_LEN的值。比如限制用户最小密码长度是8: PASS_MIN_LEN 8

3:如何使新用户首次登陆后强制修改密码

useradd -p ” testuser; chage -d 0 testuser

4:更改Linux启动时用图形界面还是字符界面

cd /etc vi inittab 将id:5:initdefault: 其中5表示默认图形界面 改id:3: initdefault: 3表示字符界面

5:禁止在后台使用CTRL-ALT-DELETE重起机器

cd /etc/inittab vi inittab 在文件找到下面一行

Trap CTRL-ALT-DELETE

ca::ctrlaltdel:/sbin/shutdown -t3 -r now (注释掉这一行) 如: # Trap CTRL-ALT-DELETE

ca::ctrlaltdel:/sbin/shutdown -t3 -r now

6:防止任何人使用su 命令成为root

vi /etc/pam.d/su,在开头添加下面两行: auth sufficient /lib/security/pam_rootok.so auth required /lib/security/Pam_wheel.so group=wheel 然后把用户添加到”wheel”组:chmod -G10 usernam

7:设定登录黑名单

vi /etc/pam.d/sshd 增加 auth required /lib/security/pam_listfile.so item=user sense=deny file=/etc/sshd_user_deny_list onerr=succeed 所有/etc/sshd_user_deny_list里面的用户被拒绝ssh登录

8:禁止某个用户通过ssh登录

在/etc/ssh/sshd_conf添加 AllowUsers 用户名 或者 AllowGroups 组名 或者 DenyUsers 用户名

9:只允许某个IP登录,拒绝其他所有IP

在 /etc/hosts.allow 写: sshd: 1.2.3.4 在 /etc/hosts.deny 写: sshd: ALL 用 iptables 也行: iptables -I INPUT -p tcp -dport 22 -j DROP iptables -I INPUT -p tcp -dport 22 -s 1.2.3.4 -j ACCEPT

10:实现RedHat非正常关机的自动磁盘修复

先登录到服务器,然后在/etc/sysconfig里增加一个文件autofsck,内容如下: AUTOFSCK_DEF_CHECK=yes PROMPT=yes

1:根据进程名显示进程号 [[email protected] ~]# pidof java 31786 25034 11931

2:如何限制用户的最小密码长度

修改/etc/login.defs里面的PASS_MIN_LEN的值。比如限制用户最小密码长度是8: PASS_MIN_LEN 8

3:如何使新用户首次登陆后强制修改密码

useradd -p ” testuser; chage -d 0 testuser

4:更改Linux启动时用图形界面还是字符界面

cd /etc vi inittab 将id:5:initdefault: 其中5表示默认图形界面 改id:3: initdefault: 3表示字符界面

5:禁止在后台使用CTRL-ALT-DELETE重起机器

cd /etc/inittab vi inittab 在文件找到下面一行

Trap CTRL-ALT-DELETE

ca::ctrlaltdel:/sbin/shutdown -t3 -r now (注释掉这一行) 如: # Trap CTRL-ALT-DELETE

ca::ctrlaltdel:/sbin/shutdown -t3 -r now

6:防止任何人使用su 命令成为root

vi /etc/pam.d/su,在开头添加下面两行: auth sufficient /lib/security/pam_rootok.so auth required /lib/security/Pam_wheel.so group=wheel 然后把用户添加到”wheel”组:chmod -G10 usernam

7:设定登录黑名单

vi /etc/pam.d/sshd 增加 auth required /lib/security/pam_listfile.so item=user sense=deny file=/etc/sshd_user_deny_list onerr=succeed 所有/etc/sshd_user_deny_list里面的用户被拒绝ssh登录

8:禁止某个用户通过ssh登录

在/etc/ssh/sshd_conf添加 AllowUsers 用户名 或者 AllowGroups 组名 或者 DenyUsers 用户名

9:只允许某个IP登录,拒绝其他所有IP

在 /etc/hosts.allow 写: sshd: 1.2.3.4 在 /etc/hosts.deny 写: sshd: ALL 用 iptables 也行: iptables -I INPUT -p tcp -dport 22 -j DROP iptables -I INPUT -p tcp -dport 22 -s 1.2.3.4 -j ACCEPT

10:实现RedHat非正常关机的自动磁盘修复

先登录到服务器,然后在/etc/sysconfig里增加一个文件autofsck,内容如下: AUTOFSCK_DEF_CHECK=yes PROMPT=yes