收藏 分销(赏)

Cacti-Nagios ISO 定制指南.docx

上传人:pc****0 文档编号:8114508 上传时间:2025-02-04 格式:DOCX 页数:15 大小:23.32KB 下载积分:10 金币
下载 相关 举报
Cacti-Nagios ISO 定制指南.docx_第1页
第1页 / 共15页
Cacti-Nagios ISO 定制指南.docx_第2页
第2页 / 共15页


点击查看更多>>
资源描述
Cacti-Nagios ISO 定制指南 定制步骤 l 安装一个干净的操作系统.包括基本的系统和所需要的工具等. 比如:我们一般需要centos里面的administart-tool, system-tool,editor,ssh等, 而对于http,mysql,php或其他软件,建议使用编译的方式安装, 然后打包放进去就可以了. 省却许多依赖包的麻烦. l 安装系统后,收集系统已安装的软件包,使用脚本统一转存到一个目录中. l 在安装光盘复制images镜像,从光盘启动centos安装所需的文件等. l 定义自己的kickstart安装脚本. l 按照之前转存的软件(rpm)包, 重新生成光盘的report信息. l 打包成ISO. -----以下内容来自网络,可通用----- 下载一份DVD版CentOS 5.4 Linux系统(即.ISO文件) 1、在VM安装linux系统 2、安装anaconda repodata createrepo mkisofs [root@localhost ~]# yum -y install anaconda repodata createrepo mkisofs 2、生成packages.list 所安装的RPM包文件清单(由于install.log文件在root目录,所以该操作在root目录进行) [root@localhost ~]# cat install.log | grep Installing | sed 's/Installing //g' > /root/packages.list //生成后,需要仔细看该文件,一般会在某些文件开始部分如“1:”这样的字符,需要删除这些字符,否在后面执行copy动作会报错 3、建立定制Centos的源目录 [root@localhost ~]#mkdir /disk                          //定制时要复制RPM包的目录; [root@localhost ~]#mkdir /mnt/cdrom                      //加载光驱目录 [root@localhost ~]#mount -o loop /dev/cdrom /mnt/cdrom     //将光盘内容加载到/mnt/cdrom中; 4、进入光盘挂载的地方。逐个执行以下命令,分别复制光盘里的images、isolinux目录. 而对于CentOS里面的内容暂时略过. 创建定制的ISO源文件夹.如 /data mkdir -p /data/CentOS ##创建data和CentOS 目录. 进入光盘目录 cd /mnt/cdrom cp -afr images /data/ ##复制images文件夹 cp -afr isolinux /data/ cp .discinfo /data/ ##复制.discinfo 文件,别忘前面的 ‘.’ 使用一个脚本从前面处理好的packages.list 获取软件列表,并从光盘复制到 /data/CentOS 中. 脚本内容: # vi cprpms.sh #!/bin/bash DEBUG=0 LT_CD=/mnt/cdrom ALL_RPMS_DIR=/mnt/cdrom/CentOS #挂载光盘存放的目录 LT_RPMS_DIR=/data/CentOS #存放RPM包的目录 packages_list=/root/packages.list number_of_packages=`cat $packages_list | wc -l` i=1 while [ $i -le $number_of_packages ] ; do line=`head -n $i $packages_list | tail -n -1` name=`echo $line | awk '{print $1}'` version=`echo $line | awk '{print $3}' | cut -f 2 -d :` if [ $DEBUG -eq "1" ] ; then echo $i: $line echo $name echo $version fi if [ $DEBUG -eq "1" ] ; then ls $ALL_RPMS_DIR/$name-$version* if [ $? -ne 0 ] ; then echo "cp $ALL_RPMS_DIR/$name-$version* " fi else echo "cp $ALL_RPMS_DIR/$name-$version*$LT_RPMS_DIR/" cp $ALL_RPMS_DIR/$name-$version* $LT_RPMS_DIR/ # in case the copy failed if [ $? -ne 0 ] ; then echo "cp $ALL_RPMS_DIR/$name-$version* " cp $ALL_RPMS_DIR/$name* $LT_RPMS_DIR/ fi fi i=`expr $i + 1` done 执行以上脚本,将定制ISO所需的软件复制到 /data/CentOS 中. 返回到/data 目录下,执行createrepo程序生成repodata下的comps.xml文件 #cd /data #createrepo -g repodata/comps.xml . ##别忘后面的 “.” 开始定制kickstart安装脚本(ks.cfg) , 在cacti-nagios ISO 中, 这个脚本的名字为wdlinux.cfg , 这个可以更改, 更改方法稍后说明. 暂以ks.cfg为名介绍kickstart的定制. cact-nagios中的kickstart内容, 带#号的为解释 #cat wdlinux.cfg # Kickstart file automatically generated by anaconda. install text ##使用文本安装模式 cdrom lang en_US.UTF-8 #语言 keyboard us #键盘类型 network --bootproto=query --noipv6 --onboot=yes #网络设置 firewall --enabled --port=22:tcp,21:tcp,80:tcp #防火墙设置 authconfig --enableshadow --enablemd5 #认证设置 selinux --disabled #关闭selinux skipx #跳过xwindows配置 timezone --utc Asia/Chongqing #时区 bootloader --location=mbr #启动引导安装位置 . ps: 以上选项可以通用. # The following is the partition information you requested # Note that any partitions you deleted are not expressed # here so unless you clear all partitions first, this is # not guaranteed to work #clearpart --all --initlabel #clearpart --drives sda --initlabel ##清除磁盘 ##########这里可以加入一些预定义的分区设置等. %pre --interpreter=/bin/sh ##到这一步,已经分配并格式化分区了. 现在开始安装前的预处理, 注意: pre 是指安装前的. 而 post 是指安装后的.两者差别见 s.sh 脚本解释. sh /mnt/source/wdlinux_srv/s.sh & ##执行/mnt/source/wdlinux_srv/s.sh 这个脚本. 脚本内容见最后. %packages ###定义需要安装的软件包 @core ##系统核心 perl-5.8.8-27.el5.i386 ##以下为具体的软件包 .注意包名要给全,但无需后面的rpm字样, 基本上与使用 rpm -aq 的输出结果类似. 这些包是wdlinux团队整理出来的,一帮狠人, 再次感谢他们的努力. imake-1.0.2-3.i386 m4-1.4.5-3.el5.1.i386 libgomp-4.4.0-6.el5.i386 cpp-4.1.2-48.el5.i386 libtool-ltdl-1.5.22-7.el5_4.i386 libstdc++-devel-4.1.2-48.el5.i386 kernel-headers-2.6.18-194.3.1.el5.i386 make-3.81-3.el5.i386 glibc-headers-2.5-49.i386 glibc-devel-2.5-49.i386 libtool-ltdl-devel-1.5.22-7.el5_4.i386 autoconf-2.59-12.noarch gcc-4.1.2-48.el5.i386 gcc-c++-4.1.2-48.el5.i386 mailx-8.1.1-44.2.2.i386 bzip2-1.0.3-4.el5_2.i386 groff-1.18.1.1-11.1.i386 vim-common-7.0.109-6.el5.i386 elfutils-libs-0.137-3.el5.i386 elfutils-0.137-3.el5.i386 gpm-1.20.1-74.1.i386 patch-2.5.4-29.2.3.el5.i386 tcsh-6.14-17.el5.i386 unzip-5.52-3.el5.i386 rpm-build-4.4.2.3-18.el5.i386 mtools-3.9.10-2.fc6.i386 vim-enhanced-7.0.109-6.el5.i386 man-1.6d-1.1.i386 smartmontools-5.38-2.el5.i386 parted-1.8.1-27.el5.i386 setuptool-1.19.2-1.el5.centos.i386 which-2.16-7.i386 libutempter-1.1.4-4.el5.i386 bison-2.3-2.1.i386 crash-4.1.2-4.el5.centos.i386 acpid-1.0.4-9.el5_4.2.i386 ntsysv-1.3.30.2-2.el5.i386 cyrus-sasl-plain-2.1.22-5.el5_4.3.i386 cpuspeed-1.2.1-9.el5.i386 symlinks-1.2-24.2.2.i386 rsync-2.6.8-3.1.i386 lsof-4.78-3.i386 gettext-0.14.6-4.el5.i386 usbutils-0.71-2.1.i386 psacct-6.3.2-44.el5.i386 tree-1.5.0-4.i386 quota-3.13-1.2.5.el5.i386 irqbalance-0.55-15.el5.i386 attr-2.4.32-1.1.i386 at-3.1.8-84.el5.i386 tmpwatch-2.9.7-1.1.el5.2.i386 bind-libs-9.3.6-4.P1.el5_4.2.i386 setarch-2.0-1.1.i386 bc-1.06-21.i386 pkgconfig-0.21-2.el5.i386 nc-1.84-10.fc6.i386 flex-2.5.4a-41.fc6.i386 zip-2.31-2.el5.i386 acl-2.2.39-6.el5.i386 gdb-7.0.1-23.el5.i386 rmt-0.4b41-4.el5.i386 automake-1.9.6-2.3.el5.noarch logwatch-7.3-8.el5.noarch libtool-1.5.22-7.el5_4.i386 mailcap-2.1.23-1.fc6.noarch dump-0.4b41-4.el5.i386 libidn-0.6.5-1.1.i386 vixie-cron-4.1-77.el5_4.1.i386 wget-1.11.4-2.el5_4.1.i386 sysstat-7.0.2-3.el5.i386 strace-4.5.18-5.el5_4.4.i386 curl-7.15.5-9.el5.i386 iptraf-3.0.0-5.el5.i386 nmap-4.11-1.1.i386 tcpdump-3.9.4-15.el5.i386 zlib-devel-1.2.3-3.i386 freetype-devel-2.2.1-21.el5_3.i386 fontconfig-devel-2.4.1-7.el5.i386 libpng-devel-1.2.10-7.1.el5_3.2.i386 e2fsprogs-devel-1.39-23.el5.i386 libidn-devel-0.6.5-1.1.i386 libXau-devel-1.0.1-3.1.i386 keyutils-libs-devel-1.2-1.el5.i386 libsepol-devel-1.15.2-3.el5.i386 libselinux-devel-1.33.4-5.5.el5.i386 libjpeg-devel-6b-37.i386 libICE-1.0.1-2.1.i386 libXpm-3.5.5-3.i386 gd-2.0.33-9.4.el5_4.2.i386 libSM-1.0.1-3.1.i386 libXt-1.0.2-3.2.el5.i386 krb5-devel-1.6.1-36.el5_4.1.i386 libmcrypt-2.5.8-4.el5.centos.i386 libdrm-2.0.2-1.1.i386 mhash-0.9.9-1.el5.centos.i386 libXxf86vm-1.0.1-3.1.i386 openssl-devel-0.9.8e-12.el5_4.6.i386 curl-devel-7.15.5-9.el5.i386 mhash-devel-0.9.9-1.el5.centos.i386 libmcrypt-devel-2.5.8-4.el5.centos.i386 libxml2-devel-2.6.26-2.1.2.8.i386 mesa-libGL-6.5.1-7.8.el5.i386 xorg-x11-proto-devel-7.1-13.el5.i386 libX11-devel-1.0.3-11.el5.i386 libXdmcp-devel-1.0.1-2.1.i386 mesa-libGL-devel-6.5.1-7.8.el5.i386 libXpm-devel-3.5.5-3.i386 gd-devel-2.0.33-9.4.el5_4.2.i386 %post ####开始进行安装后的处理. /bin/echo "fs.file-max = 65535 ###优化系统内核参数. net.ipv4.ip_forward = 1 net.ipv4.tcp_fin_timeout = 30 net.ipv4.tcp_max_syn_backlog = 10240 net.ipv4.tcp_keepalive_time = 180 net.ipv4.tcp_synack_retries = 3 net.ipv4.tcp_syn_retries = 3 net.ipv4.tcp_max_orphans = 8192 net.ipv4.tcp_max_tw_buckets = 8192 net.ipv4.tcp_window_scaling = 0 net.ipv4.tcp_sack = 0 net.ipv4.tcp_timestamps = 0 net.ipv4.tcp_syncookies = 1 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_tw_recycle = 1 net.ipv4.icmp_echo_ignore_all = 0" >> /etc/sysctl.conf /bin/echo "* - nofile 65535" >> /etc/security/limits.conf ##优化内核参数. sed -i '/^[3-6]\:/s/^/#/g' /etc/inittab sed -i 's/#UseDNS yes/UseDNS no/g' /etc/ssh/sshd_config ##优化ssh参数 cd /root ##进入 /root 目录 sh install.sh ##执行/root 下的install.sh ,内容在下一页. reboot ##重启系统. ###基本上, centos的自动安装,完全依靠ks.cfg (在这里是wdlinux.cfg) 里面的定义. ##########################s.sh 内容################## ###脚本用途: 从光盘拷贝文件到硬盘. ##在系统安装前,访问硬盘必须加入如下前缀: /mnt/sysimage/ , 访问光盘也类似. ##而在系统安装后, 不需要加这个前缀. #!/bin/sh while [ 1 ];do sleep 10 if [[ -d "/mnt/sysimage/root" && -d "/mnt/source/wdlinux_srv" ]];then cp /mnt/source/wdlinux_srv/*.gz /mnt/sysimage/root cp /mnt/source/wdlinux_srv/*.sh /mnt/sysimage/root cp /mnt/source/*.txt /mnt/sysimage/root exit fi done ###########install.sh 内容############################# ###该脚本执行前,已进入 /root 目录 . #!/bin/bash mkdir -p /www/wdlinux ##创建相应的目录, 这些目录在下一个修正版中会取消. 所有的环境会放在/usr/local 中 . mkdir -p /www/web mkdir -p /var/www/html ; useradd -d /www/web/wdlinux wdlinux ##创建一个wdlinux用户,并赋予aaaaaa 这个密码. 修正版会取消这个操作. chmod 755 /www/web/wdlinux echo "aaaaaa" | passwd wdlinux --stdin ## tar -zxvf httpd-2216.tar.gz -C /www/wdlinux ##开始解压/root下的httpd,php.pnp4nagios, server.tar.gz, mysql 等软件. tar -zxvf php-5214_apache.tar.gz -C /www/wdlinux tar -zxvf pnp4nagios.0.6.4.tar.gz -C /usr/local/ chown nagios:nagios -R /usr/local/pnp4nagios; ln -s /www/wdlinux/httpd-2.2.16 /www/wdlinux/apache ln -s /www/wdlinux/httpd-2.2.16 /etc/httpd cp /www/wdlinux/init.d/httpd /etc/rc.d/init.d/httpd ######### tar -zxvf server.tar.gz -C /tmp ############ ln -s /www/wdlinux/php-5.2.14 /www/wdlinux/php ln /www/wdlinux/php/bin/php /usr/bin/php useradd -d /dev/null mysql useradd nagios; tar -zxvf mysql-5.1.56.tar.gz -C /www/wdlinux ; ln -s /www/wdlinux/mysql-5.1.56 /www/wdlinux/mysql ; cp /tmp/conf/f /etc/f /www/wdlinux/mysql-5.1.56/bin/mysql_install_db --user=mysql ; #初始化数据库. ##开始处理 nagios,cacti等, 这些软件已经经过编译安装的. ############## mv /tmp/soft.tar.gz /opt ###start install nagios ,cacti cd /tmp tar -xzvf cacti-0.8.7e.tar.gz -C /var/www/html > /dev/null ; tar -zxvf cacti-spine-0.8.7e.tar.gz -C /usr/local/ > /dev/null ; tar xzf rrdtool-1.2.13.tar.gz -C /usr/local/ 2>/dev/null ln -s /usr/local/rrdtool/bin/rrdtool /usr/bin/rrdtool ; cp simhei.ttf /usr/share/fonts/ ; cp conf/*.conf /etc/httpd/conf.d/ cp init/* /etc/init.d/ /bin/chmod +x /etc/init.d/* cat rc.local > /etc/rc.local cd /opt tar xzf soft.tar.gz > /dev/null /bin/chown nagios:nagios * -R #######导入数据库. cd /tmp; /www/wdlinux/mysql/share/mysql/mysql.server start /www/wdlinux/mysql/bin/mysqladmin --user=root create cacti /www/wdlinux/mysql/bin/mysqladmin --user=root create nagios /www/wdlinux/mysql/bin/mysqladmin --user=root create centreon /www/wdlinux/mysql/bin/mysqladmin --user=root create centstatus /www/wdlinux/mysql/bin/mysqladmin --user=root create centstorage /www/wdlinux/mysql/bin/mysql -u root --default-character-set=latin1 mysql < mysql.sql /www/wdlinux/mysql/share/mysql/mysql.server restart ; /www/wdlinux/mysql/bin/mysql -u root -paaaaaa --default-character-set=latin1 cacti < cacti.sql /www/wdlinux/mysql/bin/mysql -u root -paaaaaa --default-character-set=latin1 nagios < nagios.sql /www/wdlinux/mysql/bin/mysql -u root -paaaaaa --default-character-set=latin1 centreon < centreon.sql /www/wdlinux/mysql/bin/mysql -u root -paaaaaa --default-character-set=latin1 centstatus < centstatus.sql /www/wdlinux/mysql/bin/mysql -u root -paaaaaa --default-character-set=latin1 centstorage < centstorage.sql cd /opt; /bin/chown nagios:nagios * -R ##加入自动更新时间的cron echo '*/10 * * * * ntpdate 0.rhel.pool.ntp.org ; clock -w' > /tmp/crontab2.tmp echo '*/1 * * * * php /var/www/html/cacti/poller.php > /dev/null 2>&1' >> /tmp/crontab2.tmp crontab /tmp/crontab2.tmp rm /tmp/crontab2.tmp echo "alias ipv6 off" >> /etc/modprobe.conf echo "alias net-pf-10 off" >> /etc/modprobe.conf ##取消非必要的开机启动服务. for service in NetworkManager NetworkManagerDispatcher acpid anacron apmd atd auditd autofs bluetooth conman cpuspeed cups dc_client dc_server dhcdbd dund firstboot gpm haldaemon hidd ip6tables ipmi irda irqbalance lm_sensors lvm2-monitor mcstrans mdmonitor mdmpd messagebus microcode_ctl multipathd netconsole netfs netplugd nfs nfslock nscd ntpd pand pcscd portmap psacct rdisc readahead_early readahead_later restorecond rhnsd rpcgssd rpcidmapd rpcsvcgssd saslauthd smartd snmptrapd wpa_supplicant ypbind yum-updatesd do chkconfig --del $service done #yum install lrzsz net-snmp-utils net-snmp net-snmp-devel -y for service in sshd network do chkconfig --level 235 $service on done echo ' /www/wdlinux/mysql/lib/mysql /www/wdlinux/httpd-2.2.16/lib ' >> /etc/ld.so.conf ; /sbin/ldconfig ; ###把msyql,php,apache 加入PATH sed -i '44 a\ PATH=$PATH:/www/wdlinux/php-5.2.14/bin:/www/wdlinux/mysql-5.1.50/bin:/www/wdlinux/httpd-2.2.16/bin' /etc/profile ; ###启动系统后的提示消息. 下一个版本会改正. echo ' ------------------- please install these software on your system, this message on /etc/issue . code: yum install lrzsz net-snmp-utils net-snmp net-snmp-devel ntp.i386 freetype.i386 freetype-devel.i386 libart_lgpl.i386 libart_lgpl-devel.i386 -y ----------------- For more information, follow this url: http://your-server-ip OR read /root/README.txt . Thank you for using Cacti-Nagios project ,we homepage is : . ---------------- ' > /etc/issue ; cp /root/index.txt /var/www/html/index.html ; cp /root/splash.xpm.gz /boot/grub/ ; ##收尾. cd /root ; rm -f *.gz rm -f *.sh cd /tmp; rm *.gz; rm *.sh ; 定义光盘启动后的默认动作, 需要更改 isolinux.cfg . 位置: isolinux/isolinux.cfg ##在cacti-nagios 中,只有如下内容: default auto ##默认动作: auto 标签定义的内容. label auto ##定义一个名字为auto的标签 kernel vmlinuz append ks=cdrom:/isolinux/wdlinux.cfg initrd=initrd.img ##定义加载的kickstart文件名, 在这里为 wdlinux.cfg , 当然也可以改成其他名字, 但文件名字和路径得一致. 生成ISO #cd /data #mkisofs -R -J -T -r -l -d -allow-multidot-allow-leading-dots -no-bak -o /tmp/myiso -0.1-i386.iso -b isolinux/isolinux.bin -c isolinux/boot.cat-no-emul-boot -boot-load-size 4 -boot-info-table . ##别忘了后面的 “.” . 其他, 请参考: http://bbs.linuxtone.org/thread-2448-1-1.html 对于制作开机画面, 可以下载 gimp 来制作, 有win的版本 . 在win下 gimp 要多开启几次才能正常使用 .
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 管理财经 > 管理学资料

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服