您好,登錄后才能下訂單哦!
安裝gcc
[root@lvs1 ~]# yum install gcc
安裝make
[root@lvs1 ~]# yum install make
安裝ruby源(ruby版本必須要在1.9.3以上,centos自帶的是1.8的版本,需要自己編譯安裝)
[root@lvs1 ~]# yum install ruby rubygems ruby-devel
查看ruby源
[root@lvs1 ~]# gem source list
添加國(guó)內(nèi)源
[root@lvs1 ~]# gem sources -a https://ruby.taobao.org/
移除國(guó)外源
[root@lvs1 ~]# gem sources -r http://rubygems.org/
再次查看ruby源
[root@lvs1 ~]# gem source list
升級(jí)ruby版本到最新
[root@lvs1 ~]# gem update --system
安裝fpm
[root@lvs1 zlib]# gem install fpm
編譯安裝到本地
[root@lvs1 ~]# tar -xzvf zabbix-3.0.4.gz [root@lvs1 zabbix-3.0.4]# cd zabbix-3.0.4 [root@lvs1 zabbix-3.0.4]# ./configure --prefix=/opt/zabbix --sysconfdir=/opt/zabbix --enable-agent --disable-server --disable-proxy #--prefix為安裝目錄 #--sysconfdir為配置文件目錄 #--enable-agent --disable-server --disable-proxy 安裝agent不安裝server和proxy,因?yàn)閦abbix官方提供的源碼包包含了所有組件,這里我們只需要agent所以不用全部安裝 [root@lvs1 zabbix-3.0.4]# make install
修改配置文件
#可以用命令修改 sed -i 's/^Server=.*$/Server=192.168.13.45/g' /opt/zabbix/zabbix_agentd.conf sed -i 's/^ServerActive=.*$/ServerActive=192.168.13.45:10051/g' /opt/zabbix/zabbix_agentd.conf sed -i 's/^LogFile=.*$/LogFile=\/opt\/zabbix\/logs\/zabbix_agentd.log/g' /opt/zabbix/zabbix_agentd.conf sed -i "s%^#HostnameItem=.*$%HostnameItem=system.hostname%g" /opt/zabbix/zabbix_agentd.conf sed -i "s%^#ListenIP=.*$%ListenIP=0.0.0.0%g" /opt/zabbix/zabbix_agentd.conf sed -i "s%^#ListenPort=.*$%ListenPort=10050%g" /opt/zabbix/zabbix_agentd.conf #也可以直接修改配置文件 [root@lvs1 ~]# vim /opt/zabbix/zabbix_agentd.conf #zabbix_server的地址 Server=192.168.13.45 #主動(dòng)上傳給server的地址和端口 ServerActive=192.168.13.45:10051 #日志位置 LogFile=/opt/zabbix/logs/zabbix_agentd.log #主機(jī)名取系統(tǒng)主機(jī)名 HostnameItem=system.hostname #監(jiān)聽端口 ListenPort=10050 #監(jiān)聽地址 ListenIP=0.0.0.0
復(fù)制編譯包中對(duì)應(yīng)系統(tǒng)的啟動(dòng)腳本到安裝目錄下
[root@lvs1 core]# cp -a /root/zabbix-3.0.4/misc/init.d/fedora/core/zabbix_agentd /opt/zabbix/
修改啟動(dòng)腳本中安裝目錄的位置
[root@lvs1 zabbix]# vim /opt/zabbix/zabbix_agentd BASEDIR=/opt/zabbix
創(chuàng)建安裝后執(zhí)行腳本,在文件安裝到本地后會(huì)做一些初始化操作
[root@lvs1 ~]# vim /opt/install_after.sh #!/bin/bash #創(chuàng)建對(duì)應(yīng)的用戶和組以及日志目錄,并給安裝目錄對(duì)應(yīng)的權(quán)限 groupadd zabbix useradd -g zabbix zabbix chown zabbix:zabbix /opt/zabbix mkdir -p /opt/zabbix/logs chown zabbix:zabbix /opt/zabbix/logs #這里把剛才復(fù)制的啟動(dòng)腳本鏈接到系統(tǒng)目錄中 ln -s /opt/zabbix/zabbix_agentd /etc/init.d/zabbix_agentd #判斷是否有多個(gè)192.168網(wǎng)段的ip,因本人所在公司網(wǎng)絡(luò)環(huán)境負(fù)責(zé)存在多網(wǎng)卡多ip情況,為防止出現(xiàn)問題,所以此腳本會(huì)把單網(wǎng)卡主機(jī)的監(jiān)聽ip改為本機(jī),如果存在多個(gè)網(wǎng)卡是192.168網(wǎng)段則依然使用0.0.0.0 ifip=$(ifconfig|sed -n '/inet addr/s/^[^:]*:\([0-9.]\{7,15\}\).*/\1/p' | grep '192.168.') ifwc=$(ifconfig|sed -n '/inet addr/s/^[^:]*:\([0-9.]\{7,15\}\).*/\1/p' | grep '192.168.'|wc -l) if [ $ifwc -gt 1 ];then echo $ifip elif [ $ifwc -eq 1 ];then sed -i "s%^ListenIP=0.0.0.0%ListenIP=$ifip%g" /opt/zabbix/zabbix_agentd.conf fi #啟動(dòng)agent service zabbix_agentd start #添加開機(jī)啟動(dòng) chkconfig --add zabbix_agentd chkconfig --level 35 zabbix_agentd on #添加iptables規(guī)則,允許對(duì)應(yīng)端口通信,并保存規(guī)則 iptables -I INPUT -m state --state new -m tcp -p tcp --dport 10050 -j ACCEPT iptables -I INPUT -m state --state new -m tcp -p tcp --dport 10051 -j ACCEPT /etc/init.d/iptables save exit 0
創(chuàng)建卸載后清理腳本,會(huì)清理安裝目錄和前面安裝腳本添加的一些設(shè)置
[root@lvs1 ~]# vim /opt/remove_after.sh #!/bin/bash service zabbix_agentd stop rm -rf /opt/zabbix rm -f /etc/init.d/zabbix_agentd userdel -r zabbix groupdel zabbix chkconfig --del zabbix_agentd chkconfig --level 35 zabbix_agentd off exit 0
整個(gè)rpm包安裝后的目錄結(jié)構(gòu)
opt ├── install_after.sh ├── remove_after.sh └── zabbix ├── bin │ ├── zabbix_get │ └── zabbix_sender ├── lib ├── logs │ └── zabbix_agentd.log ├── sbin │ └── zabbix_agentd ├── share │ └── man │ ├── man1 │ │ ├── zabbix_get.1 │ │ └── zabbix_sender.1 │ └── man8 │ └── zabbix_agentd.8 ├── zabbix_agentd ├── zabbix_agentd.conf └── zabbix_agentd.conf.d
[root@lvs1 ~]# fpm -s dir -t rpm -n zabbix_agentd -v 3.0.4 -C / -p /root/ --post-install /opt/install_after.sh --post-uninstall /opt/remove_after.sh --no-rpm-sign /opt -s:指定源類型 -t:指定目標(biāo)類型,即想要制作為什么包 -n:指定包的名字 -v:指定包的版本號(hào) -C:指定打包的相對(duì)路徑 -d:指定依賴于哪些包 -f:第二次包時(shí)目錄下如果有同名安裝包存在,則覆蓋它 -p:輸出的安裝包的目錄,不想放在當(dāng)前目錄下就需要指定 --post-install:軟件包安裝完成之后所要運(yùn)行的腳本;同--offer-install --pre-install:軟件包安裝完成之前所要運(yùn)行的腳本;同--before-install --post-uninstall:軟件包卸載完成之后所要運(yùn)行的腳本;同--offer-remove --pre-uninstall:軟件包卸載完成之前所要運(yùn)行的腳本;同—before-remove
注意:-C是相對(duì)目錄,--no-rpm-sign才是安裝目錄
例如:-C / --no-rpm-sign /opt 則安裝到/opt中, 再如:-C /tmp --no-rpm-sign /zabbix 則安裝到/tmp/zabbix中
在hosts文件中加入分組和分組內(nèi)主機(jī),因?yàn)槲夜緵]用密鑰,所以這里我直接將賬號(hào)密碼寫入了文件中,sudo的密碼也寫入了文件中,利用sudo切換到root權(quán)限,當(dāng)然以下密碼都是我亂寫的。
root@lv:~# vim /etc/ansible/hosts [lvs] 192.168.80.138 ansible_ssh_user=abc ansible_ssh_password=!@#qwe ansible_sudo_pass=!@#qwe
用ifconfig命令測(cè)試下是否能正常使用,這里解釋下-k命令,因?yàn)槲夜緎udo命令后是要輸密碼的,所以這里加了-k
root@lv:~# ansible lvs -s -k -m command -a 'ifconfig'
將制作好的rpm復(fù)制給lvs組所有成員主機(jī)
root@lv:~# ansible lvs -s -k -m copy -a 'src=/root/zabbix_agentd-3.0.4-1.x86_64.rpm dest=/root/'
給所有主機(jī)上的rpm包執(zhí)行權(quán)限,其實(shí)不給也沒影響
root@lv:~# ansible lvs -s -k -m command -a 'chmod +x /root/zabbix_agentd-3.0.4-1.x86_64.rpm'
安裝rpm包,因?yàn)槲覀冊(cè)O(shè)置的安裝完啟動(dòng),所以這部完成后就大功告成了
root@lv:~# ansible lvs -s -k -m command -a 'rpm -ivh /root/zabbix_agentd-3.0.4-1.x86_64.rpm'
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。