基于(卡塔尔,写了1个简单的脚本来简化zabbix_agnetd的部署。
本子运维注意事项:
- script与zabbix-3.0.1.tar.gz放置在同叁个目录运维;
2. 由于zabbix安装文件的名字未使用变量,在script中已写死,即使可转移,但须要一齐修正脚中间对应之处; script中关系到改造运转目录,所以请使用"source" 或 ". "运营script,如: "source xx.sh"或". ./xx.sh";
4. script运维基于centos6.x,请小心与centos7.x的命令分歧,这里根本是centos7.x暗中认可未有iptables,必要提前盘算好iptables的情状。#!/bin/bash # Program: # Automatic install zabbix_agentd-3.0.1 in centos-6.x-x86_64 by the scripts. # Usage: # It relate to change directory, please use source or . to execute this scripts, the others methods will fail. # History: # 2016/05/10 v0.1 PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin export PATH
# Check if user is root. if [ $(id -u) != "0" ]; then
echo "Error: You must be root to run this script, please use root to install zabbix_agentd!" exit 1
fi
# Function: check the zabbix_server ip address which has be inputed. checkip() {
echo $1 | egrep -q '^[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}$' > /dev/null if [ $? -ne 0 ]; then echo "Error: Please input correct format IP address!" exit 1 fi ipaddr=$1 ip1=`echo $ipaddr | awk -F. '{print $1}'` ip2=`echo $ipaddr | awk -F. '{print $2}'` ip3=`echo $ipaddr | awk -F. '{print $3}'` ip4=`echo $ipaddr | awk -F. '{print $4}'` for num in $ip1 $ip2 $ip3 $ip4; do if [ $num -ge 255 ] || [ $num -lt 0 ]; then echo "Error: Please input correct format IP address!" exit 1 fi done return 0
}
# Input zabbix_server's ip address. read -p "Please input zabbix_server's ip address[ie: 192.168.1.1]: " zabbixserverip checkip $zabbixserverip echo "OK! Your zabbix_server is ${zabbixserverip}!"
# Set iptables rules, zabbix server will detect agentd by tcp 10050, and zabbix_agentd will send trapper to server by tcp 10051. iptables -I INPUT -s $zabbixserverip -p tcp -m state --state NEW -m tcp --dport 10050 -j ACCEPT iptables -I OUTPUT -d $zabbixserverip -p tcp -m state --state NEW -m tcp --dport 10051 -j ACCEPT service iptables save
# Check selinux. if [ $(getenforce) = "Enforcing" ]; then
sed -i 's|SELINUX=enforcing|SELINUX=disabled|g' /etc/selinux/config ; sed -i 's|SELINUXTYPE=targeted|#SELINUXTYPE=targeted|g' /etc/selinux/config && setenforce 0
fi
# Create zabbix group and user. groupadd zabbix useradd -g zabbix -s /sbin/nologin zabbix
# Install zabbix_agentd cur_dir=$(pwd) tar -zxvf $cur_dir/zabbix-3.0.1.tar.gz -C /usr/local/src/ cd /usr/local/src/zabbix-3.0.1 ./configure --prefix=/usr/local/zabbix --enable-agent && make && make install cd ~
# Add soft link to zabbix_agentd execute file. ln -s /usr/local/zabbix/sbin/ /usr/local/sbin/ ln -s /usr/local/zabbix/bin/ /usr/local/bin/
# Modify zabbix_agentd config file. sed -i "s|Server=127.0.0.1|Server=${zabbixserverip}|g" /usr/local/zabbix/etc/zabbix_agentd.conf sed -i '262s|# Include=/usr/local/etc/zabbix_agentd.conf.d/|Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/|g' /usr/local/zabbix/etc/zabbix_agentd.conf sed -i 's|# UnsafeUserParameters=0|UnsafeUserParameters=1|g' /usr/local/zabbix/etc/zabbix_agentd.conf
# Set zabbix_agentd automatic start scripts. cp /usr/local/src/zabbix-3.0.1/misc/init.d/fedora/core/zabbix_agentd /etc/rc.d/init.d/zabbix_agentd chown zabbix:zabbix /etc/rc.d/init.d/zabbix_agentd chmod x /etc/rc.d/init.d/zabbix_agentd sed -i 's|BASEDIR=/usr/local|BASEDIR=/usr/local/zabbix|g' /etc/rc.d/init.d/zabbix_agentd chkconfig --level 35 zabbix_agentd on
# Start zabbix_agentd service. service zabbix_agentd start
# Check zabbix_agentd service. if [ $(netstat -tnlp | grep zabbix_agentd | awk '{print $7}' | awk -F/ '{print $2}') = "zabbix_agentd" ]; then
echo -e "\033[32m [INFO]Zabbix_agentd has installed and started! \033[0m"
else
echo -e "\033[31m [ERROR]Zabbix_agentd has not started! \033[0m"
fi
# Clean install package. rm -rf /usr/local/src/zabbix-3.0.1
最初的稿件刊载于cu:2016-05-20
本文由分分快三计划发布,转载请注明来源
关键词: 分分快三计划