diff --git a/README.md b/README.md index 46c92e0..fcbc075 100644 --- a/README.md +++ b/README.md @@ -6,20 +6,35 @@ Zabbix 快速安装文档 #linux 一键安装 * 运行zabbix_install.sh 一键安装脚本两种运行方法 1. ./zabbix_install.sh 参数$1 Zabbix服务器IP 参数$2 注册Agent名称 - Eg:zabbix_install.sh 10.10.10.1 ZabbixAgentHostName -2. ./zabbix_install.sh 运行 +#例子 +./zabbix_install.sh 10.129.1.1 BJ-LIN-NGINX-GROUP-9V66 +$1= zabbix服务器Ip 10.129.1.1 +$2= 监控机器名称 BJ-LIN-NGINX-GROUP-9V66 +# 命名规范 +BJ-LIN-NGINX-GROUP-9V66 +区域-系统-类型-项目组-IP (V虚拟机 P物理机 10.129.9.66虚拟机 =9V66) + +2. ./zabbix_install.sh 运行-根据相关提示输入注册信息 + +#Zabbix Server 如果自动注册,请在动作---自动注册页面,进行监控机命名关联 ``` ############# Linx&Centos发行版 CMD ############## -curl -O https://raw.githubusercontent.com/net592/Zabbix-QuickInstall/gh-pages/linux/zabbix_install.sh; +curl -O https://raw.githubusercontent.com/net592/Zabbix-QuickInstall/master/linux/zabbix_install.sh; chmod 744 zabbix_install.sh; ./zabbix_install.sh ############# AWS亚马逊&Linux CMD ############## -curl -O https://raw.githubusercontent.com/net592/Zabbix-QuickInstall/gh-pages/linux/zabbix_aws_install.sh; +curl -O https://raw.githubusercontent.com/net592/Zabbix-QuickInstall/master/linux/zabbix_aws_install.sh; chmod 744 zabbix_aws_install.sh; ./zabbix_aws_install.sh #机器名称会追加获取EC2机器信息: InputAgentName-local-ipv4-instance-id ############################################ +############# 阿里云&Linx&Ubuntu发行版 CMD############## +curl -O https://raw.githubusercontent.com/net592/Zabbix-QuickInstall/master/linux/zabbix_ubuntu_install.sh; +chmod 744 zabbix_ubuntu_install.sh; +./zabbix_ubuntu_install.sh +#机器名称会追加获取ECS机器信息: InputAgentName-local-ipv4-instance-id +############################################ ``` ![mahua](images/linux_setup.png) #Windows 一键安装 @@ -30,3 +45,4 @@ chmod 744 zabbix_aws_install.sh; #Template 一些模版 * 后续整理 +* DnsPod diff --git a/Windows/OneKeySetupZabbix/install_aws_zabbix_3.0_EnglishOS b/Windows/OneKeySetupZabbix/install_aws_zabbix_3.0_EnglishOS new file mode 100644 index 0000000..d34832d --- /dev/null +++ b/Windows/OneKeySetupZabbix/install_aws_zabbix_3.0_EnglishOS @@ -0,0 +1,88 @@ +setlocal enabledelayedexpansion +@echo off +@echo off +net use \\10.122.13.125 /user:administrator 9RSPWD*** +%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit + + +echo PROCESSOR_ARCHITECTURE var: +echo %PROCESSOR_ARCHITECTURE% | find /i "x86" > nul +if %errorlevel%==0 ( + set netpath=\\10.122.13.125\c$\opstools\zabbix\win32\* +) else ( + set netpath=\\10.122.13.125\c$\opstools\zabbix\win64\* +) + +set localpath="C:\opstools\zabbix" + +mkdir %localpath% +xcopy /ZYE %netpath% %localpath%\ + + + +:: Modely IP +set zabbix_server=10.122.0.253 +set host_meta=%computername%.%userdomain%.COM +echo Zabbix_Server_IP %zabbix_server% +echo Local_AD_NAME %host_meta% +set /p host_name=Input_Zabbix_Auto_Name:(TJ-WIN-WEB-GROUP-1V100): +:: cp file server ip +set conf_file=%localpath%\conf\zabbix_agentd.win.conf +set conf_file_bak=%localpath%\conf\zabbix_agentd.win.conf.bak +del %conf_file% +for /f "delims=" %%a in ('type "%conf_file_bak%"') do ( + set str=%%a + set "str=!str:127.0.0.1=%zabbix_server%!" + set "str=!str:HOSTMETATEMP=%host_meta%!" + set "str=!str:Windows host=%host_name%!" + echo !str!>>"%conf_file%" +) + + + +%localpath%\zabbix_agentd.exe --stop +%localpath%\zabbix_agentd.exe --config %localpath%\conf\zabbix_agentd.win.conf --uninstall + +%localpath%\zabbix_agentd.exe --config %localpath%\conf\zabbix_agentd.win.conf --install +%localpath%\zabbix_agentd.exe --start + +endlocal +echo "Setup Zabbinx....." +#setting powershell +#powershell -noprofile Set-ExecutionPolicy RemoteSigned +for /f "skip=3 tokens=4" %%i in ('sc query "Zabbix Agent"') do set "zt=%%i" &goto :next +:next +if /i "%zt%"=="RUNNING" ( + echo install Zabbix Success +) else ( + echo Uninstall Zabbix Success Or Zabbix Agent Service no Stop +) +echo ------------------------------------------------------------------------ +:firewall +:: Get windows Version numbers +For /f "tokens=2 delims=[]" %%G in ('ver') Do (set _version=%%G) +For /f "tokens=2,3,4 delims=. " %%G in ('echo %_version%') Do (set _major=%%G& set _minor=%%H& set _build=%%I) +Echo Major version: %_major% Minor Version: %_minor%.%_build% + +:: OS detection +IF "%_major%"=="5" ( + IF "%_minor%"=="0" Echo OS details: Windows 2000 [%_processor_architecture%] + IF "%_minor%"=="1" Echo OS details: Windows XP [%_processor_architecture%] + IF "%_minor%"=="2" IF "%_processor_architecture%"=="32bit" Echo OS details: Windows 2003 [%_processor_architecture%] + IF "%_minor%"=="2" IF "%_processor_architecture%"=="64bit" Echo OS details: Windows 2003 or XP 64 bit [%_processor_architecture%] + :: 开启防火墙10050端口 + netsh firewall delete portopening protocol=tcp port=10050 + netsh firewall add portopening protocol=tcp port=10050 name=zabbix_10050 mode=enable scope=custom addresses=%zabbix_server% +) ELSE IF "%_major%"=="6" ( + IF "%_minor%"=="0" Echo OS details: Windows Vista or Windows 2008 [%_processor_architecture%] + IF "%_minor%"=="1" Echo OS details: Windows 7 or Windows 2008 R2 [%_processor_architecture%] + IF "%_minor%"=="2" Echo OS details: Windows 8 or Windows Server 2012 [%_processor_architecture%] + IF "%_minor%"=="3" Echo OS details: Windows 8.1 or Windows Server 2012 R2 [%_processor_architecture%] + IF "%_minor%"=="4" Echo OS details: Windows 10 Technical Preview [%_processor_architecture%] + :: 开启防火墙10050端口 + netsh advfirewall firewall delete rule name="zabbix_10050" + netsh advfirewall firewall add rule name="zabbix_10050" protocol=TCP dir=in localport=10050 action=allow remoteip=%zabbix_server% +) +echo. +echo End +pause>nul diff --git a/linux/scripts/check_hadoop.sh b/linux/scripts/check_hadoop.sh new file mode 100644 index 0000000..8282c3d --- /dev/null +++ b/linux/scripts/check_hadoop.sh @@ -0,0 +1,63 @@ +#!/bin/bash +#scripts for hadoop status By Zeming +function namenode { +NUM=$(su - hadoop -c "/usr/local/java/bin/jps |grep -i namenode|wc -l") +if [[ $NUM -eq 1 ]];then +echo "$NUM" +else +echo "$NUM" +(su - hadoop -c "/usr/local/hadoop/sbin/hadoop-daemon.sh start namenode") +fi +#/usr/sbin/ss -ant | awk '{++s[$1]} END {for(k in s) print k,s[k]}' | grep 'SYN-RECV' | awk '{print $2}' +} +function datanode { +NUM=$(su - hadoop -c "/usr/local/java/bin/jps |grep -i datanode|wc -l") +if [[ $NUM -eq 1 ]];then +echo "$NUM" +else +echo "$NUM" +(su - hadoop -c "/usr/local/hadoop/sbin/hadoop-daemon.sh start datanode") +fi +#/usr/sbin/ss -ant | awk '{++s[$1]} END {for(k in s) print k,s[k]}' | grep 'SYN-RECV' | awk '{print $2}' +} +function resourcemanager { +NUM=$(su - hadoop -c "/usr/local/java/bin/jps |grep -i datanode|wc -l") +if [[ $NUM -eq 1 ]];then +echo "$NUM" +else +echo "$NUM" +(su - hadoop -c "/usr/local/hadoop/sbin/yarn-daemon.sh start resourcemanager") +fi +#/usr/sbin/ss -ant | awk '{++s[$1]} END {for(k in s) print k,s[k]}' | grep 'SYN-RECV' | awk '{print $2}' +} +function nodemanager { +NUM=$(su - hadoop -c "/usr/local/java/bin/jps |grep -i nodemanager|wc -l") +if [[ $NUM -eq 1 ]];then +echo "$NUM" +else +echo "$NUM" +(su - hadoop -c "/usr/local/hadoop/sbin/yarn-daemon.sh start resourcemanager") +fi +#/usr/sbin/ss -ant | awk '{++s[$1]} END {for(k in s) print k,s[k]}' | grep 'SYN-RECV' | awk '{print $2}' +} +function master { +NUM=$(su - hadoop -c "/usr/local/java/bin/jps |grep -i HMaster|wc -l") +if [[ $NUM -eq 1 ]];then +echo "$NUM" +else +echo "$NUM" +(su - hadoop -c "/usr/local/hbase/bin/hbase-daemon.sh start master") +fi +#/usr/sbin/ss -ant | awk '{++s[$1]} END {for(k in s) print k,s[k]}' | grep 'SYN-RECV' | awk '{print $2}' +} +function regionserver { +NUM=$(su - hadoop -c "/usr/local/java/bin/jps |grep -i regionserver|wc -l") +if [[ $NUM -eq 1 ]];then +echo "$NUM" +else +echo "$NUM" +(su - hadoop -c "/usr/local/hbase/bin/hbase-daemon.sh start regionserver") +fi +#/usr/sbin/ss -ant | awk '{++s[$1]} END {for(k in s) print k,s[k]}' | grep 'SYN-RECV' | awk '{print $2}' +} +$1 diff --git a/linux/zabbix_agentd.conf.d/iptables.conf b/linux/zabbix_agentd.conf.d/iptables.conf new file mode 100644 index 0000000..bc0b78d --- /dev/null +++ b/linux/zabbix_agentd.conf.d/iptables.conf @@ -0,0 +1,2 @@ +UserParameter=firewall-enabled, sudo /sbin/iptables -L INPUT -n |grep -ci '.' +UserParameter=firewall-md5, sudo /sbin/iptables -L INPUT -n | cksum | cut -d " " -f 1 diff --git a/linux/zabbix_agentd.conf.d/userparameter_check_hadoop.conf b/linux/zabbix_agentd.conf.d/userparameter_check_hadoop.conf new file mode 100644 index 0000000..2a9d132 --- /dev/null +++ b/linux/zabbix_agentd.conf.d/userparameter_check_hadoop.conf @@ -0,0 +1,2 @@ +#monitor tcp +UserParameter=checkhadoop[*],/usr/local/zabbix/etc/scripts/check_hadoop.sh $1 diff --git a/linux/zabbix_aws_install.sh b/linux/zabbix_aws_install.sh index 47055a8..3855893 100755 --- a/linux/zabbix_aws_install.sh +++ b/linux/zabbix_aws_install.sh @@ -35,7 +35,7 @@ sleep 1 echo -e "\033[42;37m Part 1:Setup envurment \033[0m" zabbixdir=`pwd` -zabbix_version=3.0.3 +zabbix_version=3.2.5 ip=`ip addr |grep inet |egrep -v "inet6|127.0.0.1" |awk '{print $2}' |awk -F "/" '{print $1}'` EC2LOCALIPV4=`curl -s http://169.254.169.254/latest/meta-data/local-ipv4` @@ -80,7 +80,8 @@ sleep 2 if [ ! -f "$zabbixdir/zabbix-${zabbix_version}.tar.gz" ]; then #wget http://netix.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/$zabbix_version/zabbix-${zabbix_version}.tar.gz - wget http://120.52.73.48/jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/$zabbix_version/zabbix-${zabbix_version}.tar.gz + #wget --no-check-certificate https://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/$zabbix_version/zabbix-${zabbix_version}.tar.gz + wget http://omwdjgaw1.bkt.clouddn.com/zabbix/zabbix-${zabbix_version}.tar.gz #wget http://tenet.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/$zabbix_version/zabbix-${zabbix_version}.tar.gz #wget http://$ServerIP/zabbix/zabbix-${zabbix_version}.tar.gz else @@ -108,10 +109,10 @@ sed -i "s/# HostMetadataItem=/HostMetadataItem=system.uname/g" /usr/local/zabbix sed -i "s/# Include=$/Include=\/usr\/local\/zabbix\/etc\/zabbix_agentd.conf.d\/*.conf/g" /usr/local/zabbix/etc/zabbix_agentd.conf echo -ne "\033[32m Down GitHUB Config \033[0m" cd $zabbixdir -wget https://github.com/net592/Zabbix-QuickInstall/archive/gh-pages.zip +wget https://github.com/net592/Zabbix-QuickInstall/archive/master.zip -unzip -o gh-pages.zip -\cp -fr $zabbixdir/Zabbix-QuickInstall-gh-pages/linux/* /usr/local/zabbix/etc/ +unzip -o master.zip +\cp -fr $zabbixdir/Zabbix-QuickInstall-master/linux/* /usr/local/zabbix/etc/ chown zabbix:zabbix /usr/local/zabbix/etc/scripts/* chmod 744 /usr/local/zabbix/etc/scripts/* diff --git a/linux/zabbix_install.sh b/linux/zabbix_install.sh index 3deac0f..481b894 100755 --- a/linux/zabbix_install.sh +++ b/linux/zabbix_install.sh @@ -35,7 +35,7 @@ sleep 1 echo -e "\033[42;37m Part 1:Setup envurment \033[0m" zabbixdir=`pwd` -zabbix_version=3.0.3 +zabbix_version=3.2.5 ip=`ip addr |grep inet |egrep -v "inet6|127.0.0.1" |awk '{print $2}' |awk -F "/" '{print $1}'` @@ -80,8 +80,9 @@ if [ ! -f "$zabbixdir/zabbix-${zabbix_version}.tar.gz" ]; then #wget http://120.52.73.48/jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/$zabbix_version/zabbix-${zabbix_version}.tar.gz #wget http://tenet.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/$zabbix_version/zabbix-${zabbix_version}.tar.gz #wget https://jaist.dl.sourceforge.net/project/zabbix/ZABBIX Latest Stable/$zabbix_version/zabbix-${zabbix_version}.tar.gz - wget --no-check-certificate https://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/$zabbix_version/zabbix-${zabbix_version}.tar.gz + #wget --no-check-certificate https://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/$zabbix_version/zabbix-${zabbix_version}.tar.gz #wget http://$ServerIP/zabbix/zabbix-${zabbix_version}.tar.gz + wget http://omwdjgaw1.bkt.clouddn.com/zabbix/zabbix-${zabbix_version}.tar.gz else echo -ne "\033[32m zabbix-${zabbix_version}.tar.gz文件已存在 \033[0m" tar zxvf $zabbixdir/zabbix-${zabbix_version}.tar.gz @@ -101,16 +102,17 @@ echo "配置zabbix server ip为 $ServerIP" echo "配置zabbix HostName ip为 $HostName" sed -i "s/Hostname=Zabbix server/Hostname=$HostName/g" /usr/local/zabbix/etc/zabbix_agentd.conf #设置主机名 sed -i "s/Server=127.0.0.1/Server=$ServerIP/g" /usr/local/zabbix/etc/zabbix_agentd.conf #设置Server地址 +sed -i "s/# AllowRoot=0/AllowRoot=1/g" /usr/local/zabbix/etc/zabbix_agentd.conf #开启root权限 sed -i "s/ServerActive=127.0.0.1/ServerActive=$ServerIP/g" /usr/local/zabbix/etc/zabbix_agentd.conf #设置Active服务器地址 sed -i "s/# EnableRemoteCommands=0/EnableRemoteCommands=1/g" /usr/local/zabbix/etc/zabbix_agentd.conf #设置启用远程命令功能 sed -i "s/# HostMetadataItem=/HostMetadataItem=system.uname/g" /usr/local/zabbix/etc/zabbix_agentd.conf #设置HostMetadataItem sed -i "s/# Include=$/Include=\/usr\/local\/zabbix\/etc\/zabbix_agentd.conf.d\/*.conf/g" /usr/local/zabbix/etc/zabbix_agentd.conf echo -ne "\033[32m Down GitHUB Config \033[0m" cd $zabbixdir -wget https://github.com/net592/Zabbix-QuickInstall/archive/gh-pages.zip +wget https://github.com/net592/Zabbix-QuickInstall/archive/master.zip -unzip -o gh-pages.zip -\cp -fr $zabbixdir/Zabbix-QuickInstall-gh-pages/linux/* /usr/local/zabbix/etc/ +unzip -o master.zip +\cp -fr $zabbixdir/Zabbix-QuickInstall-master/linux/* /usr/local/zabbix/etc/ chown zabbix:zabbix /usr/local/zabbix/etc/scripts/* chmod 744 /usr/local/zabbix/etc/scripts/* diff --git a/linux/zabbix_install_Aly_ubuntu.sh b/linux/zabbix_install_Aly_ubuntu.sh new file mode 100644 index 0000000..8a3d385 --- /dev/null +++ b/linux/zabbix_install_Aly_ubuntu.sh @@ -0,0 +1,132 @@ +#!/bin/sh +stty erase ^h +cat << EOF + + :,;;iiiii;i;.:i.. + .,iii;i;;;;;;;i;ii; + ;ii;;;;;;;;;;;;;;;ivl; + .i;;;;;;;;;;;;;;;;;;;i;vi + ,i;;;;,;,;,;;;;;,;:,.:.,;ii. + ,i;;,ii;,:..:;;;,,,iijLMl;;il + .i;;;;UDOSqZCv,;,;q8qOXJUv,;,il + i;;;;;,. :iMv;;;;i. .;;;,Y; + ;;;;;;;,.;@q ,;;;; .;yL2Sc,;;;;L + ;;;;;;;,.@B@;:;;;;:Q@@2Uili;;;;;l; + .i;;;;,;.,@@C..,:;::;MISSSl.:;,;,li + ,;;;;;lVy:;;..;,,:,., ..;ll,yVy;;iV + ,i;;;;;ii;.,:;SB66Z8C;:;:,:;;i;;:iY + ;;;;;;;,;;;;;,;CED6c;:;;;;;,;:;;;iV + ,i;;;;;;;;;;;;.::;.::;;;;;;;;i;i;il + ;;;;;;;;;;;;;;;;;,;;;;;;;;i;i;i;iiY + ,i;iii;;;;;;;;;;;;;;;;;;;iii;i;i;vl + ,ivilvyii;i;i;i;iii;i;i;iiliviviiiv + i ..,.. . . . . . . ....... y + F@Ii VGB0 + X@GZ8EY ;2I::.V2, lqBQZI@2 + c@6GMIOB8t .lq8@@B. 6B@EC; ;MBBQ2IMIq@F + v@D213K3KS8B8@QSI8v ;E06EBQQB8O3MCF313Z@M +l@BEiU22F2F330KCFSK iDM2CSSGF2F3FCMF;Z8@i + ;B@KXGMCF2KC13F23I Fq3K21CFCKCKCKGKKB@y + .DlOOICIMIM3CIKGS8i EEGC3KIMICIMIM32ZjD; + UIJtJtJtJ1J1XF2EUqqFJ1JtJtJtJtc1XCK +EOF +echo -e "\e[1;33m 欢迎使用Zabbix Agent Install 脚本V1.0 By Zeming\e[0m" +sleep 1 +echo -e "\033[42;37m Part 1:Setup envurment \033[0m" + +zabbixdir=`pwd` +zabbix_version=3.2.5 +ip=`ip addr |grep inet |egrep -v "inet6|127.0.0.1" |awk '{print $2}' |awk -F "/" '{print $1}'` + + +ServerIP=$1 +HostName=$2 +if [ ! -n "$1" ]; then + echo -e "\033[32m 当前目录为:$zabbixdir 本机ip为:$ip 安装版本:$zabbix_version\033[0m" + echo -ne "\033[32m Please Zabbix-Server-IP: \033[0m" + read ServerIP + echo -e "\033[32m zabbix服务器ip为:$ServerIP \033[0m" + + echo -ne "\033[32m Please Input zabbix-Agent-HostName: \033[0m" + read HostName + echo -e "\033[32m Zabbix ServerIP:$ServerIP \n HostName:$HostName \033[0m" + + echo -ne "\e[1;31m Confirm to Start the Installation (yes or no): \e[0m" + read isY + if [ "${isY}" != "y" ] && [ "${isY}" != "Y" ] && [ "${isY}" != "yes" ] && [ "${isY}" != "YES" ];then + exit 1 + fi +else + echo -e "\033[32m Zabbix ServerIP:$ServerIP \n HostName:$HostName \033[0m" +fi + + +echo -e "\033[42;37m Part 2:Yum Setup gcc \033[0m" +echo "安装相关组件" +apt-get install ntpdate gcc gcc- wget unzip +echo "同步服务器时间" +ntpdate cn.pool.ntp.org +echo "创建zabbix用户" +groupadd zabbix +useradd -g zabbix zabbix + + +echo -e "\033[42;37m Part 3:Download Zabbix Pack \033[0m" +echo "安装zabbix-agent" +sleep 2 + +if [ ! -f "$zabbixdir/zabbix-${zabbix_version}.tar.gz" ]; then + #wget http://netix.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/$zabbix_version/zabbix-${zabbix_version}.tar.gz + #wget http://120.52.73.48/jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/$zabbix_version/zabbix-${zabbix_version}.tar.gz + #wget http://tenet.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/$zabbix_version/zabbix-${zabbix_version}.tar.gz + #wget https://jaist.dl.sourceforge.net/project/zabbix/ZABBIX Latest Stable/$zabbix_version/zabbix-${zabbix_version}.tar.gz + #wget --no-check-certificate https://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/$zabbix_version/zabbix-${zabbix_version}.tar.gz + #wget http://$ServerIP/zabbix/zabbix-${zabbix_version}.tar.gz + wget http://omwdjgaw1.bkt.clouddn.com/zabbix/zabbix-${zabbix_version}.tar.gz +else + echo -ne "\033[32m zabbix-${zabbix_version}.tar.gz文件已存在 \033[0m" + tar zxvf $zabbixdir/zabbix-${zabbix_version}.tar.gz +fi + +tar zxvf $zabbixdir/zabbix-${zabbix_version}.tar.gz +cd $zabbixdir/zabbix-${zabbix_version} +echo `pwd` +./configure --prefix=/usr/local/zabbix/ --enable-agent +sleep 3 +make +make install + +echo -e "\033[42;37m Part 4:Config Zabbix File \033[0m" +echo -ne "\033[32m Config agent configure file \033[0m" +echo "配置zabbix server ip为 $ServerIP" +echo "配置zabbix HostName ip为 $HostName" +sed -i "s/Hostname=Zabbix server/Hostname=$HostName/g" /usr/local/zabbix/etc/zabbix_agentd.conf #设置主机名 +sed -i "s/Server=127.0.0.1/Server=$ServerIP/g" /usr/local/zabbix/etc/zabbix_agentd.conf #设置Server地址 +sed -i "s/ServerActive=127.0.0.1/ServerActive=$ServerIP/g" /usr/local/zabbix/etc/zabbix_agentd.conf #设置Active服务器地址 +sed -i "s/# EnableRemoteCommands=0/EnableRemoteCommands=1/g" /usr/local/zabbix/etc/zabbix_agentd.conf #设置启用远程命令功能 +sed -i "s/# HostMetadataItem=/HostMetadataItem=system.uname/g" /usr/local/zabbix/etc/zabbix_agentd.conf #设置HostMetadataItem +sed -i "s/# Include=$/Include=\/usr\/local\/zabbix\/etc\/zabbix_agentd.conf.d\/*.conf/g" /usr/local/zabbix/etc/zabbix_agentd.conf +echo -ne "\033[32m Down GitHUB Config \033[0m" +cd $zabbixdir +wget https://github.com/net592/Zabbix-QuickInstall/archive/master.zip + +unzip -o master.zip +\cp -fr $zabbixdir/Zabbix-QuickInstall-master/linux/* /usr/local/zabbix/etc/ +chown zabbix:zabbix /usr/local/zabbix/etc/scripts/* +chmod 744 /usr/local/zabbix/etc/scripts/* + +echo "创建启动init" +cp $zabbixdir/zabbix-${zabbix_version}/misc/init.d/tru64/zabbix_agentd /etc/init.d/ +chmod +x /etc/init.d/zabbix_agentd +sed -i "s:DAEMON=/usr/local/sbin/zabbix_agentd:DAEMON=/usr/local/zabbix/sbin/zabbix_agentd:g" /etc/init.d/zabbix_agentd +echo "启动zabbix_agentd" +echo -e "#Zabbix_Agent Service \n/etc/init.d/zabbix_agentd restart" >>/etc/rc.local +/etc/init.d/zabbix_agentd restart +echo -e "\033[42;37m Part 5:Check Zabbix Status \033[0m" +PROC_NAME=zabbix_agentd +ProcNumber=`ps -ef |grep $PROC_NAME|grep -v grep|wc -l` +if [ $ProcNumber -le 0 ];then + echo -e "\033[41;37m Zabbix_agentd installed Failed Status Stop \033[0m" +else + echo -e "\033[42;37m Zabbix_agentd installed Successfully Status Running \033[0m" +fi diff --git a/linux/zabbix_ubuntu_install.sh b/linux/zabbix_ubuntu_install.sh new file mode 100644 index 0000000..f7feb0b --- /dev/null +++ b/linux/zabbix_ubuntu_install.sh @@ -0,0 +1,133 @@ +#!/bin/sh +stty erase ^h +cat << EOF + + :,;;iiiii;i;.:i.. + .,iii;i;;;;;;;i;ii; + ;ii;;;;;;;;;;;;;;;ivl; + .i;;;;;;;;;;;;;;;;;;;i;vi + ,i;;;;,;,;,;;;;;,;:,.:.,;ii. + ,i;;,ii;,:..:;;;,,,iijLMl;;il + .i;;;;UDOSqZCv,;,;q8qOXJUv,;,il + i;;;;;,. :iMv;;;;i. .;;;,Y; + ;;;;;;;,.;@q ,;;;; .;yL2Sc,;;;;L + ;;;;;;;,.@B@;:;;;;:Q@@2Uili;;;;;l; + .i;;;;,;.,@@C..,:;::;MISSSl.:;,;,li + ,;;;;;lVy:;;..;,,:,., ..;ll,yVy;;iV + ,i;;;;;ii;.,:;SB66Z8C;:;:,:;;i;;:iY + ;;;;;;;,;;;;;,;CED6c;:;;;;;,;:;;;iV + ,i;;;;;;;;;;;;.::;.::;;;;;;;;i;i;il + ;;;;;;;;;;;;;;;;;,;;;;;;;;i;i;i;iiY + ,i;iii;;;;;;;;;;;;;;;;;;;iii;i;i;vl + ,ivilvyii;i;i;i;iii;i;i;iiliviviiiv + i ..,.. . . . . . . ....... y + F@Ii VGB0 + X@GZ8EY ;2I::.V2, lqBQZI@2 + c@6GMIOB8t .lq8@@B. 6B@EC; ;MBBQ2IMIq@F + v@D213K3KS8B8@QSI8v ;E06EBQQB8O3MCF313Z@M +l@BEiU22F2F330KCFSK iDM2CSSGF2F3FCMF;Z8@i + ;B@KXGMCF2KC13F23I Fq3K21CFCKCKCKGKKB@y + .DlOOICIMIM3CIKGS8i EEGC3KIMICIMIM32ZjD; + UIJtJtJtJ1J1XF2EUqqFJ1JtJtJtJtc1XCK +EOF +echo -e "\e[1;33m 欢迎使用Zabbix Agent Install 脚本V1.0 By Zeming\e[0m" +sleep 1 +echo -e "\033[42;37m Part 1:Setup envurment \033[0m" + +zabbixdir=`pwd` +zabbix_version=3.2.5 +ip=`ip addr |grep inet |egrep -v "inet6|127.0.0.1" |awk '{print $2}' |awk -F "/" '{print $1}'` + +EC2LOCALIPV4=`curl -s http://169.254.169.254/latest/meta-data/local-ipv4` +EC2ID=`curl -s http://169.254.169.254/latest/meta-data/instance-id` +ServerIP=$1 +HostName=$2-$EC2LOCALIPV4-$EC2ID + +if [ ! -n "$1" ]; then + echo -e "\033[32m 当前目录为:$zabbixdir 本机ip为:$ip 安装版本:$zabbix_version\033[0m" + echo -ne "\033[32m Please Zabbix-Server-IP: \033[0m" + read ServerIP + echo -e "\033[32m zabbix服务器ip为:$ServerIP \033[0m" + + echo -ne "\033[32m Please Input zabbix-Agent-HostName: \033[0m" + read HostName + HostName=$HostName-$EC2LOCALIPV4-$EC2ID + echo -e "\033[32m Zabbix ServerIP:$ServerIP \n HostName:$HostName \033[0m" + + echo -ne "\e[1;31m Confirm to Start the Installation (yes or no): \e[0m" + read isY + if [ "${isY}" != "y" ] && [ "${isY}" != "Y" ] && [ "${isY}" != "yes" ] && [ "${isY}" != "YES" ];then + exit 1 + fi +else + echo -e "\033[32m Zabbix ServerIP:$ServerIP \n HostName:$HostName \033[0m" +fi + + +echo -e "\033[42;37m Part 2:Yum Setup gcc \033[0m" +echo "安装相关组件" +apt-get install ntpdate gcc gcc- wget unzip +echo "同步服务器时间" +ntpdate cn.pool.ntp.org +echo "创建zabbix用户" +groupadd zabbix +useradd -g zabbix zabbix + + +echo -e "\033[42;37m Part 3:Download Zabbix Pack \033[0m" +echo "安装zabbix-agent" +sleep 2 + +if [ ! -f "$zabbixdir/zabbix-${zabbix_version}.tar.gz" ]; then + #wget http://netix.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/$zabbix_version/zabbix-${zabbix_version}.tar.gz + #wget --no-check-certificate https://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/$zabbix_version/zabbix-${zabbix_version}.tar.gz + wget http://omwdjgaw1.bkt.clouddn.com/zabbix/zabbix-${zabbix_version}.tar.gz + #wget http://tenet.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/$zabbix_version/zabbix-${zabbix_version}.tar.gz + #wget http://$ServerIP/zabbix/zabbix-${zabbix_version}.tar.gz +else + echo -ne "\033[32m zabbix-${zabbix_version}.tar.gz文件已存在 \033[0m" + tar zxvf $zabbixdir/zabbix-${zabbix_version}.tar.gz +fi + +tar zxvf $zabbixdir/zabbix-${zabbix_version}.tar.gz +cd $zabbixdir/zabbix-${zabbix_version} +echo `pwd` +./configure --prefix=/usr/local/zabbix/ --enable-agent +sleep 3 +make +make install + +echo -e "\033[42;37m Part 4:Config Zabbix File \033[0m" +echo -ne "\033[32m Config agent configure file \033[0m" +echo "配置zabbix server ip为 $ServerIP" +echo "配置zabbix HostName ip为 $HostName" +sed -i "s/Hostname=Zabbix server/Hostname=$HostName/g" /usr/local/zabbix/etc/zabbix_agentd.conf #设置主机名 +sed -i "s/Server=127.0.0.1/Server=$ServerIP/g" /usr/local/zabbix/etc/zabbix_agentd.conf #设置Server地址 +sed -i "s/ServerActive=127.0.0.1/ServerActive=$ServerIP/g" /usr/local/zabbix/etc/zabbix_agentd.conf #设置Active服务器地址 +sed -i "s/# EnableRemoteCommands=0/EnableRemoteCommands=1/g" /usr/local/zabbix/etc/zabbix_agentd.conf #设置启用远程命令功能 +sed -i "s/# HostMetadataItem=/HostMetadataItem=system.uname/g" /usr/local/zabbix/etc/zabbix_agentd.conf #设置HostMetadataItem +sed -i "s/# Include=$/Include=\/usr\/local\/zabbix\/etc\/zabbix_agentd.conf.d\/*.conf/g" /usr/local/zabbix/etc/zabbix_agentd.conf +echo -ne "\033[32m Down GitHUB Config \033[0m" +cd $zabbixdir +wget https://github.com/net592/Zabbix-QuickInstall/archive/master.zip + +unzip -o master.zip +\cp -fr $zabbixdir/Zabbix-QuickInstall-master/linux/* /usr/local/zabbix/etc/ +chown zabbix:zabbix /usr/local/zabbix/etc/scripts/* +chmod 744 /usr/local/zabbix/etc/scripts/* + +echo "创建启动init" +cp $zabbixdir/zabbix-${zabbix_version}/misc/init.d/tru64/zabbix_agentd /etc/init.d/ +chmod +x /etc/init.d/zabbix_agentd +sed -i "s:DAEMON=/usr/local/sbin/zabbix_agentd:DAEMON=/usr/local/zabbix/sbin/zabbix_agentd:g" /etc/init.d/zabbix_agentd +echo "启动zabbix_agentd" +echo -e "#Zabbix_Agent Service \n/etc/init.d/zabbix_agentd restart" >>/etc/rc.local +/etc/init.d/zabbix_agentd restart +echo -e "\033[42;37m Part 5:Check Zabbix Status \033[0m" +PROC_NAME=zabbix_agentd +ProcNumber=`ps -ef |grep $PROC_NAME|grep -v grep|wc -l` +if [ $ProcNumber -le 0 ];then + echo -e "\033[41;37m Zabbix_agentd installed Failed Status Stop \033[0m" +else + echo -e "\033[42;37m Zabbix_agentd installed Successfully Status Running \033[0m" +fi