存档

‘Linux配置管理工具’ 分类的存档

自动化运维工具puppet安装配置

2017年2月21日 评论已被关闭

自动化运维工具puppet安装配置
http://blog.csdn.net/linuxlsq/article/details/50838189
1. 准备工作

两台机器:
192.168.1.100(服务端)
192.168.1.101 (客户端)
两台机器关闭selinux,清空iptables规则,并保存,设置hostname

100上
hostname master.aming.com
编辑/etc/sysconfig/network 定义hostname

101上
hostname client.aming.com
编辑/etc/sysconfig/network 定义hostname
重启服务器

编辑hosts文件
100和101全部为
192.168.1.100 master.aming.com
192.168.1.101 client.aming.com
安装ntpdate,并建立自动同步时间的任务计划:
yum install -y ntp
crontab -e //加入
*/10 * * * * ntpdate time.windows.com
2. 服务端安装

安装puppet 源
rpm -ivh http://yum.puppetlabs.com/el/6/products/x86_64/puppetlabs-release-6-7.noarch.rpm

安装服务端程序
yum install -y puppet-server
启动服务
service puppetmaster start

开机启动
chkconfig puppetmaster on

3. 客户端安装

安装puppet 源
rpm -ivh http://yum.puppetlabs.com/el/6/products/x86_64/puppetlabs-release-6-7.noarch.rpm

安装客户端程序
yum install -y puppet

修改配置文件
vi /etc/puppet/puppet.conf
在最后面添加:
listen = true
server = master.aming.com
runinterval = 30 //主动更新,每隔30s

然后启动puppet服务
/etc/init.d/puppet start

手动生成ssl证书
puppet agent –test –server master.aming.com

4. 服务端查看,签发客户端的证书

puppet cert list –all
会看到client.aming.com 的key,正常应该会在行首有一个+,如果没有说明还没有签发

签发客户端
puppet cert –sign client.aming.com

5. 测试

服务端上
vi /etc/puppet/manifests/site.pp
加入如下内容:
node default {
file {
“/tmp/123.txt”: content => “test,test”;
}
}
客户端上
puppet agent –test –server master.aming.com
这样会在客户端上生成一个 /tmp/123.txt的文件,并且内容为 testtest
6. 配置自动签发证书

服务端上删除客户端证书
puppet cert clean client.aming.com

客户端上删除ssl下的文件
rm -rf /var/lib/puppet/ssl/*

服务端更改配置文件
vim /etc/puppet/puppet.conf在[main]下面加一行
autosign = true
服务端创建自动签发的配置文件
vim /etc/puppet/autosign.conf
加入如下内容:
*.aming.com

重启puppetmaster服务
/etc/init.d/puppetmaster restart

客户端重启puppet服务
/etc/init.d/puppet restart

这样就能在服务端上自动签发证书了。当然不重启服务,手动连一下服务端也可以
客户端执行:
puppet agent –test –server master.aming.com

扩展: puppet更新方式 http://www.cnphp6.com/archives/66975

7. 模块管理

首先要理解几个概念,模块、类、资源。 模块是puppet的最大单元,模块里面有类,类下面有资源。 puppet管理的文件、用户、服务、任务计划等全部由这些单元组成。

下面我们来定义一个模块:
在服务端上做如下操作:
mkdir /etc/puppet/modules/testm //模块名字就是testm
cd !$
mkdir {files,manifests,templates} //一个模块下需要有这三个目录,files存一些文件(可以为空),manifests存配置文件,templates存模板(可以留空)
touch manifests/init.pp //这个是必须的
vi manifests/init.pp //内容如下
class testm{
file {“/tmp/2.txt”:
owner => “root”,
group => “root”,
mode => 0400,
source => “puppet://$puppetserver/modules/testm/1.txt”
}
}

说明:类名字也叫做testm, 类下面定义了一个资源file,文件名字叫做/tmp/2.txt ,owner,group,mode定义文件的属主、数组以及权限,source定义这个文件从哪里获取。 $puppetserver一会也要定义一下,这里指的是puppet server服务器上/etc/puppet/modules/testm/files/1.txt

下面要继续定义一个很关键的配置文件:
vim /etc/puppet/manifests/site.pp //内容如下
$puppetserver = ‘master.aming.com’

node ‘client.aming.com'{
include testm
}
说明:$puppetserver 定义服务端的主机名,node后面为客户端的主机名,这里面定义该客户端要加载的模块
配置完成后,在客户端执行命令:
puppet agent –test –server=master.aming.com //如果客户端上启动了puppet服务,不用执行这命令,它也会自动同步的
上面的模块其实只是同步了一个文件而已,那么要想同步一个目录如何做?我们可以通过实现同步一个目录来做一个包发布系统。 比如在一台机器上编译安装好了apache,那么就可以通过这样的模块把这个apache目录整个分发到其他机器上。

模块配置文件如下:
class apache{
file {“/usr/local/apache2”:
owner => “root”,
group => “root”,
source => “puppet://$puppetserver/modules/apache/apache2”,
recurse => true,
purge => true

}
}
其中recurse=>true 这个参数很关键,它表示递归的意思,没有这个不能同步目录。purge参数可以保证当服务端删除某个文件,客户端可以跟着删除。

远程执行命令:
exec {“123”:
unless => “test -f /tmp/aminglinux.txt”,
path => [“/bin”, “/sbin”, “/usr/bin”, “/usr/sbin”],
command => “/bin/touch /tmp/aminglinux.txt”
}
说明:unless后面的命令作为一个条件,当条件成立时,不会执行下面的命令,如果想要条件成立时,执行下面的命令,用 onlyif。要注意的是,我们一定要给执行的这条命令加个条件,使用unless就可以,必须满足这个条件才能执行命令,否则这个命令会一直执行,不太妥当。
cron资源:
cron {“aming1”:
command => “/sbin/ntpdate time.windows.com”,
user => “root”,
minute => “*/10”,
# ensure => “absent” //当增加了这行配置,则会把该cron删除掉
}

说明:分时日月周分别对应puppet里面的minute,hour,monthday,month,weekday
扩展学习 http://blog.chinaunix.net/uid-20639775-id-3314583.html

资源:

package http://puppet.wikidot.com/package
service http://puppet.wikidot.com/srv
exec http://puppet.wikidot.com/exec
cron http://puppet.wikidot.com/cron

saltstack快速安装

2016年5月17日 评论已被关闭

saltstack快速安装

http://www.ttlsa.com/saltstack/install-saltstack-on-linux/

过几天就要离开这家公司了,原先计划做的自动化还没完成,群主推荐了saltstack,上网对比了相关软件puppet和func. 决定选择他来做自动化.前后研究了几天,今天把公司的服务器都上了saltstack,今天先分享下saltstack的简单安装方法.

以下是redhat6和centos6的安装过程, centos5的同学直接跳到后面.超快的安装方法.

1. 安装源

1.1 安装epel源

1.2 安装rpmforge

这步很重要,在redhat 6和centos 6的epel源上没有python-jinja2,一开始安装变卡在这了.

2. 安装依赖包

3  安装saltstack

只需要一台安装master即可,其他的全部安装minion.

3.1 安装salt-master

3.2 安装salt-minion

4. 配置saltstack

4.1 minion配置

看清楚了master前面有两个空格,这行代码表示我要连接的saltstack的master是192.168.0.2

4.2 master配置

master监听192.168.0.2,老样子前面也是有两个空格,否则启动的时候会报错.

5. 启动saltstack

5.1 启动master

5.2 启动minion

6. 测试saltstack

接下来的命令都在master上执行

6.1 查看minion列表

 

6.2 接受所有key

在提示中提示y确认即可.接下来便可以向minion发送命令了

6.3 简单测试

7. 附加redhat5的安装方法

如果你是redhat 5版本,走下面的操作

1. 快速安装minion的方法

2. 常规安装方法

2.1 安装源

2. 2 安装salt-minion

2.3 .  安装salt-master

8.  结束语

salt的安装方法相比puppet简单很多,担心初学者犯糊涂所以本没有讲太多的配置,着重讲安装,最后在来了一个简单test.ping测试. 后续的文章大家可以关注咱们的ttlsa以及saltstack中文网,当然还有官方站点

更多saltstack学习资料:《saltstack自动化运维

9. 参考网址

saltstack中文站:http://wiki.saltstack.cnsaltstack
官方站:http://www.saltstack.com
saltstack运维生存时间:http://www.ttlsa.com

利用Cobbler批量布署CentOS

2016年5月17日 评论已被关闭

利用Cobbler批量布署CentOS

http://kerry.blog.51cto.com/172631/648430/

从事网游运维的兄弟们应该深有感触,往往在开新服的时候需要大批量的布署新的服务器,时间紧迫而且量大,装系统、初始化,枯燥而又乏味,有时还容易出错,为了解放我们的双手,所以要实现自动化,Red Hat 最新发布了网络安装服务器套件 Cobbler(补鞋匠)集成了PXE、DHCP、DNS、Kickstart服务管理和yum仓库管理工具,相对之前的 Kickstart 更加快捷、方便的批量布署red hat、centos类系统
1、安装rpmforce源
CentOS 5.5默认的Repository里找不到Cobbler,先安装rpmforce这个Repository
cd /opt
wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.i386.rpm
rpm -ivh rpmforge-release-0.5.2-2.el6.rf.i686.rpm

2、安装相关软件
yum -y install cobbler dhcp httpd xinetd tftp-server

3、检查cobbler配置
cobbler check

根椐提示修改配置文件
/var/lib/cobbler/settings 中的 server 和 next_server 对应的127.0.0.1修改为本服务器的 IP 地址,
manage_dhcp 设为 1,以便管理 DHCP


将 /etc/xinetd.d/tftp 中 disable = no

4、导入精简后的ISO
mkdir -p /mnt/iso
mount -o loop /data/KerryOS-1.0-i386.iso /mnt/iso
cobbler import –mirror=/mnt/iso –name=kerryOS-1.0-i386

查看导入结果
cobbler distro list


5、修改 DHCP 和 Kickstart 配置模板
#修改DHCP配置模板
vi /etc/dhcpd.conf
vi /etc/cobbler/dhcp.template

  1. ddns-update-style interim;
  2. allow booting;
  3. allow bootp;
  4. ignore client-updates;
  5. set vendorclass = option vendor-class-identifier;
  6. subnet 192.168.9.0 netmask 255.255.255.0 {
  7.      option routers          192.168.9.1;   #路由器地址
  8.      option subnet-mask      255.255.255.0;  #子网掩码选项
  9.      option domain-name-servers  192.168.9.1;  #DNS地址
  10.      range dynamic-bootp     192.168.9.200 192.168.9.254;  #动态IP范围
  11.      filename                “/pxelinux.0”;
  12.      default-lease-time      21600;     #缺省租约时间
  13.      max-lease-time          43200; #最大租约时间
  14.      next-server             192.168.9.230;  #指定引导服务器
  15. }

#修改 Kickstart 配置模板
mv /var/www/cobbler/kickstarts/kerryOS-1.0-i386/ks.cfg /var/www/cobbler/kickstarts/kerryOS-1.0-i386/ks.cfg.bak
mv /var/www/cobbler/kickstarts/kerryOS-1.0-xen-i386/ks.cfg /var/www/cobbler/kickstarts/kerryOS-1.0-xen-i386/ks.cfg.bak
vi /etc/cobbler/default.ks
vi /var/www/cobbler/kickstarts/kerryOS-1.0-i386/ks.cfg
vi /var/www/cobbler/kickstarts/kerryOS-1.0-xen-i386/ks.cfg

  1. # Kickstart file automatically generated by anaconda.
  2. #Install OS instead of upgrade
  3. install
  4. #Use text mode install
  5. text
  6. #Use CDROM installation media
  7. cdrom
  8. lang en_US.UTF-8
  9. keyboard us
  10. #Skip the X Configuration
  11. skipx
  12. #Use network installation
  13. url –url=http://192.168.9.230/cobbler/ks_mirror/kerryOS-1.0-i386
  14. #Network information
  15. #network –device eth0 –bootproto static –ip 192.168.9.226 –netmask 255.255.255.0 –gateway 192.168.9.1 –nameserver 192.168.9.1 –noipv6 –onboot=yes –hostname kerry-web-001
  16. network –device eth0 –bootproto dhcp –noipv6 –hostname kerry-web-001
  17. #root — 1q2w3e
  18. rootpw –iscrypted $1$n07CbCot$GP.VBeICPHj.QkJb5Y2C2.
  19. firewall –disabled
  20. #System authorization information
  21. authconfig –enableshadow –enablemd5
  22. selinux –disabled
  23. timezone –utc Asia/Shanghai
  24. #System bootloader configuration
  25. bootloader –location=mbr
  26. #Clear the Master Boot Record
  27. zerombr yes
  28. # Set the Mouse
  29. mouse generic3ps/2
  30. # The following is the partition information you requested
  31. # Note that any partitions you deleted are not expressed
  32. # here so unless you clear all partitions first, this is
  33. # not guaranteed to work
  34. #Partition clearing information
  35. clearpart –all –initlabel
  36. part /boot –fstype ext3 –size=200 –asprimary
  37. part / –fstype ext3 –size=10000
  38. part swap –size=2048
  39. part /data –fstype ext3 –size=1 –grow
  40. #— Reboot the host after installation is done
  41. reboot
  42. %packages
  43. %packages
  44. @base
  45. @core
  46. @development-libs
  47. @development-tools
  48. @editors
  49. @text-internet
  50. keyutils
  51. trousers
  52. fipscheck
  53. device-mapper-multipath
  54. imake
  55. %post –nochroot
  56. # Mount CDROM
  57. mkdir -p /mnt/cdrom
  58. mount -r -t iso9660 /tmp/cdrom /mnt/cdrom
  59. cp /mnt/cdrom/ipmod /mnt/sysimage/root/ipmod > /dev/null
  60. umount /mnt/cdrom
  61. %post
  62. #vim syntax on
  63. sed -i “8 s/^/alias vi=‘vim’/” /root/.bashrc 2>/dev/null
  64. echo ‘syntax on’ > /root/.vimrc 2>/dev/null
  65. #init_ssh
  66. ssh_cf=“/etc/ssh/sshd_config”
  67. sed -i -e ’74 s/^/#/’ -i -e ’76 s/^/#/’ $ssh_cf
  68. sed -i “s/#UseDNS yes/UseDNS no/” $ssh_cf
  69. #client
  70. sed -i -e ’44 s/^/#/’ -i -e ’48 s/^/#/’ $ssh_cf
  71. # Remove the ISO File translation files
  72. find / -name TRANS.TBL -exec rm {} \; /dev/null 2>/dev/null
  73. # Remove some unneeded services
  74. #——————————————————————————–
  75. cat << EOF
  76. +————————————————————–+
  77. | === Welcome to Tunoff services === |
  78. +————————————————————–+
  79. EOF
  80. #———————————————————————————
  81. for i in `ls /etc/rc3.d/S*`
  82. do
  83.     CURSRV=`echo $i|cut -c 15-`
  84. echo $CURSRV
  85. case $CURSRV in
  86.         crond | irqbalance | microcode_ctl | network | random | sshd | syslog | local )
  87.     echo “Base services, Skip!”
  88.     ;;
  89.     *)
  90.         echo “change $CURSRV to off”
  91.         chkconfig –level 235 $CURSRV off
  92.         service $CURSRV stop
  93.     ;;
  94. esac
  95. done
  96. # file descriptors
  97. ulimit -HSn 65535
  98. echo -ne “
  99. * soft nofile 65536
  100. * hard nofile 65536
  101. ” >>/etc/security/limits.conf
  102. #set sysctl
  103. true > /etc/sysctl.conf
  104. cat >> /etc/sysctl.conf << EOF
  105. net.ipv4.ip_forward = 0
  106. net.ipv4.conf.default.rp_filter = 1
  107. net.ipv4.conf.default.accept_source_route = 0
  108. kernel.sysrq = 0
  109. kernel.core_uses_pid = 1
  110. net.ipv4.tcp_syncookies = 1
  111. kernel.msgmnb = 65536
  112. kernel.msgmax = 65536
  113. kernel.shmmax = 68719476736
  114. kernel.shmall = 4294967296
  115. net.ipv4.tcp_max_tw_buckets = 6000
  116. net.ipv4.tcp_sack = 1
  117. net.ipv4.tcp_window_scaling = 1
  118. net.ipv4.tcp_rmem = 4096 87380 4194304
  119. net.ipv4.tcp_wmem = 4096 16384 4194304
  120. net.core.wmem_default = 8388608
  121. net.core.rmem_default = 8388608
  122. net.core.rmem_max = 16777216
  123. net.core.wmem_max = 16777216
  124. net.core.netdev_max_backlog = 262144
  125. net.core.somaxconn = 262144
  126. net.ipv4.tcp_max_orphans = 3276800
  127. net.ipv4.tcp_max_syn_backlog = 262144
  128. net.ipv4.tcp_timestamps = 0
  129. net.ipv4.tcp_synack_retries = 1
  130. net.ipv4.tcp_syn_retries = 1
  131. net.ipv4.tcp_tw_recycle = 1
  132. net.ipv4.tcp_tw_reuse = 1
  133. net.ipv4.tcp_mem = 94500000 915000000 927000000
  134. net.ipv4.tcp_fin_timeout = 1
  135. net.ipv4.tcp_keepalive_time = 1200
  136. net.ipv4.ip_local_port_range = 1024 65535
  137. EOF
  138. /sbin/sysctl -p
  139. #close ctrl+alt+del
  140. sed -i “s/ca::ctrlaltdel:\/sbin\/shutdown -t3 -r now/#ca::ctrlaltdel:\/sbin\/shutdown -t3 -r now/” /etc/inittab
  141. #set purview
  142. chmod 600 /etc/passwd
  143. chmod 600 /etc/shadow
  144. chmod 600 /etc/group
  145. chmod 600 /etc/gshadow

6、生成并同步所有配置
cobbler sync

7、启动相关的服务
/etc/init.d/httpd start
/etc/init.d/xinetd start
/etc/init.d/dhcpd start
/etc/init.d/cobblerd start

chkconfig –level 35 httpd on
chkconfig –level 35 xinetd on
chkconfig –level 35 dhcpd on
chkconfig –level 35 cobblerd on

#记得关闭防火墙
/etc/init.d/iptables stop
chkconfig –level 35 iptables off

8、相关配置文件及目录
cobbler相关配置文件: /etc/cobbler
cobbler数据存储目录: /var/www/cobbler
dhcp配置文件: /etc/dhcpd.conf
dhcp租期缓存文件: /var/lib/dhcpd/dhcpd.leases
pxe配置文件: /tftpboot/pxelinux.cfg/default
ks模板文件: /var/lib/cobbler/kickstarts_*.ks

9、客户端通过PXE安装系统
启动另一台新服务器,通过 PXE 启动进入,提示”boot:”时输入”menu”即可进入蓝色的 Cobbler 安装界面,选择安装项,自动完成系统安装。

10、重装系统
CentOS 5.5默认的Repository里找不到koan,先安装rpmforce这个Repository
cd /opt
wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.i386.rpm
rpm -ivh rpmforge-release-0.5.2-2.el6.rf.i686.rpm

#在要重装的机器安装koan
yum -y install koan

#查看cobbler服务器有哪些安装盘
koan –list-profiles –server=192.168.9.230

#选择要重装的系统并重启
koan –replace-self –server=192.168.9.230 –profile=kerryOS-1.0-i386
reboot

11、服务控制脚本
vi /etc/init.d/cobbler_all

  1. #!/bin/sh
  2. case $1 in
  3.         start)
  4.                /etc/init.d/httpd start
  5.                /etc/init.d/xinetd start
  6.                /etc/init.d/dhcpd start
  7.                /etc/init.d/cobblerd start
  8.                 ;;
  9.         stop)
  10.                /etc/init.d/httpd stop
  11.                /etc/init.d/xinetd stop
  12.                /etc/init.d/dhcpd stop
  13.                /etc/init.d/cobblerd stop
  14.                 ;;
  15.         status)
  16.                 /etc/init.d/httpd status
  17.                 /etc/init.d/xinetd status
  18.                 /etc/init.d/dhcpd status
  19.                 /etc/init.d/cobblerd status
  20.                 ;;
  21.          sync)
  22.                 cobbler sync
  23.                 ;;
  24.         *)
  25.                 echo “Input error,please in put ‘start|stop|status|sync’!”;
  26.                 exit 2>&1 >/dev/null &
  27.                 ;;
  28.         esac

chmod +x /etc/init.d/cobbler_all

/etc/init.d/cobbler_all  start|stop|startus|sync

本文出自 “聆听未来” 博客,请务必保留此出处http://kerry.blog.51cto.com/172631/648430

Linux装机利器Cobbler安装配置

2016年5月17日 评论已被关闭

Linux装机利器Cobbler安装配置
http://blog.chinaunix.net/uid-25266990-id-339787.html
一、安装环境
centos 5.4
关掉iptables 关掉 selinux selinux 导致tftp的目录无法访问 pxe停止在引导界面

二、cobbler使用目录及文件
cobbler相关配置文件 /etc/cobbler
cobbler数据存储目录 /var/www/cobbler
dhcp配置文件 /etc/dhcpd.conf
dhcp租期缓存文件 /var/lib/dhcpd/dhcpd.leases
pxe配置文件 /tftpboot/pxelinux.cfg/default

三、安装cobbler
# rpm -ivh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm
# rpm -ivh http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
# yum -y install tftp-server httpd dhcp yum-utils
# yum -y install cobbler
# yum -y install cman
yum-utils 编译安装 make && make install
四、修改配置文件

1.修改cobbler配置文件
# vi /etc/cobbler/settings
[code]
server: ‘192.168.1.3’ #cobbler服务器地址
next_server: ‘192.168.1.3’
manage_dhcp: 1
[/code]

2.更改tftp启动方式
# vi /etc/xinetd.d/tftp
[code]
disable = no #默认开启tftp
[/code]

3.编辑dhcp配置模板
# vi /etc/cobbler/dhcp.template 改为相应的网段和ip
subnet 192.168.2.0 netmask 255.255.255.0 {
option routers 192.168.2.5;
option domain-name-servers 192.168.2.1;
option subnet-mask 255.255.255.0;
range dynamic-bootp 192.168.2.100 192.168.2.254;
filename “/pxelinux.0”;
default-lease-time 21600;
max-lease-time 43200;
next-server $next_server;
}
五、导入CentOS 光盘映像文件
# mkdir /home/CentOS
# mount /home/src/CentOS-5.2-i386-bin-DVD.iso /home/CentOS/ -o loop
# cobbler import –mirror=/home/CentOS –name=CentOS-5.2
# cobbler sync 应用配置模板

六、cobbler check 根据提示解决问题
例如:
#2: Must enable selinux boolean to enable Apache and web services components, run: setsebool -P httpd_can_network_connect true
Nice to see that it has good instructions for selinux
#3: you need to set some SELinux content rules to ensure cobbler works correctly in your SELinux environment, run the following: /usr/sbin/semanage fcontext -a -t public_content_t “/var/lib/tftpboot/.*” && /usr/sbin/semanage fcontext -a -t public_content_t “/var/www/cobbler/images/.*”
Detailed command to enable http server to reed content from /var/www/cobbler and have tfpboot find its files
#4: service cobblerd is not running
Obviously this isn’t running because we did not start it yet
#5: change ‘disable’ to ‘no’ in /etc/xinetd.d/tftp
#6: service httpd is not running
#7: since iptables may be running, ensure 69 (dhcp), 80(http), 25150(cobbler api), and 25151(cobbler api R/W) are unblocked 关闭防火墙
#8: reposync is not installed, need for cobbler reposync, install/upgrade yum-utils?
Easy to solve with: yum install yum-utils
#9: yumdownloader is not installed, needed for cobbler repo add with –rpm-list parameter, install/upgrade yum-utils? 安装yum-utils
#10: fencing tools were not found, and are required to use the (optional) power management features. install cman to use them 安装cman
七、启动cobbler服务
service dhcpd start
service httpd start
service xinetd restart
service cobbler start

八、kickstart配置文件实例
# vi /etc/cobbler/sample.ks

#platform=x86, AMD64, or Intel EM64T
# System authorization information
auth –useshadow –enablemd5
# System bootloader configuration
bootloader –location=mbr
# Partition clearing information
clearpart –all –initlabel
# Use text mode install
text
# Firewall configuration
firewall –disable
# Run the Setup Agent on first boot
firstboot –enabled
# System keyboard
keyboard us
# System language
lang en_US
# Use network installation
url –url=$tree
# If any cobbler repo definitions were referenced in the kickstart profile, include them here.
$yum_repo_stanza

# Network information
network –bootproto=dhcp –device=eth0 –onboot=on
# Reboot after installation
reboot

#Root password
rootpw –iscrypted $1$65XOJkdK$SA2J.kVLiTZ6V1GAhFl/Z1
# SELinux configuration
selinux –disabled
# Do not configure the X Window System
skipx
# System timezone
timezone Asia/Shanghai
# Install OS instead of upgrade
install
# Clear the Master Boot Record
zerombr

# Magically figure out how to partition this thing
#SNIPPET::main_partition_select
part / –asprimary –bytes-per-inode=4096 –fstype=”ext3″ –grow –size=1
part swap –asprimary –bytes-per-inode=4096 –fstype=”swap” –size=2048
part /boot –asprimary –bytes-per-inode=4096 –fstype=”ext3″ –size=100

%pre
$kickstart_start
#SNIPPET::pre_partition_select

%packages
@server-cfg
@development-tools
@base
@development-libs
@system-tools
@admin-tools
certmaster
func

%post
chkconfig NetworkManager off
chkconfig NetworkManagerDispatcher off
chkconfig acpid off
chkconfig anacron off
chkconfig atd off
chkconfig autofs off
chkconfig avahi-daemon off
chkconfig avahi-dnsconfd off
chkconfig bluetooth off
chkconfig conman off
chkconfig cups off
chkconfig dhcdbd off
chkconfig dund off
chkconfig firstboot off
chkconfig funcd on
chkconfig gpm off
chkconfig haldaemon off
chkconfig hidd off
chkconfig httpd off
chkconfig ibmasm off
chkconfig ip6tables off
chkconfig ipmi off
chkconfig iptables off
chkconfig irda off
chkconfig irqbalance off
chkconfig kdump off
chkconfig kudzu off
chkconfig lvm2-monitor off
chkconfig mcstrans off
chkconfig mdmpd off
chkconfig microcode_ctl off
chkconfig multipathd off
chkconfig netconsole off
chkconfig netfs off
chkconfig netplugd off
chkconfig nfs off
chkconfig nfslock off
chkconfig nscd off
chkconfig ntpd off
chkconfig oddjobd off
chkconfig pand off
chkconfig pcscd off
chkconfig portmap off
chkconfig psacct off
chkconfig rdisc off
chkconfig restorecond off
chkconfig rpcgssd off
chkconfig rpcidmapd off
chkconfig rpcsvcgssd off
chkconfig saslauthd off
chkconfig sendmail off
chkconfig setroubleshoot off
chkconfig winbind off
chkconfig wpa_supplicant off
chkconfig xfs off
chkconfig ypbind off
chkconfig yum-updatesd off

chkconfig certmaster on
chkconfig funcd on

cat >> EOFM > /etc/func/minion.conf
[main]
log_level = INFO
acl_dir = /etc/func/minion-acl.d
EOFM

cat >> EOCM > /etc/certmaster/minion.conf
[main]
certmaster = node3.le8le.com
log_level = DEBUG
cert_dir = /etc/pki/certmaster
EOCM

cat >> EODM > /etc/hosts
192.168.1.3 node3.le8le.com
EODM

$yum_config_stanza
SNIPPET::post_install_kernel_options
$kickstart_done
[/code]

九、利用cobbler重装系统
# rpm -Uhv koan-1.2.5-1.el5.noarch.rpm
# koan -server=192.168.1.3 -list-profiles
# koan -replace-self -server=192.168.1.3 -profile=CentOS_5.2-i386
# reboot

saltstack 基础入门文档

2016年5月17日 评论已被关闭

 

saltstack 基础入门文档

http://www.open-open.com/lib/view/open1386665335876.html

saltstack 和 Puppet Chef 一样可以让你同时在多台服务器上执行命令也包括安装和配置软件。Salt 有两个主要的功能:配置管理和远程执行。这里讲述了saltstack的基本使用方法。

saltstack

简述

Salt 和 Puppet Chef 一样可以让你同时在多台服务器上执行命令也包括安装和配置软件。Salt 有两个主要的功能:配置管理和远程执行。

  • 源码: https://pypi.python.org/pypi/salt
  • 文档: http://docs.saltstack.com/

安装

debian/ubuntu

  • 设置debian更新源

wget -q -O- “http://debian.saltstack.com/debian-salt-team-joehealy.gpg.key” | apt-key add –

echo “deb http://debian.saltstack.com/debian wheezy-saltstack main” /etc/apt/sources.list

  • 设置ubuntu更新源

add-apt-repository ppa:saltstack/salt 或

echo deb http://ppa.launchpad.net/saltstack/salt/ubuntu lsb_release -sc main | tee /etc/apt/sources.list.d/saltstack.list

wget -q -O- “http://keyserver.ubuntu.com:11371/pks/lookup?op=get&search=0x4759FA960E27C0A6” | apt-key add –

  • 安装软件包
apt-get update
apt-get install salt-master      # On the salt-master
apt-get install salt-minion      # On each salt-minion
apt-get install salt-syndic

RHEL6/CentOS6

  • 设置RHEL/CentOS更新源

rpm -Uvh http://ftp.linux.ncsu.edu/pub/epel/6/i386/epel-release-6-8.noarch.rpm或

rpm -Uvh http://ftp.linux.ncsu.edu/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

  • 安装软件包
yum update
yum install salt-master # On the salt-master
yum install salt-minion # On each salt-minion

基本配置

saltstack 的配置文件格式

Salt默认使用PyAMl语法(http://pyyaml.org) 作为它的模板文件的格式,其他很多模板语言在Salt中是可以使用的。
一定要按照正确的格式书写YAML,比如最基本的,它使用到两个空格代替tab,: 或 – 后面要有空格。

例一:

interface: 0.0.0.0
log_file: /var/log/salt/master 
key_logfile: /var/log/salt/key

例二:

file_roots:
  base:
    - /srv/salt

服务端配置

主控端基本设置
编辑配置文件 /etc/salt/master,修改如下所示配置项,去掉前面的注释符

interface: 0.0.0.0
log_file: /var/log/salt/master      # 记录主控端运行日志
key_logfile: /var/log/salt/key      # 记录认证证书日志

客户端配置

受控端基本设置
编辑配置文件 /etc/salt/minion,修改如下所示配置项,去掉前面的注释符#

master: 42.121.124.237          # 设置主控端IP
id: ubuntu-server-001           # 设定受控端编号
log_file: /var/log/salt/minion  # 记录受控端运行日志
key_logfile: /var/log/salt/key  # 记录认证证书日志

小技巧 查看配置文件信息,过滤注释语句:__

sed -e '/^#/d;/^$/d' /etc/salt/minion

检查服务

主控端,和受控端 启动各自的服务,确保服务启动后没有任何报错信息,如果异常请检查相应日志文件处理

主控端: service salt-master restart
受控端: service salt-minion restart

证书管理

如果一切顺利,请继续!

saltstack 主控端是依靠openssl证书来与受控端主机认证通讯的,受控端启动后会发送给主控端一个公钥证书文件,在主控端用 salt-key 命令来管理证书。

salt-key -L     # 用来查看证书情况
salt-key -a     # 用来管理接受证书

受控端证书认证后会显示如下情形:

Accepted Keys:
ubuntu-server-001
Unaccepted Keys:
Rejected Keys:

主控端和被控端的证书默认都存放在 /etc/salt/pki/ 中,如果遇到证书不生效的情况下,可在主控端证书存放目录删除受控端证书,重新认证一下。

简单的测试

你可以从master 使用一个内置命令 test.ping 来测试他们之间的连接

salt '*' cmd.run test.ping

它应该有如下输出:

{ubuntu-server-001: True}

测试与外网的连接

salt '*' cmd.run "ping -c 4 baidu.com"

如果能返回正确结果,salt的基本配置就完成了。

进阶,配置管理

个人理解,管理一个服务器应用可以从 软件包,配置文件,服务管理 这个三个最基本角度来出发,要启用配置管理,首先应对受控端进行额外的配置

启用扩展配置文件目录

  • 主控端 /etc/salt/master
    default_include: master.d/*.conf
  • 受控端 /etc/salt/minion
    default_include: master.d/*.conf

配置受控端

  • 配置受控端,以root用户身份来接受主控端的控制 编辑/etc/salt/minion
user: root
  • 配置受控端同步,每隔60秒与主控端进行同步一次 编辑/etc/salt/minion
schedule:
  highstate:
    function: state.highstate
    seconds: 60

配置主控端

一般来讲,Salt的配置管理指令和文件保存在/srv/salt目录下,这里存放着所有的配置文件,和一些你想要拷贝到从服务器的文件。Salt 的特点之一是包含一个文件服务器。虽然Salt不会在你的主服务器创建系统文件,但是所有的配置管理发生在/srv/salt目录中。

  • 编辑 /etc/salt/master 取消注释即删除#号,配置仓库根目录下的 top.sls 为默认入口配置文件,这个配置项可以自定义,基本配置如下:
file_roots:
  base:
    - /srv/salt
  • 创建 /srv/salt/top.sis 目录和文件
base:
  '*':
    - ubuntu.vim

详细解释一下这个本配置文件的参数

  • base: 默认的的起点配置项:
  • ‘*’: 这个引号内的是匹配对象,针对所有受控主机
  • ubuntu.vim 就是指资源文件/srv/salt/ubuntu/vim.sls

一个简单的例子:ubuntu 基本系统默是不安装 vim 我们可以利用配置管理把被托管的ubuntu主机全部安装上vim

编辑 /srv/salt/ubuntu/vim.sls

vim:
  pkg:
    - name: vim
    - installed

执行命令

salt '*' state.highstate

请注意观察返回结果,查看/var/log/salt/下面的日志来调试saltstack配置。

一个更复杂的例子:管理ssh服务,并且使用salt托管配置文件

ssh:
  pkg:
    - name: ssh
    - installed
  service:
    - name: ssh
    - running
    - reload: True
    - watch:
      - file: /etc/ssh/ssh_config
/etc/ssh/ssh_config:
  file.managed:
    - source: salt://ubuntu/ssh_config
    - user: root
    - group: root
    - mode: 644

简要解释一下配置文件

  • pkg, service , file 这些都是salt的管理模块,pkg 是包管理模块; file是文件管理模块; service 是包服务管理模块
  • 模块下一级是各个管理模块配置项的属性,以 service: 模块为例
  • name: ssh ubuntu下的服务脚本名称是 ssh
  • running 状态是持续运行,如果受控端配置了自动同步,每格一段时间就会对其状态进行检查
  • reload: True 是否重载服务
  • watch: 监视文件
  • 最后两条属性的整体含义是如果配置文件 /etc/ssh/ssh_config 发生变化,服务重启更新
  • source: salt://ubuntu/ssh_config 托管的配置文件实际存储在 /srv/salt/ubuntu/ssh_config

同样,使用如下命令来验证结果需要

salt '*' state.highstate

如果需要管理更复杂的服务器群,下面是一个稍微复杂的例子
/srv/salt/top.sls 内容:

base:
  'ubuntu-server-*':
    - ubuntu.vim
  'ubuntu-server-001':
    - ubuntu.servers
  'centos-server-001':
    - rhel.servers

配置仓库目录层次结构

/srv/salt/
├── top.sls
├── rhel
│   └── servers.sls
└── ubuntu
    ├── servers.sls
    ├── ssh_config
    └── vim.sls

最后,补充一点,把配置仓库和版本控制工具结合起来,将是一件更美好的事情。

参考

二进制软件包

rpm deb 不同包管理体系,不同发行版二进制包拆分命名规则不尽相同,相比之下 deb 拆分的力度要更细些。

RHEL6/CentOS 软件包列表

  • salt
  • salt-master
  • salt-minion
  • salt-api
  • salt-cloud

Deian/Ubuntu 软件包列表

  • salt-master
  • salt-minion
  • salt-syndic
  • salt-doc
  • salt-common
  • salt-cloud
  • salt-cloud-doc
  • salt-api
  • salt-ssh

下面按照服务端(主控端)和客户端(受控端)来说明主要功能项。

主控端命令列表

  • /usr/bin/salt 主控命令
  • /usr/bin/salt-cp 批量复制文件
  • /usr/bin/salt-key 证书管理
  • /usr/bin/salt-master 服务端程序
  • /usr/bin/salt-run 管理虚拟机
  • /usr/bin/salt-ssh 管理ssh
  • /usr/bin/salt-syndic master分布式节点服务程序

受控端命令列表

  • /usr/bin/salt-call
  • /usr/bin/salt-minion 客户端程序

基本操作

基本操作命令通用格式

命令 对象 执行模块 参数
salt '*' cmd.run "ping -c 4 baidu.com"
'*'      操作对象       可以使用salt命令的扩展模式 -E -G ..
cmd.run  执行模块       
参数     传递给执行模块的参数

分组功能

编辑 /etc/salt/master

nodegroups:
  UBUNTU: 'ubuntu-12.04-*'
  CENTOS: 'centos-6.4-*'

建立分组之后,操作对象使用分组功能才生效

命令示例

salt

  • 测试与受控主机网络是否通畅
    salt '*' cmd.run test.ping
  • 在全部受控主机行执行命令
    salt '*' cmd.run “uptime”
  • 使用 -E 按照正则匹配操作对象
    salt -E 'ubuntu*' cmd.run “uptime”
  • 使用 -N 按照分组匹配操作对象
    salt -N 'UBUNTU-GROUPS' cmd.run “uptime”
  • 使用 -G 按照查询信息匹配操作对象选项
    salt -G 'cpuarch:x86_64' grains.item num_cpus
  • 查看受控端模块函数帮助信息
    salt '*' sys.doc
  • 查看受控端模块函数帮助信息
    salt '*' sys.doc service

salt-master

  • 启动服务
    salt-master -d

salt-key

  • 查看证书
    salt-key -L
  • 接受指定的证书
    salt-key -a KeyName
  • 接受所有未认证的证书
    salt-key -A
  • 删除所有证书
    salt-key -D
  • 删除指定的证书
    salt-key -d KeyName

salt-cp

*批量复制文件到受控主机

salt-cp '*' /home/vmdisk.img /var/lib/libvirtsh/vmdisk.img

*拷贝小文件很有效,简单测试,拷贝2.5MB以上的文件就会超时报错

salt-run

salt-run 是用于管理虚拟机的命令

  • 查询虚拟机信息
    salt-run virt.hyper_info
  • 查询虚拟机信息
    salt-run virt.query
  • 基于云镜像创建一个新的虚拟机
    salt-run virt.init centos1 2 512 salt://centos.img

    salt-ssh

    编辑配置文件 /etc/salt/roster

    ubuntu-12.04-001:
    host: 10.8.0.18
    user: root
    passwd: root
    sudo: True
  • 简单的测试
    salt-ssh '*' test.ping
  • 测试执行命令
    salt-ssh '*' -r “ifconfig -a”

salt-syndic

salt的master和minion的交互很大程度上都和网络有关系,比如在管理多个国家的机器的时候(比如大中华局域网),一个master控制多个master,同时被控制的master又可以控制很多的minion,就好比是在 master 和 minions 之间又加了一层的分布式架构。

salt-minion

启动服务

salt-minion -d

salt-call

内置模块列表

  • 内置的状态模块的完整列表: http://docs.saltstack.com/ref/states/all/index.html
  • 内置的执行模块的完整列表: http://docs.saltstack.com/ref/modules/all/index.html

参考文档

  • http://netkiller.github.io/linux/management/saltstack/

唧唧歪歪

  • saltstack 可能由于比较新的缘故,版本之间支持的模块差异较大,建议最好主控端,受控端使用相同版本的软件包;

问题:

  • 证书管理 ssh_auth salt 模块(优先处理)
  • 配置仓库,符号链接
  • 是否支持,配置模板
  • 如何针对 特例机器进行定义配置?
  • 一台机器是否属于多个组
  • salt 配置仓库 致命错误情况能否回滚
  • 是否支持 lsattr 如何保证重要配置文件不轻易被更改
  • 如何输出给程序解析结果
  • 怎么支持自定义的模块
  • 主机命名分组避免使用

来自:http://my.oschina.net/u/877567/blog/182923

HAProxy简介

2016年5月17日 评论已被关闭

HAProxy简介

 http://www.cnblogs.com/shanyou/archive/2012/10/16/2726768.html

HAProxy是一款提供高可用性、负载均衡以及基于TCP(第四层)和HTTP(第七层)应用的代理软件,HAProxy是完全免费的、借助HAProxy可以快速并且可靠的提供基于TCP和HTTP应用的代理解决方案。

(1)免费开源,稳定性也是非常好,这个可通过我做的一些小项目可以看出来,单Haproxy也跑得不错,稳定性可以与硬件级的F5相媲美;

(2)根据官方文档,HAProxy可以跑满10Gbps-New benchmark of HAProxy at 10 Gbps using Myricom’s 10GbE NICs (Myri-10G PCI-Express),这个数值作为软件级负载均衡器是相当惊人的;官方测试的性能情况如下图。

haxingneng

(3)HAProxy 支持连接拒绝 : 因为维护一个连接的打开的开销是很低的,有时我们很需要限制攻击蠕虫(attack bots),也就是说限制它们的连接打开从而限制它们的危害。 这个已经为一个陷于小型DDoS攻击的网站开发了而且已经拯救了很多站点,这个优点也是其它负载均衡器没有的。

(4)HAProxy 支持全透明代理(已具备硬件防火墙的典型特点): 可以用客户端IP地址或者任何其他地址来连接后端服务器. 这个特性仅在Linux 2.4/2.6内核打了cttproxy补丁后才可以使用. 这个特性也使得为某特殊服务器处理部分流量同时又不修改服务器的地址成为可能。

(5)HAProxy现多于线上的Mysql集群环境,我们常用于它作为MySQL(读)负载均衡;

(6)自带强大的监控服务器状态的页面,实际环境中我们结合Nagios进行邮件或短信报警,这个也是我非常喜欢它的原因之一;

(7)HAProxy支持虚拟主机,许多朋友说它不支持虚拟主机是错误的,通过测试我们知道,HAProxy是支持虚拟主机的。

HAProxy特别适用于那些负载特大的web站点, 这些站点通常又需要会话保持或七层处理。HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器不被暴露到网络上。

hajiagou

在功能上,能以proxy反向代理方式实现WEB均衡负载,这样的产品有很多。包括lvs,Nginx,ApacheProxy,lighttpd等。

国内生产环境上使用Haproxy的公司很多,例如淘宝的CDN系统

hataobao

 

http://blog.chinaunix.net/uid/12924167/frmd/149251.html

http://www.andreagallazzi.com/2011/09/exchange-2010-haproxy-free-layer-4.html

http://www.stevieg.org/e2010haproxy/

http://pastebin.com/fssNNkqf

http://www.rritw.com/a/qitazonghe/IBM_MQ___TLQ/20120730/153186.html

http://www.cnblogs.com/balaamwe/tag/Haproxy/

HAproxy均衡负载部署和配置文件详解

利用Haproxy实现http和TCP反向代理和负载均衡(入门和技术验证)

[Erlang 0091] 另辟蹊径构建RabbitMQ集群

http://blog.loadbalancer.org/load-balancing-exchange-2010-cas-array-with-haproxy/

http://blog.exceliance.fr/2012/11/07/websockets-load-balancing-with-haproxy/

Linux集群批量管理工具parallel-ssh(PSSH)的安装与使用

2016年5月17日 评论已被关闭

Linux集群批量管理工具parallel-ssh(PSSH)的安装与使用

http://www.linuxidc.com/Linux/2013-08/88547.htm

使用pssh的动力源自实验室的测试项目,需要搭建一个200余台机器的集群,前期是32台机器的小集群,Hadoop软件列表中的第一个。

起初我自认为装个hadoop集群,改改配置文件,重复32次就完事儿了,工作量也不是很大。

但随机测试的推移,我发现,每当需要更改一个参数需要把一个操作重复执行几十次是多么另人崩溃的一件事儿。

pssh这种神器真是管理集群必备!!

下面是pssh的安装、配置与使用,假设试图通过1台机器(主结点172.16.0.1)去修改99台机器(从节点172.16.0.2-100)

PSSH安装

(系统中已经安装有python)

只需要在主节点上安装pssh

下载地址 http://parallel-ssh.googlecode.com/files/pssh-2.3.1.tar.gz

解压后进入该目录,安装

wget http://parallel-ssh.googlecode.com/files/pssh-2.3.1.tar.gz
tar -xvf pssh-2.3.1.tar.gz
cd pssh-2.3.1
python setup.py build
python setup.py install

PSSH配置

配置主要有两项内容,一、从结点的IP列表文件;二、主节点到从节点的ssh无密钥登录

IP列表文件就是将从结点的IP按行存在一个文件里,我给它命名为host_list.txt,里面共有99行,第一行172.16.0.2

下面是ssh无密钥登录

由于好多很多操作需要有sudo权限,所以尽量ssh无密钥登录到从节点的root用户下。

ssh-keygen  (然后按提示输入信息)
ssh-copy-id  –i ~/.ssh/id_rsa.pub root@172.16.0.2 (将密钥复制到从节点,需要输入密码)

PSSH使用

http://www.linuxidc.com/Linux/2013-08/88548.htm 里面说到有5个实用程序,在实际中我只用到pssh和pscp两个

pscp -h host_list.txt -r source_file_path destination_file_path
#例如将主节点的/home/master/1.txt拷贝到从节点的/home/slave/目录下
pscp -h host_list.txt -r /home/master/1.txt /home/slave/
#pscp是远程拷贝文件,如从主节点将文件分发到所有从节点
pssh -h host_list.txt -P “command”
#例如在从节点建立新目录/home/slave/test
pssh -h host_list.txt -P “mkdir /home/slave/test”

使用PSSH应该会的命令

pssh结合脚本使用比较高效,有以下几个命令可能会用到

sed

cat

重定向 >>与>

expect

使用pssh进行并行批量操作

2016年5月17日 评论已被关闭

使用pssh进行并行批量操作

http://www.cnblogs.com/wangkangluo1/archive/2013/01/06/2847353.html

原文:http://liang3391.blog.51cto.com/178205/732100

参考:http://www.ibm.com/developerworks/cn/aix/library/au-spunix_remoteserver/index.html

假如同时给上千台服务器执行一个命令,拷贝一个文件,杀一个进程等,有什么简化运维管理的工具呢?在小型使用中我都是使用for循 环,数量巨大,一方面不确定操作是否成功,一方面for循环语句性能不好估计且是不是同步并行执行.,这类工具比如 pdsh,mussh,cssh,dsh等还有这里提到的pssh:
1  安装:
#wget http://peak.telecommunity.com/dist/ez_setup.py
python ez_setup.py
#wget http://parallel-ssh.googlecode.com/files/pssh-2.2.2.tar.gz
# tar zxvf pssh-2.2.2.tar.gz
# cd pssh-2.2.2
# python setup.py install
2  pssh使用 (假设ssh已做好SSH信任,ssh信任请参看:关于ssh命令研究以及SSH信任详解)
pssh工具包主要有5个程序:
1 pssh  多主机并行运行命令
[root@server pssh-2.2.2]# pssh -P -h test.txt uptime
192.168.9.102:  14:04:58 up 26 days, 17:05,  0 users,  load average: 0.07, 0.02, 0.00
192.168.9.102: [1] 14:04:58 [SUCCESS] 192.168.9.102 9922
192.168.8.171:  14:04:59 up 35 days,  2:01,  6 users,  load average: 0.00, 0.00, 0.00
192.168.8.171: [2] 14:04:59 [SUCCESS] 192.168.8.171 22
192.168.9.104:  14:04:59 up 7 days, 20:59,  0 users,  load average: 0.10, 0.04, 0.01
192.168.9.104: [3] 14:04:59 [SUCCESS] 192.168.9.104 9922
[root@server pssh-2.2.2]# cat test.txt
192.168.9.102:9922
192.168.9.104:9922
192.168.8.171:22   //注意我的端口号不仅是默认的22
假如想将输出重定向到一个文件 加-o file 选项
2 pscp  把文件并行地复制到多个主机上
注意 是从服务器端给客户端传送文件:
[root@server pssh-2.2.2]# pscp -h test.txt /etc/sysconfig/network /tmp/network   //标示将本地的/etc/sysconfig/network传到目标服务器的/tmp/network
3 prsync 使用rsync协议从本地计算机同步到远程主机
[root@server ~]# pssh -h test.txt -P mkdir /tmp/etc
[root@server ~]# prsync -h test.txt -l dongwm -a -r /etc/sysconfig /tmp/etc //标示将本地的/etc/sysconfig目录递归同步到目标服务器的 /tmp/etc目录下,并保持原来的时间戳,使用用户 dongwm
4  pslurp 将文件从远程主机复制到本地,和pscp方向相反:
[root@server ~]# pslurp -h test.txt   -L /tmp/test -l root /tmp/network test  //标示将目标服务器的/tmp/network文件复制到本地的/tmp/test目录下,并更名为test
[1] 14:53:54 [SUCCESS] 192.168.9.102 9922
[2] 14:53:54 [SUCCESS] 192.168.9.104 9922
[root@server ~]# ll /tmp/test/192.168.9.10
192.168.9.102/ 192.168.9.104/
[root@server ~]# ll /tmp/test/192.168.9.102/
总计 4.0K
-rw-r–r– 1 root root 60 2011-04-22 14:53 test
[root@server ~]# ll /tmp/test/192.168.9.104/
总计 4.0K
-rw-r–r– 1 root root 60 2011-04-22 14:53 test
5  pnuke 并行在远程主机杀进程:
[root@server ~]# pnuke -h test.txt   syslog //杀死目标服务器的syslog进程,只要ps进程中出现相关词语 都能杀死
[1] 15:05:14 [SUCCESS] 192.168.9.102 9922
[2] 15:05:14 [SUCCESS] 192.168.9.104 9922

运用Ntop监控网络流量

2016年5月16日 评论已被关闭

运用Ntop监控网络流量

http://www.ttlsa.com/linux/linux-ntop-network/

_网络流量反映了网络的运行状态,是判别网络运行是否正常的关键数据, 在实际的网络中,如果对网络流量控制得不好或发生网络拥塞,将会导致网络吞吐量下降、网络性能降低。通过流量测量不仅能反映网络设备(如路由器、交换机 等)的工作是否正常,而且能反映出整个网络运行的资源瓶颈,这样管理人员就可以根据网络的运行状态及时采取故障补救措施和进行相关的业务部署来提高网络的 性能。对网络进行流量监测分析,可以建立网络流量基准,通过连接会话数的跟踪、源/目的地址对分析、TCP流的分析等,能够及时发现网络中的异常流量,进 行实时告警,从而保障网络安全。本节将介绍的Ntop便可以提供详细的网络流量明细表。

1.Ntop简介

____Ntop是一种监控网络流量的工具,用NTOP显示网络的使用情况比其他一些网管软件更加直观、详细。NTOP甚至可以列出每个节点计算机的网络带宽利用率。

2.Ntop主要功能

Ntop主要提供以下一些功能:

①.自动从网络中识别有用的信息;

②.将截获的数据包转换成易于识别的格式;

③.对网络环境中通信失败的情况进行分析;

④.探测网络环境中的通信瓶颈,记录网络通信的时间和过程。

____Ntop可以通过分析网络流量来确定网络上存在的各种问题;也可以用来判断是否有黑客正在攻击网络系统;还可以很方便地显示出特定的网络协议、占用大量带宽的主机、各次通信的目标主机、数据包的发送时间、传递数据包的延时等详细信息。

3. Ntop支持的协议

____Ntop比MRTG更容易安装,如果用手机话费来比喻流 量,MRTG便如同提供总费用的电话账单,而Ntop则是列出每一笔费用的明细一样。目前市场上可网管型的交换机、路由器都支持SNMP协议,Ntop支 持简单网络管理协议,所以可以进行网络流量监控。Ntop几乎可以监测网络上的所有协议: TCP/UDP/ICMP、(R)ARP、IPX、Telnet、DLC、Decnet、DHCP-BOOTP、AppleTalk、Netbios、 TCP/UDP、FTP、HTTP、DNS、Telnet、SMTP/POP/IMAP、SNMP、NNTP、NFS、X11、SSH和基于P2P技术的 协议eDonkey。

4.Ntop支持插件

①.ICMPWATCH:

____用于端口检测很多人都已经知道了可以借助NETSTAT -AN来查看当前的连接与开放的端口,但NETSTAT并不万能,比如Win2000遭到OOB攻击的时候,不等NETSTAT就已经死机了。为此,出现 了一种特殊的小工具——端口监听程序。端口监听并不是一项复杂的技术,但却能解决一些局部问题。

②.NetFlow:

____近年来,很多服务提供商一直使用NetFlow。因为NetFlow在大型广域网环境里具有伸缩能力,可以帮助支持对等点上的最佳传输流,同时可以用来进行建立在单项服务基础之上的基础设施最优化评估,解决服务和安全问题方面所表现出来的价值,为服务计费提供基础。

③.rrdPlugin:

____用于生成流量图。RRD的作者,也是MRTG的作者,RRD可以简单的说是MRTG的升级版,它比MRTG更灵活,更适合用shellperl等程序来调用,成生所要的图片。

④.sFlow:

____sFlow(RFC 3176)是基于标准的最新网络导出协议,能够解决当前网络管理人员面临的很多问题。sFlow已经成为一项线速运行的“永远在线”技术,可以将 sFlow技术嵌入到网络路由器和交换机 ASIC芯片中。与使用镜像端口、探针和旁路监测技术的传统网络监视解决方案相比,sFlow能够明显地降低实施费用,同时可以使面向每一个端口的全企业 网络监视解决方案成为可能。与数据包采样技术(如RMON)不同,sFlow是一种导出格式,它增加了关于被监视数据包的更多信息,并使用嵌入到网络设备 中的sFlow代理转发被采样数据包,因此在功能和性能上都超越了当前使用的RMON、RMON II和NetFlow技术。sFlow技术独特之处在于它能够在整个网络中,以连续实时的方式监视每一个端口,但不需要镜像监视端口,对整个网络性能的影 响也非常小。

____另外,Ntop还允许用户安装插件用,以提供对于特定协议下具体统计数据的报告,如NFS和NetBIOS插件。当然,Ntop也可以生成运行它的主机的统计数据,列出开放套接字、接收和发送的数据以及每个过程的相关主机对。

二、Ntop系统的部署

对于共享网络,只须将连接到共享网络中的流量采集点的网络接口置为混杂工作模式,就可实现采集网络流量数据的功能。与交换网络相比,网络发生拥塞时,集线 器网络的可靠性很低,SNMP问询命令和回应数据包可能发生延迟或丢失,这时候Ntop检测数据也就不准确了,对于交换网络的情况,需要交换设备的支持 (如具有SPAN端口的交换机)。流量采集主机连接到交换设备的一个端口后,通过交换机的SPAN至(Switched PortAnalyzer)端口把要分析的所有流量镜像到该采集点上。SPAN在使用中非常灵活,可以监视交换机的单个端口,也可以监视多个端口,还可以 对VLAN进行监视。这就使流量异常监测系统具有了很大的灵活性。在一些流量比较大的企业,我们一般选用两个网卡,一块网卡作为Ntop专用嗅探网卡,连 到核心交换机的镜像端口,另一块配上IP地址并开放相应端口(默认是3000,也可以修改),连接交换机的作用是用来登录Web界面进行管理,Ntop的 部署如图所示。

Ntop没有自己的捕包工具,它需要一个外部的捕包程序库:libpcap。Ntop利用libpcap独立地从物理链路上进行捕包,它可以借助 libpcap的平台成为一个真正的与平台无关的应用程序。它直接从网卡捕包的任务由libpcap承担,所以我们必须确保Linux系统下正确安装了 libpcap。

三.Ntop安装配置

____Ntop工作时需要使用zlib、gd、libpcap及libpng的函数,安装前须检查服务器中是否已经含有下列的软件:zlib(zlib-1.1.3-xx以上)、gd(gd-1.3.xx以上)、libpng。可以使用RPM来确认:

rpm -qa | grep libpcap

rpm -qa | grep zlib

rpm -qa | grep gd

rpm -qa | grep libpng

如果发现缺少任何一个就需要自行安装,举例如下。

1.安装libpcap

# tar zxvf libpcap-0.9.8.tar.gz

# cd libpcap-0.9.8

#./configure

# make&&make install

2.安装RRDtool

____RRDtool是指Round Robin Database 工具(环状数据库)。Round Robin是一种处理定量数据以及当前元素指针的技术。想象一个周边标有点的圆环,这些点就是时间存储的位置。从圆心画一条到圆周的某个点的箭头,这就是 指针。一个圆环上没有起点和终点,可以一直存储下去。经过一段时间后,所有可用的位置都会被用过,该循环过程会自动重用原来的位置。这样,数据集不会增 大,并且不需要维护。

#tar -zxvf rrdtool-1.3.1.tar.gz

#export PKG_CONFIG_PATH=/usr/lib/pkgconfig/

#./configure

#make

#make install

3.安装Ntop

下载ntop安装包:http://www.nmon.net/packages/rpm/x86_64/ntop/

#rpm -ivh ntop-3.3.10-.x86.rpm

#yum install ntop \\CentOS系统

#apt-get install ntop \\Debian系统

____注意:在Ossim 系统中已经为我们安装好Ntop软件,可以直接使用。如果您选择单独安装可以继续参考以下内容。另外如果您使用Red Hat Linux 、Fedora或CentOS请首先关闭 SELinux功能。

4.建立Ntop用户并配置权限

#useradd ntop

5.建立Ntop存放数据的目录

#mkdir -p /var/ntop

#chown -R ntop.ntop /var/ntop

6.复制ntop.conf配置文件

#cp /ntop-3.3.10/ntop.conf.sample /etc/ntop.conf

7.设置管理密码

在执行ntop之前必须先建立管理员密码,长度至少5位。使用参数-A建立管理员密码

#ntop -A

8.Ntop的管理员密码重置方法

Ntop的用户密码文件是经过加密存储在ntop_pw.db文件中,Ntop用户密码存储位置:

64位版本:/var/lib/ntop_db_64/ntop_pw.db

64位版本需先删除其密码文件ntop_pw.db,然后用notp -A 重置管理员密码后,最后重启ntop服务就能生效。

#/etc/init.d/ntop restart

另外,注意一个细节,ntop的访问日志位置在/var/log/ntop/目录下,它的pcap log在/var/lib/ntop目录下。

四、应用Ntop

1.启动Ntop

#/usr/local/bin/ntop -i eth0 -d -L -u ntop -P /var/ntop –use-syslog=daemon

命令行中各项简要介绍如下。

l -i “eth0″:指定监听网卡。

l -d:后台执行。

l -L:输出日志写入系统日志(/var/log/messages)。

l -u ntop:指定使用Ntop身份执行。

l -P /var/ntop:指定Ntop数据库的文件位置。

l -use-syslog=daemon:使用系统日志进程。

l -w:使用其他端口,指定ntop使用其他端口,例如执行ntop –w 1900以后,便可以使用http://ip:1900来连接ntop

2.利用Web浏览器查看Ntop状况

Ntop的通讯端口为3000,所以在浏览器使用IP:3000进入ntop便可看到ntop欢迎界面
除此之外,Ntop另一个重要功能是探测DDoS类型攻击,主要是它可以通过分析网路流量来确定网路上存在的各种问题,也可以用来判断是否有骇客正在攻击 网路系统,还可以很方便地显示出特定的网路协议、佔用大量频宽的 主机、各次通信的目标主机、资料包的发送时间、传递资料包的延时等详细讯息。

上面介绍了一些ntop工具的特点,不过还有很多由于篇幅限 制没有给大家介绍,要知道Ntop这个工具只是Ossim平台的一个很小的模块,Ossim系统中集成的ntop可以将netflow数据存入mysql 数据库,并可以再下次系统启动后继续从数据库中读取,不会影响新生成的数据分析图。要了解Ossim是什么,请参考我的其他有关博文或视频。

转自:http://blog.chinaunix.net/uid-59434-id-4008171.html

运用Ntop监控网络流量

2016年5月16日 评论已被关闭

运用Ntop监控网络流量

http://my.oschina.net/zijingshanke/blog/388864#OSC_h3_6

NTopng主要特性

多协议网络流量;IPv4/IPv6活跃主机

网络流量监控(RRD存储格式);基于nDPI实现应用协议发现

作为 NetFlow/sFlow  采集器 (Cisco/ Juniper 路由器)  ;交换机配合 nProbe.

效果图

What ntopng can do for me?


  • http://www.ntop.org/products/ntop
  • Sort network traffic according to many protocols
  • Show network traffic and IPv4/v6 active hosts
  • Store on disk persistent traffic statistics in RRD format
  • Geolocate hosts
  • Discover application protocols by leveraging on nDPI, ntop’s DPI framework.
  • Characterise HTTP traffic by leveraging on characterisation services provided by block.si. ntopng comes with a demo characterisation key, but if you need a permanent one, please mail info@block.si.
  • Show IP traffic distribution among the various protocols
  • Analyse IP traffic and sort it according to the source/destination
  • Display IP Traffic Subnet matrix (who’s talking to who?)
  • Report IP protocol usage sorted by protocol type
  • Act as a NetFlow/sFlow collector for flows generated by routers (e.g. Cisco and Juniper) or switches (e.g. Foundry Networks) when used together with nProbe.
  • Produce HTML5/AJAX network traffic statistics

Ntopng 架构

Libpcap

网络数据包捕获函数包

Sqlite

轻型数据库,多语言支持(ntopng中应该是和python结合),很多嵌入式系统也用到它

Gdbm:DBM的GNU版本,使用hash存储非结构化数据

 Python

autoconf、automake、pkg-config、libtool(提供通用的库编译支持)

Gettext、icu4c:国际化(I18N)和本地化(L10N),多语言支持

libffi:“FFI” 的全名是 Foreign Function Interface,通常指的是允许以一种语言编写的代码调用另一种语言的代码。而 “Libffi” 库只提供了最底层的、与架构相关的、完整的”FFI”,因此在它之上必须有一层来负责管理两种语言之间参数的格式转换

Gobject-introspection:(简称 GI)用于产生与解析 C 程序库 API 元信息,以便于动态语言(或托管语言)绑定基于 C + GObject 的程序库

json-glib、json-c、openssl、glib

ZeroMQ

号称最快的消息库,协议级,目标是成为Linux的一部分。

《ZeroMQ社区》:《ZeroMQ社区生态白皮书》、《ZMQ架构哲学》

libtasn1:用于开发 ASN.1 (Abstract Syntax Notation One) 结构管理的 C 库

gmp

Nettle:a low-level cryptographic library (加密)

Gnutls:(加密)

libpng:the official PNG reference library (图形)

pixman:像素管理(图形)

Cairo:a2Dgraphicslibrarywithsupportformultipleoutputdevices.

Freetype:FreeType库是一个完全免费(开源)的、高质量的且可移植的字体引擎,它提供统一的接口来访问多种字体格式文件,包括TrueType,OpenType, Type1, CID,CFF, Windows FON/FNT, X11 PCF等

fontconfig:字体库管理

Pango

Pango(Παν语)是一个开放源代码的自由函数库,用于高质量地渲染国际化的文字。Pango可以使用不同的后端字体,并提供了跨平台支持。依赖Harfbuzz :一个开源的text opentype layout 引擎。

RRDtool

源自MRTG(多路由器流量绘图器)。MRTG是有一个大学连接到互联网链路的使用率的小脚本开始的。MRTG后来被当作绘制其他数据源的工具使用,包括温度、速度、电压、输出量等等。

参考:http://blog.sina.com.cn/s/blog_4e424e2101000b5s.html

luajit

C语言写的Lua的解释器

Geoip:IP GIS图形

 Redis

Redis是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。Ntopng的Redis数据结构如下:

Brew快速安装

yanruideMacBook-Pro:~ yanrui$ ruby -v

ruby 2.0.0p481 (2014-05-08 revision 45883) [universal.x86_64-darwin14]

yanruideMacBook-Pro:~ yanrui$ ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”

==> This script will install:

/usr/local/bin/brew

/usr/local/Library/…

/usr/local/share/man/man1/brew.1

Press RETURN to continue or any other key to abort

==> Downloading and installing Homebrew…

remote: Counting objects: 237423, done.

remote: Compressing objects: 100% (1040/1040), done.

remote: Total 237423 (delta 711), reused 0 (delta 0), pack-reused 236381

Receiving objects: 100% (237423/237423), 32.52 MiB | 1.01 MiB/s, done.

Resolving deltas: 100% (176649/176649), done.

From https://github.com/Homebrew/homebrew

* [new branch]      master     -> origin/master

HEAD is now at 0faf905 Return early for the == case in Version#<=>

==> Installation successful!

==> Next steps

Run `brew doctor` before you install anything

Run `brew help` to get started

yanruideMacBook-Pro:~ yanrui$brew install ntopng

cairo: XQuartz is required to install this formula.

You can install with Homebrew Cask:

brew install Caskroom/cask/xquartz

You can download from:

https://xquartz.macosforge.org

pango: XQuartz is required to install this formula.

You can install with Homebrew Cask:

brew install Caskroom/cask/xquartz

You can download from:

https://xquartz.macosforge.org

Error: Unsatisified requirements failed this build.

yanruideMacBook-Pro:~ yanrui$ brew install Caskroom/cask/xquartz

Cloning into ‘/usr/local/Library/Taps/caskroom/homebrew-cask’…

remote: Counting objects: 128670, done.

remote: Compressing objects: 100% (12/12), done.

remote: Total 128670 (delta 4), reused 0 (delta 0), pack-reused 128658

Receiving objects: 100% (128670/128670), 37.17 MiB | 6.00 KiB/s, done.

Resolving deltas: 100% (85113/85113), done.

Checking connectivity… done.

Ntopng 服务启动

yanruideMacBook-Pro:~ yanrui$ sudo ntopng

19/Mar/2015 11:51:40 [Ntop.cpp:586] Setting local networks to 192.168.1.0/24,0.0.0.0/32,224.0.0.0/8,239.0.0.0/8,255.255.255.255/32,127.0.0.0/8

19/Mar/2015 11:51:40 [Redis.cpp:74] Successfully connected to Redis 127.0.0.1:6379

19/Mar/2015 11:51:40 [PcapInterface.cpp:81] Reading packets from interface en0…

19/Mar/2015 11:51:40 [Ntop.cpp:710] Registered interface en0 [id: 0]

19/Mar/2015 11:51:40 [PcapInterface.cpp:81] Reading packets from interface awdl0…

19/Mar/2015 11:51:40 [Ntop.cpp:710] Registered interface awdl0 [id: 1]

19/Mar/2015 11:51:40 [PcapInterface.cpp:81] Reading packets from interface en1…

19/Mar/2015 11:51:40 [Ntop.cpp:710] Registered interface en1 [id: 2]

19/Mar/2015 11:51:40 [PcapInterface.cpp:81] Reading packets from interface en2…

19/Mar/2015 11:51:40 [Ntop.cpp:710] Registered interface en2 [id: 3]

19/Mar/2015 11:51:40 [PcapInterface.cpp:81] Reading packets from interface p2p0…

19/Mar/2015 11:51:40 [Ntop.cpp:710] Registered interface p2p0 [id: 4]

19/Mar/2015 11:51:40 [PcapInterface.cpp:81] Reading packets from interface lo0…

19/Mar/2015 11:51:40 [Ntop.cpp:710] Registered interface lo0 [id: 5]

19/Mar/2015 11:51:40 [Utils.cpp:251] User changed to nobody

19/Mar/2015 11:51:40 [main.cpp:184] PID stored in file /var/tmp/ntopng.pid

19/Mar/2015 11:51:40 [HTTPserver.cpp:392] HTTP server listening on port 3000

P2P演示案例

演示案例:

A->B通过QQ传递一个文件,在B端开启监测服务。

在NTopng WEB 控制台可以实时观测到B端主机的当前流量变化、目标IP地址、协议等。

欢迎交流指正!

预备话题

以下话题构思准备中,请关注

1.NTop在服务器集群中的多点探测部署

2.插件:支持NetFlow

Contact  https://riboseyim.github.io

Linux下取代top的进程管理工具 htop

2016年5月13日 评论已被关闭

Linux下取代top的进程管理工具 htop

 http://www.cnblogs.com/mchina/archive/2013/03/15/2858041.html

一、htop 简介

This is htop, an interactive process viewer for Linux. It is a text-mode application (for console or X terminals) and requires ncurses.

Comparison between htop and top

  • In ‘htop’ you can scroll the list vertically and horizontally to see all processes and complete command lines.
  • In ‘top’ you are subject to a delay for each unassigned key you press (especially annoying when multi-key escape sequences are triggered by accident).
  • ‘htop’ starts faster (‘top’ seems to collect data for a while before displaying anything).
  • In ‘htop’ you don’t need to type the process number to kill a process, in ‘top’ you do.
  • In ‘htop’ you don’t need to type the process number or the priority value to renice a process, in ‘top’ you do.
  • ‘htop’ supports mouse operation, ‘top’ doesn’t
  • ‘top’ is older, hence, more used and tested.

htop 是Linux系统中的一个互动的进程查看器,一个文本模式的应用程序(在控制台或者X终端中),需要ncurses。

与Linux传统的top相比,htop更加人性化。它可让用户交互式操作,支持颜色主题,可横向或纵向滚动浏览进程列表,并支持鼠标操作。

与top相比,htop有以下优点:

  • 可以横向或纵向滚动浏览进程列表,以便看到所有的进程和完整的命令行。
  • 在启动上,比top 更快。
  • 杀进程时不需要输入进程号。
  • htop 支持鼠标操作。
  • top 已经很老了。

htop 官网:http://htop.sourceforge.net/

二、htop 安装

a. 源码包安装

# tar zxvf htop-1.0.2.tar.gz

# cd htop-1.0.2

# ./configure

1

# make && make install

2

若出现错误:

configure: error: You may want to use –disable-unicode or install libncursesw.

则需安装 ncurses-devel

# yum install ncurses-devel

b. RHEL/CentOS 安装

可以通过 yum install htop 来安装它,但前提是要添加epel 的yum源,具体请参考 CentOS yum 源的配置与使用

# rpm -ivh http://download.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
# rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL        //导入key
# yum install htop

三、htop 参数

键入htop 命令,打开htop。

# htop

3

上面左上角显示CPU、内存、交换区的使用情况,右边显示任务、负载、开机时间,下面就是进程实时状况。

下面是 F1~F10 的功能和对应的字母快捷键。

Shortcut Key Function Key Description 中文说明
h, ? F1 Invoke htop Help 查看htop使用说明
S F2 Htop Setup Menu htop 设定
/ F3 Search for a Process 搜索进程
\ F4 Incremental process filtering 增量进程过滤器
t F5 Tree View 显示树形结构
<, > F6 Sort by a column 选择排序方式
[ F7 Nice – (change priority) 可减少nice值,这样就可以提高对应进程的优先级
] F8 Nice + (change priority) 可增加nice值,这样就可以降低对应进程的优先级
k F9 Kill a Process 可对进程传递信号
q F10 Quit htop 结束htop

命令行选项(COMMAND-LINE OPTIONS)

-C –no-color        使用一个单色的配色方案

-d –delay=DELAY     设置延迟更新时间,单位秒

-h –help           显示htop 命令帮助信息

-u –user=USERNAME    只显示一个给定的用户的过程

-p –pid=PID,PID…       只显示给定的PIDs

-s –sort-key COLUMN     依此列来排序

-v –version          显示版本信息

交互式命令(INTERACTIVE COMMANDS)

上下键或PgUP, PgDn 选定想要的进程,左右键或Home, End 移动字段,当然也可以直接用鼠标选定进程;

Space    标记/取消标记一个进程。命令可以作用于多个进程,例如 “kill”,将应用于所有已标记的进程

U    取消标记所有进程

s    选择某一进程,按s:用strace追踪进程的系统调用

l    显示进程打开的文件: 如果安装了lsof,按此键可以显示进程所打开的文件

I    倒转排序顺序,如果排序是正序的,则反转成倒序的,反之亦然

+, –    When in tree view mode, expand or collapse subtree. When a subtree is collapsed a “+” sign shows to the left of the process name.

a (在有多处理器的机器上)    设置 CPU affinity: 标记一个进程允许使用哪些CPU

u    显示特定用户进程

M    按Memory 使用排序

P    按CPU 使用排序

T    按Time+ 使用排序

F    跟踪进程: 如果排序顺序引起选定的进程在列表上到处移动,让选定条跟随该进程。这对监视一个进程非常有用:通过这种方式,你可以让一个进程在屏幕上一直可见。使用方向键会停止该功能。

K    显示/隐藏内核线程

H    显示/隐藏用户线程

Ctrl-L    刷新

Numbers    PID 查找: 输入PID,光标将移动到相应的进程上

四、htop 使用

4.1. 显示自带帮助

鼠标点击Help或者按F1 显示自带帮助

4

4.2. htop 设定

鼠标点击Setup或者按下F2 之后进入htop 设定的页面,Meters 页面设定了顶端的一些信息显示,顶端的显示又分为左右两侧,到底能显示些什么可以在最右侧那栏新增,要新增到上方左侧(F5)或是右侧(F6)都可以,这就是个人设定的范围了。这里多加了一个时钟。

8

上方左右两栏的显示方式分为Text Bar Graph Led 四种,下图我就把 cpu memory swap 改成文本模式显示,然后右栏的改成Bar 显示,clock 用LED方式显示。数据显示都差不多,只是这样看有点不习惯了。

9

关于Display options 的设定,可要根据管理者自己的需要来设定。

10

颜色选择,除了基本的颜色显示之外,htop 还提供了换面板的功能,其实也只是改变一些色彩显示的设定,虽然说不能自定义到细部的颜色显示,但是至少提供了几种风格可以选择。

11

最后一项的设定是调整 Columns 的显示,就是在一般htop 指令进来希望可以看到的什么样的数据及信息,字段的调整可以在这边做个人化的设定,一般使用系统默认值就好了。

12

4.3. 搜索进程

鼠标点击Search 或者按下F3 或者输入”/”, 输入进程名进行搜索,例如搜索ssh

5

4.4. 过滤器

按下F4,进入过滤器,相当于关键字搜索,不区分大小写,例如过滤dev

15

4.5. 显示树形结构

输入”t”或按下F5,显示树形结构,意思跟pstree 差不多,能看到所有程序树状执行的结构,这对于系统管理来说相当方便,理清程序是如何产生的,当然树状结构的浏览也可以依照其他数据来排序。

6

4.6. 选择排序方式

按下F6 就可以选择依照什么来排序,最常排序的内容就是cpu 和memory 吧!

13

4.7 操作进程

F7、F8分别对应nice-和nice+,F9对应kill给进程发信号,选好信号回车就OK了

14

4.8. 显示某个用户的进程,在左侧选择用户

输入”u”,在左侧选择用户

7

五、Alias top

也许你用惯了top,我们也可以用top来打开htop。

编辑/root/.bashrc文件,添加如下代码

if [ -f /usr/local/bin/htop ]; then
    alias top=’/usr/local/bin/htop’
fi

# source /root/.bashrc

Redis监控方案

2016年5月12日 评论已被关闭

Redis监控方案

http://blog.csdn.net/babydavic/article/details/8554893

Redis 监控最直接的方法当然就是使用系统提供的 info 命令来做了,你只需要执行下面一条命令,就能获得 Redis 系统的状态报告。

redis-cli info

内存使用

如果 Redis 使用的内存超出了可用的物理内存大小,那么 Redis 很可能系统会被 OOM Killer杀掉。针对这一点,你可以通过 info 命令对 used_memory 和 used_memory_peak 进行监控,为使用内存量设定阀值,并设定相应的报警机制。当然,报警只是手段,重要的是你得预先计划好,当内存使用量过大后,你应该做些什么,是清除一些没用的冷数据,还是把 Redis 迁移到更强大的机器上去。

持久化

如果因为你的机器或 Redis 本身的问题导致 Redis 崩溃了,那么你唯一的救命稻草可能就是 dump 出来的 rdb文件了,所以,对 Redis dump 文件进行监控也是很重要的。你可以通过对rdb_last_save_time 进行监控,了解你最近一次 dump 数据操作的时间,还可以通过对rdb_changes_since_last_save 进行监控来知识如果这时候出现故障,你会丢失多少数据。

主从复制

如果你设置了主从复制模式,那么你最好对复制的情况是否正常做一些监控,主要是对 info 输出中的 master_link_status 进行监控,如果这个值是 up,那么说明同步正常,如果是 down,那么你就要注意一下输出的其它一些诊断信息了。比如下面这些:

role:slave
master_host:192.168.1.128
master_port:6379
master_link_status:down
master_last_io_seconds_ago:-1
master_sync_in_progress:0
master_link_down_since_seconds:1356900595

Fork 性能

当 Redis 持久化数据到磁盘上时,它会进行一次 fork 操作,通过 fork 对内存的 copy on write 机制最廉价的实现内存镜像。但是虽然内存是 copy on write 的,但是虚拟内存表是在 fork 的瞬间就需要分配,所以 fork 会造成主线程短时间的卡顿(停止所有读写操作),这个卡顿时间和当前 Redis 的内存使用量有关。通常 GB 量级的 Redis 进行 fork 操作的时间在毫秒级。你可以通过对 info 输出的 latest_fork_usec 进行监控来了解最近一次 fork 操作导致了多少时间的卡顿。

配置一致

Redis 支持使用 CONFIG SET 操作来实现运行实的配置修改,这很方便,但同时也会导致一个问题。就是通过这个命令动态修改的配置,是不会同步到你的配置文件中去的。所以当你因为某些原因重启 Redis 时,你使用 CONFIG SET 做的配置修改就会丢失掉,所以我们最好保证在每次使用 CONFIG SET 修改配置时,也把配置文件一起相应地改掉。为了防止人为的失误,所以我们最好对配置进行监控,使用 CONFIG GET 命令来获取当前运行时的配置,并与 redis.conf 中的配置值进行对比,如果发现两边对不上,就启动报警。

慢日志

Redis 提供了 SLOWLOG 指令来获取最近的慢日志,Redis 的慢日志是直接存在内存中的,所以它的慢日志开销并不大,在实际应用中,我们通过 crontab 任务执行 SLOWLOG 命令来获取慢日志,然后将慢日志存到文件中,并用 Kibana 生成实时的性能图表来实现性能监控。

值得一提的是,Redis 的慢日志记录的时间,仅仅包括 Redis 自身对一条命令的执行时间,不包括 IO 的时间,比如接收客户端数据和发送客户端数据这些时间。另外,Redis 的慢日志和其它数据库的慢日志有一点不同,其它数据库偶尔出现 100ms 的慢日志可能都比较正常,因为一般数据库都是多线程并发执行,某个线程执行某个命令的性能可能并不能代表整体性能,但是对 Redis 来说,它是单线程的,一旦出现慢日志,可能就需要马上得到重视,最好去查一下具体是什么原因了。

监控服务

-Sentinel

Sentinel 是 Redis 自带的工具,它可以对 Redis 主从复制进行监控,并实现主挂掉之后的自动故障转移。在转移的过程中,它还可以被配置去执行一个用户自定义的脚本,在脚本中我们就能够实现报警通知等功能。

-Redis Live

Redis Live 是一个更通用的 Redis 监控方案,它的原理是定时在 Redis 上执行 MONITOR 命令,来获取当前 Redis 当前正在执行的命令,并通过统计分析,生成web页面的可视化分析报表。

-Redis Faina

Redis Faina 是由著名的图片分享应用 instagram 开发的 Redis 监控服务,其原理和 Redis Live 类似,都是对通过 MONITOR 来做的。

数据分布

弄清 Redis 中数据存储分布是一件很难的是,比如你想知道哪类型的 key 值占用内存最多。下面是一些工具,可以帮助你对 Redis 的数据集进行分析。

-Redis-sampler

Redis-sampler 是 Redis 作者开发的工具,它通过采用的方法,能够让你了解到当前 Redis 中的数据的大致类型,数据及分布状况。

-Redis-audit

Redis-audit 是一个脚本,通过它,我们可以知道每一类 key 对内存的使用量。它可以提供的数据有:某一类 key 值的访问频率如何,有多少值设置了过期时间,某一类 key 值使用内存的大小,这很方便让我们能排查哪些 key 不常用或者压根不用。

-Redis-rdb-tools

Redis-rdb-tools 跟 Redis-audit 功能类似,不同的是它是通过对 rdb 文件进行分析来取得统计数据的。

翻译:http://snmaynard.com/2013/01/22/redis-masterclass-part-two-monitoring-redis/

 

分布式监控报警平台Centreon之:Centreon简介

2016年5月12日 评论已被关闭

分布式监控报警平台Centreon之:Centreon简介

http://blog.chinaunix.net/uid-20671208-id-4655767.html

一、Centreon概述
Centreon是一款功能强大的分布式IT监控系统,它通过第三方组件可以实现对网络、操作系统和应用程序的监控:首先,它是开源的,我们可以免费使用它;其次,它的底层采用nagios作为监控软件,同时nagios通过ndoutil模块将监控到的数据定时写入数据库中,而Centreon实时从数据库读取该数据并通过Web界面展现监控数据;,最后,我们可以通过Centreon管理和配置nagios,或者说Centreon就是nagios的一个管理配置工具,通过Centreon提供的Web配置界面,可以轻松完成nagios的各种繁琐配置。
此外,Centreon还支持NRPE、SNMP、NSClient等插件,可以通过这些插件构建分布式的监控报警系统。
二、 Centreon的特点
Centreon作为一款优秀的IT监控软件,具有如下显著特点和优点:
采用web方式配置nagios,通过web界面即可完全控制nagios,可以轻松添加和管理上千台主机和服务。
支持主机模板和服务模板,并且自动建立关联服务。
支持多节点的分布式监控,对于远程节点可采用NRPE、SNMP、NSClient等方式监控私有服务。
支持ACL权限管理,可以给不同用户设置不同的管理权限,多个用户可以管理不同主机和服务,互不影响。
详细的报表统计功能和日志管理功能,可以查看某个时间段某个服务或主机的运行状态、故障率等。
模块化管理,可根据需要定制自己的模块,同时支持第三方监控数据接入。
三、 Centreon的结构
一个典型的Centreon监控系统一般有四大部分组成,分别是nagios、centstorage、centcore和ndoutils,简单介绍如下:
nagios是Centreon的底层监控引擎,主要完成监控报警系统所需的各项功能,是Centreon监控系统的核心。另外,Centreon还支持Centreon Engine、Icinga等监控引擎。本章采用nagios监控引擎进行介绍。
centstorage是一个数据存储模块,它主要用于将日志数据及RRDtool生成的数据存储到数据库中,以供用户查询日志数据并快速生成曲线图,更主要的是nagios可以随时通过查看数据库中的记录更新监控状态。
centcore主要用于cnetreon的分布式监控系统中,在系统中centcore是一个基于perl的守护进程,主要负责中心服务器(central server)和扩展节点(pollers)间的通信和数据同步等操作,例如centcore可以在中心服务器上执行对远程扩展节点上nagios服务的启动、关闭和重启操作,还可以运行、更新扩展节点上nagios的配置文件。
ndoutils是将nagios与数据库进行连接的工具,它可以将nagios的实时状态写入数据库,以供其他程序去调用,最终可以实现在一个控制台上完成所有扩展节点的数据入库操作。

在介绍了Centreon监控系统的基本组成以后,下面重点看看每个组成部分是如何协调工作的,如下图1所示。

图1主要展示了Centreon每个组成部分是如何工作的,在组织结构上,一般情况下,Centreon Web、Centrstorage、Centcore和Ndo2DB位于中心服务器上,而Nagios和Ndomod可以位于一台独立的扩展节点(pollers)上,也可以位于中心服务器上。在分布式监控环境中,Nagios和Ndomod都位于远程的一个扩展节点上,此图没有展示Centreon的分布式监控构架,这个将后面详细介绍。

为了能使大家快速了解Centreon的内部工作原理,我们将图1分为三条线来介绍,第一条线:Centreon Web—>Centcore—> Centstorage—>db—> Centreon Web,Centreon Web就是Centreon的Web配置管理界面,在Web配置管理界面中配置好主机和服务后,会生成相应的配置文件,然后Centcore会去读取这些配置文件并结合相关Nagios插件将数据发送到Nagios监控引擎,并生成相关日志文件和rrds文件,而Centstorage模块会及时收集这些日志信息及rrds数据并最终将这些数据存入数据库中,以供Centreon Web展示调用。

接着是第二条线:Nagios—> Centstorage—>db—> Centreon Web,在本地或远程的扩展节点中Nagios监控引擎会产生日志文件和rrds文件,这些文件定期被Centstorage读取并最终存储在数据库中,以供Centreon Web读取。

最后一条线:Nagios(Ndomod)—> Ndo2DB—>db—> Centreon Web,这一条线将Nagios实时监控状态写入数据库,首先由在本地或远程扩展节点上的Ndomod进程将Nagios监控状态通过Ndo2DB模块写入数据库,最后Centreon Web会定期调用此db库,这样监控系统中各个主机或服务的监控状态就被实时展示出来了。

通过对这三条线的描述,Centreon内部工作过程就变得非常清晰了!

rsync 同步shell并邮件发送错误信息

2016年5月12日 评论已被关闭

rsync 同步shell并邮件发送错误信息

http://88fly.blog.163.com/blog/static/12268039020131333551836/?suggestedreading&wumii

同步log文件,并错误发送邮件

(要求将/var/log/logbak/下的log文件同步到192.168.0.111上对应的目录并发送错误报告,注意:此处log文件是以日期命名的,例如:13011105-xxx.log,日期等同于date -d -1hour +%y%m%d%H )

#!/bin/bash

if [ -z $1 ]
then
DATE=`date -d -1hour +%y%m%d%H`
srcdir=”/var/log/trackerlogs/${DATE}-who”
else
DATE=`date -d -$1day +%y%m%d`
srcdir=”/var/log/logbak/${DATE}”
fi

echo > /tmp/Rsync_status.txt

#Synchronization

function Sync()
{
echo “Sync $1 …… Starting”
Host=”$1″
rsync -vzrtopg –password-file=/etc/rsyncd.log_59 ${srcdir}* 
backup@${Host}::log_59 >>/tmp/Rsync_status.txt 2>&1
if [ $? -eq 0  ]
then
echo “Sync $1 …… [OK] ” |tee -a /tmp/Rsync_status.txt
else
echo -e “\033[1;31;40mSync $1 …… [FAILED] \033[0m” |tee -a /tmp/Rsync_status.txt
mail -s “59FAILED” 
xx@qq.com -c xx1@qq.com -c xx2@qq.com -c xx3@qq.com </tmp/Rsync_status.txt
fi
}
Sync 192.168.0.111

wait
echo END
echo —————————–

 

 

(输入起始和结束日期,将/var/log/logbak/下的log文件同步到192.168.0.111对应目录并发送错误报告,注意:此处log文件是以日期命名的,例如:13011105-xxx.log

#!/bin/sh
echo -n “Enter the start time(for example:20130101):”
read start_time
echo -n “Enter the end time(for example:20130102):”
read end_time
startDate=$start_time
endDate=$end_time
startSec=`date -d “$startDate” “+%s”`
endSec=`date -d “$endDate” “+%s”`
echo “”
echo “…………………………………..”
echo “now,we will sync the log form $start_time to $end_time”
echo “…………………………………..”
sleep 1
function check_syncstatus()
{
if [ $? -eq 0  ]
then
echo “Sync  …… [OK] ” |tee -a /tmp/Rsync_status.txt
else
echo -e “\033[1;31;40mSync $1 …… [FAILED] \033[0m” |tee -a /tmp/Rsync_status.txt
mail -s “59FAILED” 
xx@qq.com -c xx1@qq.com -c xx2@qq.com -c xx3@qq.com </tmp/Rsync_status.txt
fi
}
for((i=$startSec;i<=$endSec;i+=86400));
do
data=`date -d “@$i” “+%y%m%d”`
for tm in $data
do
rsync -vzrtopg –password-file=/etc/rsyncd.log_3 /var/log/logbak/$tm*
backup@192.168.0.111::log_3
   check_syncstatus
done
done

分类: Linux配置管理工具 标签:

Linux下使用rsync最快速删除海量文件的方法

2016年5月12日 评论已被关闭

Linux下使用rsync最快速删除海量文件的方法

http://88fly.blog.163.com/blog/static/12268039020136510535657/?suggestedreading&wumii

Linux下使用rsync最快速删除海量文件的方法
1、先安装rsync:
yum install rsync
2、建立一个空的文件夹:
mkdir /tmp/test
3、用rsync删除目标目录:
rsync –delete-before -a -H -v –progress –stats /tmp/test/ log/
这样我们要删除的log目录就会被清空了,删除的速度会非常快。rsync实际上用的是替换原理,处理数十万个文件也是秒删。
选项说明:
–delete-before 接收者在传输之前进行删除操作
–progress 在传输时显示传输过程
-a 归档模式,表示以递归方式传输文件,并保持所有文件属性
-H 保持硬连接的文件
-v 详细输出模式
–stats 给出某些文件的传输状态

linux rsync 安装配置同步文件和文件夹

2016年5月12日 评论已被关闭

linux rsync 安装配置同步文件和文件夹

http://88fly.blog.163.com/blog/static/12268039020107232735645/

安装方式一:

下载

#wget http://rsync.samba.org/ftp/rsync/rsync-2.6.9.tar.gz

安装,客户端和服务器端都需要安装

#tar zxf rsync-2.6.9.tar.gz

#cd rsync-2.6.9

#./configure –prefix=/usr/local/rsync/

#make && make install

#make clean

安装方式二:

也可以采用yum方式安装rsync

查看是否已安装

[root@localhost ~]# rpm -qa|grep rsync

rsync-3.0.6-4.el5_7.1 

未安装则执行:

#yum -y install rsync*

修改rsync的配置文件,disable = yes 改为 no 

# vim /etc/xinetd.d/rsync

# default: off

# description: The rsync server is a good addition to an ftp server, as it \

#       allows crc checksumming etc.

service rsync

{

        disable = no

        socket_type     = stream

        wait            = no

        user            = root

        server          = /usr/bin/rsync

        server_args     = –daemon

        log_on_failure  += USERID

}

         改完重启xinetd ,再查看rsync端口有没有开启

# service xinetd restart

# netstat -an|grep 873

tcp        0      0 0.0.0.0:873                 0.0.0.0:*                   LISTEN

 端口在监听中,说明rsync 启动了

配置:

环境介绍

server端172.31.0.7,AS4

client端172.31.0.12,AS4

配置server端

#vi /etc/rsyncd.conf    #文件名必须是rsyncd.conf,默认rsync执行的时候在/etc/下查找rsyncd.conf(可自行创建)

uid = nobody

gid = nobody

use chroot = no

max connections = 4                                     #最大连接数为4 

pid file = /var/run/rsyncd.pid

lock file = /var/run/rsync.lock

log file = /var/log/rsyncd.log                          #日志记录文件

secrets file = /etc/rsyncd.secrets                   #存放密码的文件

read only = yes                                           #只读

ignore errors                                               #忽略IO错误

hosts allow = 172.31.0.0/16                         #允许部分主机访问

hosts deny = 192.168.1.0/24                       #禁止这些主机访问

[test]                                                        #实例名,同步的时候就需要指定实例名

path = /home/saman/                                 #需要同步的目录

comment = BACKUP TEST                           #类似描述信息

list = no                                                    #不允许list文件目录

auth users = saman                                    #认证的用户名

#vi /etc/rsyncd.secrets

saman:123456                                           #指定用户saman的密码为123456

#chmod 600 /etc/rsyncd.secrets    #为了安全,密码文件的属性只能是所有者可读

#/usr/local/rsync/bin/rsync –daemon    #以daemon方式运行rsync

客户端不需要特殊配置,同步的时候执行

#/usr/local/rsync/bin/rsync -vaz –delete saman@172.31.0.7::test /data/backupall/saman/test/

 参数详细提示

a 以archive模式操作,复制目录、符号连接,相当于参数-rlptgoD

z 传输的时候进行压缩

–delete如果服务器端删除了文件,客户端也删除相应的文件,保持真正的同步

saman@172.31.0.7中的saman即认证的用户名

::test中的test即server端指定的实例名

/data/backupall/saman/test/即客户端被同步的文件夹

执行后会提示输入密码,输入/etc/rsyncd.secrets指定的密码即可,也可以创建一个包含密码的文件,用–password-file=file来指定密码文件

#vi /data/saman/rsync.pass

123456

#chmod 600 /data/saman/rsync.pass    #为了安全,密码文件的属性只能是所有者可读

#/usr/local/rsync/bin/rsync -vaz –delete –password-file=/data/saman/rsync.pass saman@172.31.0.7::test /data/backupall/saman/test/

实例

server  10.0.0.3

[logbak]

path=/var/log/logbak

comment=nagios plugins

ignore errors = yes

uid=nagios

gid=nagios

list = yes

read only = no

hosts allow=60.101.101.101

hosts deny=*

auth users=backup

secrets file = /etc/rsyncd.secrets

[root@wholesale-dress ~]# cat /etc/rsyncd.secrets

backup:backup

client

rsync -avzp –delete backup@10.0.0.3::logbak /usr/local/hexin/data/logbak

分类: Linux配置管理工具 标签:

Centreon+nagios安装配置相关问题汇总

2016年5月12日 评论已被关闭

Centreon+nagios安装配置相关问题汇总

http://88fly.blog.163.com/blog/static/1226803902012111810212612/

nagios与错误log:
[1354969720] ndomod: NDOMOD 1.5.2 (06-08-2012) Copyright (c) 2009 Nagios Core Development Team and Community Contributors
[1354969720] ndomod: Could not open data sink!  I’ll keep trying, but some output may get lost…
[1354969720] Event broker module ‘/usr/local/nagios/bin//ndomod.o’ initialized successfully.
[1354969720] Finished daemonizing… (New PID=31660)
[1354969720] INITIAL HOST STATE: Centreon-Server;DOWN;HARD;5;Warning: This plugin must be either run as root or setuid root.
[1354969720] INITIAL SERVICE STATE: Centreon-Server;Disk-/;UNKNOWN;HARD;3;ERROR:  No response from remote host ‘127.0.0.1’.
[1354969720] INITIAL SERVICE STATE: Centreon-Server;Load;UNKNOWN;HARD;3;UNKNOWN: No response from remote host ‘127.0.0.1’.
[1354969720] INITIAL SERVICE STATE: Centreon-Server;Memory;UNKNOWN;HARD;3;ERROR: Description Table hrStorageType : No response from remote host ‘127.0.0.1’.
[1354969720] INITIAL SERVICE STATE: Centreon-Server;Ping;UNKNOWN;HARD;3;Warning: This plugin must be either run as root or setuid root.
[1354969736] ndomod: Still unable to connect to data sink.  0 items lost, 654 queued items to flush.
[1354969752] ndomod: Still unable to connect to data sink.  0 items lost, 715 queued items to flush.
[1354969768] ndomod: Still unable to connect to data sink.  0 items lost, 782 queued items to flush.
[1354969784] ndomod: Still unable to connect to data sink.  0 items lost, 850 queued items to flush.
[1354969800] ndomod: Still unable to connect to data sink.  0 items lost, 919 queued items to flush.
[1354969816] ndomod: Still unable to connect to data sink.  0 items lost, 980 queued items to flush.
[1354969832] ndomod: Still unable to connect to data sink.  0 items lost, 1045 queued items to flush.

检查NDOutils配置问题(vi /usr/local/nagios/etc/ndomod.cfg  vi /etc/nagios/ndo2db.cfg )
若配置成功启动nagios日志会出现如下提示
[1354970056] ndomod: Successfully connected to data sink.  1939 queued items to flush.
[1354970056] ndomod: Successfully flushed 1939 queued items to data sink.
[1354970062] ndomod: Error writing to data sink!  Some output may get lost…
[1354970062] ndomod: Please check remote ndo2db log, database connection or SSL Parameters
[1354970078] ndomod: Successfully reconnected to data sink!  0 items lost, 59 queued items to flush.
[1354970078] ndomod: Successfully flushed 59 queued items to data sink.

 

“Warning: This plugin must be either run as root or setuid root”

随即发现所有的host状态都变为down,系统的提示信息为“Warning: This plugin must be either run as root or setuid root”
原来check_icmp需要root的权限执行,于是修改setuid bit的设置

/usr/local/nagios/libexec # chown root:nagios check_icmp
/usr/local/nagios/libexec # chmod 4711 check_icmp
/usr/local/nagios/libexec # ls -alt check_icmp
-rws–x–x 1 root nagios 107328 Apr 28 12:55 check_icmp

[root@localhost ~]# pear install SOAP-0.13.0
Did not download optional dependencies: pear/Mail, pear/Mail_Mime, use –alldeps to download automatically
pear/SOAP requires PEAR Installer (version >= 1.5.4), installed version is 1.4.9
pear/SOAP can optionally use package “pear/Mail”
pear/SOAP can optionally use package “pear/Mail_Mime”
No valid packages found
install failed

解决方法就是: pear upgrade –force PEAR,升级PEAR!

Centreon+nagios安装配置二(详细图解)

2016年5月12日 评论已被关闭

Centreon+nagios安装配置二(详细图解)

http://88fly.blog.163.com/blog/static/122680390201211189565699/

web浏览配置

http://192.168.3.172/centreon/main.php

Centreon+nagios安装配置(详细图解)二 - herb - herb

 2. 设定centreon控制nagios

其实如果按照上面的步骤操作,默认都是设定好的,这里只是提示要注意的地方。
1) 在Nagios中启用NDO模块

Centreon+nagios安装配置(详细图解)二 - herb - herb

 broker_module=/usr/local/nagios/bin//ndomod.o config_file=/usr/local/nagios/etc/ndomod.cfg

Centreon+nagios安装配置(详细图解)二 - herb - herb

 2) 配置ndo2db,端口、socket type 要和前面的一样:

Centreon+nagios安装配置(详细图解)二 - herb - herb

 

vi /usr/local/nagios/etc/ndomod.cfg   (修改如下所示)

output_type=tcpsocket
#output_type=unixsocket
#output=/usr/local/nagios/var/ndo.dat
output=127.0.0.1
#output=/usr/local/nagios/var/ndo.sock

# vi /etc/nagios/ndo2db.cfg  (修改如下所示)
#socket_type=unix
socket_type=tcp
#socket_name=/usr/local/nagios/var/ndo.sock
db_servertype=mysql
db_host=localhost
db_port=3306
db_name=centstatus
db_user=centreon
db_pass=root

(此处为安装时自动创建的用于存储nagios信息的NDO database)

Centreon+nagios安装配置(详细图解)二 - herb - herb

 [root@centreon ~]# /etc/init.d/ndo2db start
[root@localhost etc]# netstat -tlupn|grep ndo2db
tcp        0      0 0.0.0.0:5668                0.0.0.0:*                   LISTEN      5083/ndo2db 

3) 激活配置
这里是测试配置有没有问题:

Centreon+nagios安装配置(详细图解)二 - herb - herb

 

Centreon+nagios安装配置(详细图解)二 - herb - herb
第一次激活时,在/usr/local/nagios/etc 目录中会生成相应监控模板、主机、服务的配置文件:

Centreon+nagios安装配置(详细图解)二 - herb - herb

 8)、启动相关服务

[root@centreon ~]# /etc/init.d/nagios start
[root@centreon ~]# /etc/init.d/ndo2db restart
[root@centreon ~]# /etc/init.d/centcore start
[root@centreon ~]# /etc/init.d/centstorage start
[root@centreon ~]#/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg –d

 centreon汉化

[root@centreon ~]#wget http://cacti-nagios.googlecode.com/files/messages.mo

[root@centreon ~]#mkdir -p /usr/local/centreon/www/locale/zh_CN/LC_MESSAGES/

[root@centreon ~]#cp messages.mo /usr/local/centreon/www/locale/zh_CN/LC_MESSAGES/

[root@centreon ~]#chown apache:apache -R /usr/local/centreon/www/locale

Centreon+nagios安装配置(详细图解)二 - herb - herb

 

Centreon+nagios安装配置一(详细图解)

2016年5月12日 评论已被关闭

Centreon+nagios安装配置一(详细图解)

http://88fly.blog.163.com/blog/static/1226803902012111855429591/

[简介]

    centreon是开源的IT监控软件,由法国人于2003年开发,最初名为Oreon,并于2005年正式更名为centreon。

  centreon作为nagios的分布式监控管理平台,其功能之强大,打造了centreon在IT监控方面强势地位,它的底层使用nagios监控软件,nagios通过ndoutil模块将监控数据写入数据库,centreon读取该数据并即时的展现监控信息,通过centreon可以简单地管理和配置所有nagios,因此,完全可以使用centreon轻易的搭建企业级分布式IT基础运维监控系统。

  在功能方面,将它与nagios+cacti方式对比,说一下优点:

  1、gui方式添加host,支持hosttemplate与servicestemplate,自动建立关联服务,与nagios+cacti相比配置方便简单。

  2、支持graphtemplate,添加servcie时自动添加graph,不必象nagios+cacti监控与流量图设置2步走。

  3、host监控可以全部采用nrpe方式,不必象nagios+cacti生成流量图必须使用snmp。

  4、支持多节点分布式监控,nagios+cacti的分布式监控现在想起来都头痛。

  5、支持acl权限管理方式,对用户权限限制到菜单项,nagios+cacti一个帐号大家用过时啦。

  6、详细的日志管理功能,日志搜索过滤都支持 7、功能模块化管理,想要新功能官方没有怎么办,自己写去。

一.环境安装
首先安装软件库列表,一些用yum安装的软件包都依赖于这个库。

# rpm –import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt

# wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.1-1.el5.rf.i386.rpm

# rpm -ivh rpmforge-release-0.5.1-1.el5.rf.i386.rpm

更新:
# yum update
安装apache:
# yum install httpd 

安装GD库
# yum install ad fontconfig-devel libjpeg-devel libpng-devel gd-devel perl-GD

安装mysql
# yum install openssl-devel  mysql-server mysql-devel

安装php
# yum install php php-mysql php-gd

安装php扩展
# yum install php-ldap php-xml php-mbstring

安装DBI
# yum install perl-DBI perl-DBD-MySQL
安装perl模块
# yum install perl-Config-IniFiles
安装rrdtools
# yum install rrdtools perl-rrdtool
安装SNMP
#yum install perl-Crypt-DES perl-Digest-SHA1 perl-Digest-HMAC net-snmp-utils
#yum install perl-Socket6 perl-IO-Socket-INET6 net-snmp net-snmp-libs php-snmp dmidecode lm_sensors perl-Net-SNMP net-snmp-perl

安装fping和一些开发库
# yum install fping cpp gcc gcc-c++ libstdc++ glib2-devel

安装pear
# yum install php-pear php-pear-DB
# pear channel-update pear.php.net
# pear upgrade-all

2. 安装nagios
创建一个naiogs用户

# useradd -m nagios
# passwd nagios

创建一个使用扩展命令的组:
# groupadd nagcmd
# usermod –G nagios,nagcmd apache

下载并安装:
# wgethttp://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.3.tar.gz
# tar –zxvf nagios-3.2.3.tar.gz
# cd nagios-3.2.1
# ./configure  –prefix=/usr/local/nagios  –with-command-group=nagcmd –enable-nanosleep –enable-broker
# make all
# make install
# make install-init
# make install-commandmode
# make install-config
# make install-web

 ——————————————————————————————————————————–
3.安装nagios插件

# wgethttp://ovh.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.15.tar.gz
# tar -xvf  nagios-plugins-1.4.15.tar.gz
# cd nagios-plugins-1.4.15
# ./configure –with-nagios-user=nagios –with-nagios-group=nagios –with-openssl=/usr/bin/openssl –enable-perl-modules
# make
# make install

4. 安装NDOutils

官方的一些简介:

NDOUtils allows you to export current and historical data from one or more Nagios instances to a MySQL database. Several community addons use this as one of their data sources. NDOUtils consists of a standalone daemon, a Nagios event broker, and several helper utilities

Centreon gets all its status and performace data directly from the database. To get the data into the DB, ndoutilsareused as an additional layer between nagios and centreon. NDOutils consist of 2 parts: ndomod and ndo2db – the first one is thesender, the second thereceiver. As you can read in DistributedArchitecture and see in the image, each nagios instance sends data through the ndomod module to the ndo2db daemon, which writes the data into the database. To enable such a setup some manual configuration steps are needed.

NDOutils软件主要是用于将数据存数据库,然后又可读取出来,它在nagios与centerton之间接收和发送数据。

wget http://nchc.dl.sourceforge.net/project/nagios/ndoutils-1.x/ndoutils-1.5.2/ndoutils-1.5.2.tar.gz
tar -xvf ndoutils-1.5.2.tar.gz
./configure -prefix=/usr/local/nagios -with-mysql-lib=/usr/lib64/mysql -with-mysql-inc=/var/include/mysql
make
手动将一些二进制文件和库文件copy到nagios目录

# cp ./src/ndomod-3x.o /usr/local/nagios/bin/ndomod.o

# cp ./src/ndo2db-3x /usr/local/nagios/bin/ndo2db

# cp ./config/ndo2db.cfg-sample /usr/local/nagios/etc/ndo2db.cfg

# cp ./config/ndomod.cfg-sample /usr/local/nagios/etc/ndomod.cfg

# chmod 774 /usr/local/nagios/bin/ndo*

# chown nagios:nagios /usr/local/nagios/bin/ndo*

(稍后配置ndo2db )
安装centreon
wget
http://download.centreon.com/centreon/centreon-2.3.8.tar.gz
tar -xvf centreon-2.3.8.tar.gz
cd centreon-2.3.8
export PATH=”$PATH:/usr/local/nagios/bin/”
./install.sh  -i

 

Do you accept GPL license ?
[y/n], default to [n]:
> y
————————————————————————
Please choose what you want to install
————————————————————————

Do you want to install : Centreon Web Front
[y/n], default to [n]:
> y

Do you want to install : Centreon CentCore
[y/n], default to [n]:
> y

Do you want to install : Centreon Nagios Plugins
[y/n], default to [n]:
> y

Do you want to install : Centreon Snmp Traps process
[y/n], default to [n]:
> y

————————————————————————
Start CentWeb Installation
————————————————————————

Where is your Centreon directory?
default to [/usr/local/centreon]
> y
You select slash…

Where is your Centreon directory?
default to [/usr/local/centreon]
>

Do you want me to create this directory ? [/usr/local/centreon]
[y/n], default to [n]:
> y
Path /usr/local/centreon                                   OK

Where is your Centreon log directory
default to [/usr/local/centreon/log]
> y
You select slash…

Where is your Centreon log directory
default to [/usr/local/centreon/log]
>

Do you want me to create this directory ? [/usr/local/centreon/log]
[y/n], default to [n]:
> y
Path /usr/local/centreon/log                               OK

Where is your Centreon etc directory
default to [/etc/centreon]
>

Do you want me to create this directory ? [/etc/centreon]
[y/n], default to [n]:
> y
Path /etc/centreon                                         OK

Where is your Centreon generation_files directory?
default to [/usr/local/centreon]
>
Path /usr/local/centreon                                   OK

Where is your Centreon variable library directory?
default to [/var/lib/centreon]
>

Do you want me to create this directory ? [/var/lib/centreon]
[y/n], default to [n]:
> y
Path /var/lib/centreon                                     OK

Where is your CentPlugins Traps binary
default to [/usr/local/centreon/bin]
>

Do you want me to create this directory ? [/usr/local/centreon/bin]
[y/n], default to [n]:
> y
Path /usr/local/centreon/bin                               OK

Where is the RRD perl module installed [RRDs.pm]
default to [/usr/lib/perl5/RRDs.pm]
>
/usr/lib/perl5/RRDs.pm is not a valid file.                CRITICAL

Where is the RRD perl module installed [RRDs.pm]
default to [/usr/lib/perl5/RRDs.pm]
> /usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/RRDs.pm
Path /usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-threadOKulti
/usr/bin/rrdtool                                           OK
/bin/mail                                                  OK
上面的默认位置未能加载通过,需要手动输入具体路径,如下为查找RRDs.pm的位置

centreon+nagios安装配置1 - herb - herb
Where is PEAR [PEAR.php]
default to [/usr/share/php/PEAR.php]
>
/usr/share/php/PEAR.php is not a valid file.               CRITICAL
Where is PEAR [PEAR.php]
default to [/usr/share/php/PEAR.php]
> /usr/share/pear/PEAR.php
Path /usr/share/pear                                       OK
手动输入路径,查找方式如下

centreon+nagios安装配置1 - herb - herb

Where is installed Nagios ?
default to [/usr/local/nagios]
>
Path /usr/local/nagios                                     OK

Where is your nagios config directory
default to [/usr/local/nagios/etc]
>
Path /usr/local/nagios/etc                                 OK
Where is your Nagios var directory ?
default to [/usr/local/nagios/var]
>
Path /usr/local/nagios/var                                 OK
Where is your Nagios plugins (libexec) directory ?
default to [/usr/local/nagios/libexec]
>
Path /usr/local/nagios/libexec                             OK
/usr/local/nagios/bin//nagios                              OK
Where is your Nagios image directory ?
default to [/usr/local/nagios/share/images/logos]
>
Path /usr/local/nagios/share/images/logos                  OK
/usr/local/nagios/bin//nagiostats                          OK
p1_file : /usr/local/nagios/bin/p1.pl                      OK
/usr/bin/php                                               OK
/usr/bin/perl                                              OK
Finding Apache group :                                     apache
Finding Apache user :                                      apache
Finding Nagios user :                                      nagios
Finding Nagios group :                                     nagios
/usr/local/nagios/bin//ndomod.o                            OK
————————————————————————
Configure Sudo
————————————————————————
Where is sudo configuration file
default to [/etc/sudoers]
>
/etc/sudoers                                               OK
Nagios init script                                         OK
Your sudo is not configured
Do you want me to configure your sudo ? (WARNING)
[y/n], default to [n]:
> Y
Do you want me to configure your sudo ? (WARNING)
[y/n], default to [n]:
> Y^H
Do you want me to configure your sudo ? (WARNING)
[y/n], default to [n]:
> y
Configuring Sudo                                           OK
————————————————————————
Configure Apache server
————————————————————————
Do you want to add Centreon Apache sub configuration file ?
[y/n], default to [n]:
> y
Create ‘/etc/httpd/conf.d/centreon.conf’                   OK
Configuring Apache                                         OK
Do you want to reload your Apache ?
[y/n], default to [n]:
> y
Reloading Apache service                                   OK
Preparing Centreon temporary files
Change right on /usr/local/centreon/log                    OK
Change right on /etc/centreon                              OK
Change right on /usr/local/nagios/share/images/logos       OK
Install nagios documentation                               OK
Change macros for insertBaseConf.sql                       OK
Change macros for php files
Change macros for php files                                OK
Change right on /usr/local/nagios/etc                      OK
Copy CentWeb in system directory
Install CentWeb (web front of centreon)                    OK
Install libraries                                          OK
Copying libinstall                                         OK
Change macros for centreon.cron                            OK
Install Centreon cron.d file                               OK
Change macros for archiveDayLog                            OK
Change macros for centAcl.php                              OK
Install cron directory                                     OK
————————————————————————
Pear Modules
————————————————————————
Check PEAR modules
PEAR                            1.4.9       1.4.9          OK
DB                              1.7.6       1.7.14         OK
DB_DataObject                   1.8.4                      NOK
DB_DataObject_FormBuilder       1.0.0RC4                   NOK
MDB2                            2.0.0                      NOK
Date                            1.4.6                      NOK
HTML_Common                     1.2.2                      NOK
HTML_QuickForm                  3.2.5                      NOK
HTML_QuickForm_advmultiselect   1.1.0                      NOK
HTML_Table                      1.6.1                      NOK
Archive_Tar                     1.1         1.3.1          OK
Auth_SASL                       1.0.1                      NOK
Console_Getopt                  1.2         1.2            OK
Net_SMTP                        1.2.8                      NOK
Net_Socket                      1.0.1                      NOK
Net_Traceroute                  0.21                       NOK
Net_Ping                        2.4.1                      NOK
Validate                        0.6.2                      NOK
XML_RPC                         1.4.5       1.5.5          OK
SOAP                            0.10.1                     NOK
Log                             1.9.11                     NOK
提示安装或更新PEAR模块。这一步选择“y”后,它会自动安装或更新,有的显示“OK”就表示安装成功,对于“NOK”表示没有成功,它会一直循环下去,直到“OK”,所以我们需要另外开启一终端 手动安装所有未通过的PEAR模块,如下命令将对所有PAAR模块进行批量安装
pear install Archive_Tar-1.3.7.tgz Auth_SASL-1.0.4.tgz Console_Getopt-1.2.3.tgz Date-1.5.0a1.tgz DB-1.7.14RC1.tgz DB_DataObject-1.9.3.tgz  DB_DataObject_FormBuilder-1.0.0.tgz HTML_Common-1.2.5.tgz HTML_QuickForm-3.2.11.tgz  HTML_QuickForm_advmultiselect-1.5.1.tgz HTML_Table-1.8.3.tgz HTTP_Request-1.4.4.tgz Log-1.12.0.tgz Mail-1.2.0.tgz Mail_Mime-1.7.0.tgz MDB2-2.5.0b2.tgz Net_DIME-1.0.1.tgz Net_Ping-2.4.5.tgz Net_SMTP-1.4.2.tgz Net_Socket-1.0.9.tgz Net_Traceroute-0.21.2.tgz Net_URL-1.0.15.tgz SOAP-0.12.0.tgz Validate-0.8.3.tgz XML_RPC-1.5.3.tgz
Do you want me to install/upgrade your PEAR modules
[y/n], default to [y]:

centreon+nagios安装配置1 - herb - herb

 pear install HTML_QuickForm_advmultiselect-1.2.0.tgz
pear install HTML_Table-1.7.5.tgz

[root@localhost ~]# pear install SOAP-0.13.0
Did not download optional dependencies: pear/Mail, pear/Mail_Mime, use –alldeps to download automatically
pear/SOAP requires PEAR Installer (version >= 1.5.4), installed version is 1.4.9
pear/SOAP can optionally use package “pear/Mail”
pear/SOAP can optionally use package “pear/Mail_Mime”
No valid packages found
install failed
提示pear版本必须>= 1.5.4, 升级perl版本即可
pear upgrade –force PEAR
注意如上的perl包可以在如下地址下载并且一一安装,如下图所示
http://pear.php.net/packages.php
如图

centreon+nagios安装配置1 - herb - herb
centreon+nagios安装配置1 - herb - herb
centreon+nagios安装配置1 - herb - herb

Installing PEAR modules
SOAP                            0.10.1      0.13.0         OK
Check PEAR modules
PEAR                            1.4.9       1.9.4          OK
DB                              1.7.6       1.7.14         OK
DB_DataObject                   1.8.4       1.9.3          OK
DB_DataObject_FormBuilder       1.0.0RC4    1.0.0          OK
MDB2                            2.0.0       2.5.0b2        OK
Date                            1.4.6       1.5.0a1        OK
HTML_Common                     1.2.2       1.2.5          OK
HTML_QuickForm                  3.2.5       3.2.11         OK
HTML_QuickForm_advmultiselect   1.1.0       1.2.0          OK
HTML_Table                      1.6.1       1.7.5          OK
Archive_Tar                     1.1         1.3.10         OK
Auth_SASL                       1.0.1       1.0.4          OK
Console_Getopt                  1.2         1.3.1          OK
Net_SMTP                        1.2.8       1.4.2          OK
Net_Socket                      1.0.1       1.0.9          OK
Net_Traceroute                  0.21        0.21.2         OK
Net_Ping                        2.4.1       2.4.5          OK
Validate                        0.6.2       0.8.3          OK
XML_RPC                         1.4.5       1.5.5          OK
SOAP                            0.10.1      0.13.0         OK
Log                             1.9.11      1.12.0         OK
All PEAR modules                                           OK
————————————————————————
Centreon Post Install
————————————————————————
Create /usr/local/centreon/www/install/install.conf.php    OK
Create /etc/centreon/instCentWeb.conf                      OK

————————————————————————
Start CentStorage Installation
————————————————————————

Where is your Centreon Run Dir directory?
default to [/var/run/centreon]
>

Do you want me to create this directory ? [/var/run/centreon]
[y/n], default to [n]:
> y
Path /var/run/centreon                                     OK

Where is your CentStorage binary directory
default to [/usr/local/centreon/bin]
>
Path /usr/local/centreon/bin                               OK

Where is your CentStorage RRD directory
default to [/var/lib/centreon]
>
Path /var/lib/centreon                                     OK
Finding Nagios group :                                     nagios
Finding Nagios user :                                      nagios
Preparing Centreon temporary files
/tmp/centreon-setup exists, it will be moved…
install www/install/createTablesCentstorage.sql            OK
Creating Centreon Directory ‘/var/lib/centreon/status’     OK
Creating Centreon Directory ‘/var/lib/centreon/metrics’    OK
Change macros for centstorage binary                       OK
Install CentStorage binary                                 OK
Install library for centstorage                            OK
Change right : /var/run/centreon                           OK
Change macros for centstorage init script                  OK

Do you want me to install CentStorage init script ?
[y/n], default to [n]:
> y
CentStorage init script installed                          OK

Do you want me to install CentStorage run level ?
[y/n], default to [n]:
> y
Change macros for logAnalyser                              OK
Install logAnalyser                                        OK
Change macros for nagiosPerfTrace                          OK
Install nagiosPerfTrace                                    OK
Change macros for purgeLogs                                OK
Install purgeLogs                                          OK
Change macros for purgeCentstorage                         OK
Install purgeCentstorage                                   OK
Change macros for centreonPurge.sh                         OK
Install centreonPurge.sh                                   OK
Change macros for centstorage.cron                         OK
Install CentStorage cron                                   OK
Create /etc/centreon/instCentStorage.conf                  OK

————————————————————————
Start CentCore Installation
————————————————————————

Where is your CentCore binary directory
default to [/usr/local/centreon/bin]
>
Path /usr/local/centreon/bin                               OK
/usr/bin/ssh                                               OK
/usr/bin/scp                                               OK
Finding Nagios group :                                     nagios
Finding Nagios user :                                      nagios
Preparing Centreon temporary files
/tmp/centreon-setup exists, it will be moved…
Change CentCore Macro                                      OK
Copy CentCore in binary directory                          OK
Change right : /var/run/centreon                           OK
Change right : /var/lib/centreon                           OK
Replace CentCore init script Macro                         OK

Do you want me to install CentCore init script ?
[y/n], default to [n]:
> y
CentCore init script installed                             OK

Do you want me to install CentCore run level ?
[y/n], default to [n]:
> y
Create /etc/centreon/instCentCore.conf                     OK

————————————————————————
Start CentPlugins Installation
————————————————————————

Where is your CentPlugins lib directory
default to [/var/lib/centreon/centplugins]
>

Do you want me to create this directory ? [/var/lib/centreon/centplugins]
[y/n], default to [n]:
> y
Path /var/lib/centreon/centplugins                         OK
Finding Nagios user :                                      nagios
Finding Nagios group :                                     nagios
Preparing Centreon temporary files
/tmp/centreon-setup exists, it will be moved…
Change macros for CentPlugins                              OK
Installing the plugins                                     OK
Change right on centreon.conf                              OK
CentPlugins is installed

————————————————————————
Start CentPlugins Traps Installation
————————————————————————

Where is your SNMP configuration directory
default to [/etc/snmp]
>
/etc/snmp                                                  OK

Where is your SNMPTT binaries directory
default to [/usr/local/centreon/bin/]
>
/usr/local/centreon/bin/                                   OK
Finding Nagios group :                                     nagios
Finding Apache user :                                      apache
Preparing Centreon temporary files
/tmp/centreon-setup exists, it will be moved…
Change macros for CentPluginsTraps                         OK
Installing the plugins Trap binaries                       OK
Backup all your snmp files                                 OK
Change macros for snmptrapd.conf                           OK
Change macros for snmptt.ini                               OK
Install : snmptrapd.conf                                   OK
Install : snmp.conf                                        OK
Install : snmptt.ini                                       OK
Install : snmptt                                           OK
Install : snmpttconvertmib                                 OK
Generate SNMPTT configuration                              FAIL
Create /etc/centreon/instCentPlugins.conf                  OK
###############################################################################
#                                                                                                                                                                              #
#                 Go to the URL : http://your-server/centreon/                                                                                              #
#                         to finish the setup                                                                                                                         #
#                                                                                                                                                                             #
#                  Report bugs at http://forge.centreon.com                                                                                                 #
#                                                                                                                                                                             #
#                         Thanks for using Centreon.                                                                                                               #
#                          ———————–                                                                                                                            #
#                        Contact : infos@centreon.com                                                                                                           #
#                          http://www.centreon.com                                                                                                              #
#                                                                                                                                                                             #
###############################################################################

http://192.168.3.172/centreon/install/setup.php 访问安装

centreon+nagios安装配置一 - herb - herb

 

centreon+nagios安装配置一 - herb - herb

 

centreon+nagios安装配置一 - herb - herb

 

centreon+nagios安装配置一 - herb - herb

 

centreon+nagios安装配置一 - herb - herb

 

centreon+nagios安装配置一 - herb - herb

 

centreon+nagios安装配置一 - herb - herb

 

centreon+nagios安装配置一 - herb - herb

 

centreon+nagios安装配置一 - herb - herb

至此,安装完成,具体配置见:centreon+nagios安装配置二

 

nagios安装报错解决方法—qqhao

2015年10月18日 评论已被关闭

nagios安装报错解决方法—qqhao
http://blog.sina.com.cn/s/blog_5227549b010168h6.html
4.配置PHP

(一)

1.Apache2的httpd.conf文件位置:

/usr/share/doc/packages/appache2/original/httpd.conf 文件路径

2.httpd.conf文件中Addtype项为

AddType application/x-compress .Z 有

AddType application/x-gzip .gz .tgz 有

AddType application/x-httpd-php .php .phtml .php3 .php4 无 需添加

AddType application/x-httpd-php-source .phps 无 需添加

AddType image/x-icon .ico 无 需添加

(二)

在/srv/www/htdocs 目录下执行

#vi phpinfo.php 编辑内容:

保存: Esc :wq

或 vi index.php 查看结果:浏览器 http://ip/index.php

It works!

查看http://127.0.0.1/index.php 显示PHP版本信息,即代表安装PHP成功

5.安装nagios

nagios-3.2.2.tar解压后为nagios

配置web接口

必须在解压后的nagios目录下执行命令

#make install-webconf

6.安装nagios插件

#make出错
解决办法:安装openssl

openssl-1.0.0e.tar 两次解压进入目录

#unzip openssl-1.0.0e.tar.zip

#tar -xvf openssl-1.0.0e.tar.gz

然后#make #make test #make install

再次编译make即可

7.启动nagios

#chkconfig –add nagios 报错如下:

insserv: warning: script ‘nagios’ missing LSB tags and overrides

insserv: Default-Start undefined, assuming default start runlevel(s) for script `nagios’

nagios 0:off 1:off 2:off 3:on 4:off 5:on 6:off

解决

# vi /etc/init.d/nagios

添加如下几行语句在最上面add the following lines at the beginning 保存即可

### BEGIN INIT INFO

# Provides: nagios

# Required-Start:

# Should-Start:

# Required-Stop:

# Default-Start: 3 5

# Default-Stop: 0 1 2 6

# Short-Description: nagios

# Description: Start Nagios

### END INIT INFO

登陆Web接口 http://localhost/nagios/

注意:重启机器后,每次登陆nagios前需要重新启动apache2,重启后PHP才可用。

#rcapache2 restart

#service nagios start