Linux Zabbix 脚本安装

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: Zabbix 脚本安装

Linux Zabbix 脚本安装

1 .Zabbix_server_install.sh

 #!/bin/bash
server_ip=`ifconfig|grep -oP '(?<=inet addr:)\S+'|head -1`
Hostname=`cat /etc/hostname`
user_name=`whoami`
if [ $user_name != root ];then
 echo "请切换到root用户下执行"
  exit 0
  fi

切到/tmp目录下

cd /tmp

下载安装包

if [ ! -f zabbix-2.4.3.tar.gz ];then
    echo "zabbix安装包不存在,尝试下载中..."
    wget http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/2.4.3/zabbix-2.4.3.tar.gz
    if [ ! -f zabbix-2.4.3.tar.gz ];then
            echo "安装包下载失败,退出安装"
            exit 0
    fi
fi
  md5=`md5sum zabbix-2.4.3.tar.gz |awk '{print $1}'`
  if [ $md5 != e8a0699c4e49999a15c63650a2280600 ];then
    echo "文件的md5值不一致"
    exit 1
 fi
if [ ! -f libxml2-2.6.23.tar.bz2 ];then
echo "libxml2安装包不存在,尝试下载中..."
wget http://down1.chinaunix.net/distfiles/libxml2-2.6.23.tar.bz2 
if [ ! -f libxml2-2.6.23.tar.bz2 ];then
        echo "安装包下载失败,退出安装"
        exit 0
fi
fi
command -v make >/dev/null 2>&1 || apt-get -y install make
command -v gcc >/dev/null 2>&1 || apt-get -y install gcc

先设置mysql密码,为了后面安装mysql时不需要手动输入

 echo -e "debconf mysql-server/root_password password yunrun\ndebc
 o
   nf mysql-server/root_password_again password yunrun">/tmp/mysql-p
  asswd
  debconf-set-selections /tmp/mysql-passwd

安装和配置PHP环境

  apt-get install make cmake gcc g++ autoconf apache2 php5 php5-gd p
 hp5-ldap php5-xmlrpc php5-mysql mysql-server-5.5 libmysqlclient-dev li
bxml2 libcurl4-openssl-dev snmp libsnmp-dev -y

安装中文环境

apt-get -y install language-pack-zh-han*
sed -i 's/post_max_size = 8M/post_max_size = 16M/g;s/max_execution
_time = 30/max_execution_time = 300/g;s/max_input_time = 60/max_in
put_time = 300/g;s/;date.timezone =/date.timezone = Asia\/Shanghai/g' /
etc/php5/apache2/php.ini

源码安装libxml2,因为apt-get源安装的libxml2不能在/usr/local/lib/目录下生成libxml2*等模块

 tar jxvf libxml2-2.6.23.tar.bz2
 cd libxml2-2.6.23/
sed -i 's#O_WRONLY)#O_WRONLY,0777)#g' nanohttp.c
./configure
make
make install
cd /tmp

安装zabbix

useradd zabbix
tar zxvf zabbix-2.4.3.tar.gz
cd zabbix-2.4.3/
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --wit
h-mysql  --with-net-snmp --with-libcurl --with-libxml2
make install
 cd /tmp

判断源码安装是否成功

 if [ ! -d /usr/local/zabbix ];then
echo "源码安装zabbix失败,退出安装"
exit 1
 fi

#sql语句

  data_import="
  create database zabbix character set utf8;
  grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbi
  x';
 flush privileges;
 use zabbix;
 source /tmp/zabbix-2.4.3/database/mysql/schema.sql;
 source /tmp/zabbix-2.4.3/database/mysql/images.sql;
 source /tmp/zabbix-2.4.3/database/mysql/data.sql;"

数据库配置,新安装的mysql密码为barfoo2015

 mysql -uroot -p'barfoo2015' -e "${data_import}"

拷贝网页程序代码

 mkdir /var/www/zabbix
 cp -r /tmp/zabbix-2.4.3/frontends/php/* /var/www/zabbix
 chown -R www-data:www-data /var/www/zabbix
sed -i '/zh_CN/s/false/true/' /var/www/zabbix/include/locales.inc.php

修改zabbix安装目录权限

 chown -R zabbix.zabbix /usr/local/zabbix/

#创建软链接

   ln -s /usr/local/zabbix/bin/* /usr/local/bin
   ln -s /usr/local/zabbix/sbin/* /usr/local/sbin

设置开机启动

  cp zabbix-2.4.3/misc/init.d/debian/zabbix-server /etc/init.d/
  update-rc.d zabbix-server defaults
  cp zabbix-2.4.3/misc/init.d/debian/zabbix-agent /etc/init.d/
  update-rc.d zabbix-agent defaults

修改zabbix-server.conf

 sed -i 's/DBUser=root/DBUser=zabbix/g;s/# DBPassword=/DBPasswor
  d =zabbix/g' /usr/local/zabbix/etc/zabbix_server.conf

修改zabbix-agentd.conf

sed -i "s/# EnableRemoteCommands=0/EnableRemoteCommands=1/g;
s/Server=127.0.0.1/Server=$server_ip/g;s/ServerActive=127.0.0.1/Serv 
er  Active=$server_ip/g;s/Hostname=Zabbix server/Hostname=$Hostna
 me/ g" /usr/local/zabbix/etc/zabbix_agentd.conf

修改zabbix-agent.conf

   sed -i "s/Server=127.0.0.1/Server=$server_ip/g" /usr/local/zabbix/etc/
   zabbix_agent.conf

配置sendemail

wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz
 sed -i 's@# AlertScriptsPath=${datadir}/zabbix/alertscripts@AlertScriptsPath=/usr/local/zabbix/alertscripts@' /usr/local/zabbix/etc/zabbix_server.conf
tar xvf sendEmail-v1.56.tar.gz -C /usr/local/
mv /usr/local/sendEmail-v1.56/ /usr/local/sendEmail
mkdir /usr/local/zabbix/alertscripts
echo '#!/bin/bash
# $1 recipient
# $2 subject
# $3 content
smtp=smtp.barfoo.com.cn
user=yunwei@barfoo.com.cn
password=123456
/usr/local/sendEmail/sendEmail -f $user -s $smtp -xu $user -xp $passwo
rd -u $2 -m $3 -t $1 > /dev/null 2>&1 ' >> /usr/local/zabbix/alertscripts/se
ndemail.sh
chmod a+x /usr/local/zabbix/alertscripts/sendemail.sh
chown -R zabbix.zabbix /usr/local/zabbix/alertscripts/
cp /usr/local/zabbix/alertscripts/sendemail.sh /usr/local/zabbix/share/zab
bix/alertscripts/

启动

chown -R www-data.www-data /var/www/zabbix/
mv /var/www/zabbix /var/www/html
/etc/init.d/zabbix-server start
/etc/init.d/zabbix-agent start

重启apache

/etc/init.d/apache2 restart

#  2 .Zabbix_agent_install.sh

enter-serverip(){
read -p 'please enter server ip: ' server_ip
echo "服务器的ip为$server_ip"
}
while :
enter-serverip
sleep 2
echo -e '033[36m核对无误后n继续 请按 1n重新输入 请按 2n退出 请按 3 033[0m'
do
read -p '请做出您的选择:' choose
if

    [ $choose -eq 3 ];then
    exit
    echo "退出"

elif

    [ $choose -eq 1 ];then
    break

else

    continue

fi
done

服务器$server_ip在sed中读取不出来,请安装前手动替换

user_name=whoami
if [ $user_name != root ];then

echo "请切换到root用户下执行"
exit 0

fi

切换到/tmp目录下执行

cd /tmp
if [ ! -f zabbix-2.4.3.tar.gz ];then

    echo "安装包不存在,尝试下载中..."
wget http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/2.4.3/zabbix-2.4.3.tar.gz
if [ ! -f zabbix-2.4.3.tar.gz ];then
        echo "安装包下载失败,退出安装"
    exit 0
else
    echo "安装包已下载"
fi

fi
md5=md5sum zabbix-2.4.3.tar.gz |awk '{print $1}'
if [ $md5 != e8a0699c4e49999a15c63650a2280600 ];then

    echo "文件的md5值不一致"
    exit 1

fi

判断make gcc是否安装

command -v make >/dev/null 2>&1 || apt-get -y install make
command -v gcc >/dev/null 2>&1 || apt-get -y install gcc
useradd zabbix
tar zxvf zabbix-2.4.3.tar.gz

编译...

cd zabbix-2.4.3
./configure --prefix=/usr/local/zabbix --enable-agent

安装

make install

判断源码安装是否成功

if [ ! -d /usr/local/zabbix ];then

    echo "源码安装zabbix失败,退出安装"
    exit 1

fi

修改权限并创建软链接

chown -R zabbix.zabbix /usr/local/zabbix/
ln -s /usr/local/zabbix/bin/* /usr/local/bin
ln -s /usr/local/zabbix/sbin/* /usr/local/sbin

拷贝启动脚本并设为开机启动

cp /tmp/zabbix-2.4.3/misc/init.d/debian/zabbix-agent /etc/init.d/
update-rc.d zabbix-agent defaults
cd /tmp

修改zabbix配置文件

sed -i "s/# EnableRemoteCommands=0/EnableRemoteCommands=1/g;s/Server=127.0.0.1/Server=$server_ip/g;s/ServerActive=127.0.0.1/ServerActive=$server_ip/g;s/Hostname=zabbix server/Hostname=$HOSTNAME/g" /usr/local/zabbix/etc/zabbix_agentd.conf

启动zabbix-agent

/etc/init.d/zabbix-agent start
echo "Finished!!! zabbi-agent is running."

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
目录
相关文章
|
3月前
|
Ubuntu Linux
计算机基础知识:linux系统怎么安装?
在虚拟机软件中创建一个新的虚拟机,并选择相应操作系统类型和硬盘空间大小等参数。将下载的 ISO 镜像文件加载到虚拟机中。启动虚拟机,进入安装界面,并按照步骤进行安装。安装完成后,可以在虚拟机中使用 Linux 系统。
|
3月前
|
Ubuntu Linux
任何Ubuntu用户都应安装的四大Linux应用程序
当然,这款程序不需要太多介绍。我们面对的是网上最庞大最完整的多媒体中心,由于丰富的插件,我们能够高度细化地定制其每一项功能。这是我们的Linux发行版不可或缺的必备软件。 我们可以通过运行以下命令来轻松安装Kodi:sudo apt install kodi。
|
3月前
|
Ubuntu 物联网 Linux
从零安装一个Linux操作系统几种方法,以Ubuntu18.04为例
一切就绪后,我们就可以安装操作系统了。当系统通过优盘引导起来之后,我们就可以看到跟虚拟机中一样的安装向导了。之后,大家按照虚拟机中的顺序安装即可。 好了,今天主要介绍了Ubuntu Server版操作系统的安装过程,关于如何使用该操作系统,及操作系统更深层的原理,还请关注本号及相关圈子。
|
3月前
|
Ubuntu Linux 网络安全
Linux服务器之Ubuntu的安装与配置
Ubuntu Desktop是目前最成功、最流行的图形界面的Linux发行版;而Ubuntu Server也在服务器端市场占据了较大的份额。今天为大家详细介绍了Ubuntu Server的安装与配置,希望对你能有所帮助。关于VMware、VirtualBox等虚拟化软件的使用,朱哥还会在后续的文章中为大家详细介绍,敬请关注!
|
1月前
|
安全 Linux iOS开发
Nessus Professional 10.10 Auto Installer for RHEL 10, AlmaLinux 10, Rocky Linux 10 - Nessus 自动化安装程序
Nessus Professional 10.10 Auto Installer for RHEL 10, AlmaLinux 10, Rocky Linux 10 - Nessus 自动化安装程序
142 6
Nessus Professional 10.10 Auto Installer for RHEL 10, AlmaLinux 10, Rocky Linux 10 - Nessus 自动化安装程序
|
2月前
|
存储 安全 Unix
七、Linux Shell 与脚本基础
别再一遍遍地敲重复的命令了,把它们写进Shell脚本,就能一键搞定。脚本本质上就是个存着一堆命令的文本文件,但要让它“活”起来,有几个关键点:文件开头最好用#!/usr/bin/env bash来指定解释器,并用chmod +x给它执行权限。执行时也有讲究:./script.sh是在一个新“房间”(子Shell)里跑,不影响你;而source script.sh是在当前“房间”里跑,适合用来加载环境变量和配置文件。
414 9
|
Ubuntu Linux 网络安全
Linux系统初始化脚本
一款支持Rocky、CentOS、Ubuntu、Debian、openEuler等主流Linux发行版的系统初始化Shell脚本,涵盖网络配置、主机名设置、镜像源更换、安全加固等多项功能,适配单/双网卡环境,支持UEFI引导,提供多版本下载与持续更新。
290 0
Linux系统初始化脚本
|
2月前
|
存储 Shell Linux
八、Linux Shell 脚本:变量与字符串
Shell脚本里的变量就像一个个贴着标签的“箱子”。装东西(赋值)时,=两边千万不能有空格。用单引号''装进去的东西会原封不动,用双引号""则会让里面的$变量先“变身”再装箱。默认箱子只能在当前“房间”(Shell进程)用,想让隔壁房间(子进程)也能看到,就得给箱子盖个export的“出口”戳。此外,Shell还自带了$?(上条命令的成绩单)和$1(别人递进来的第一个包裹)等许多特殊箱子,非常有用。
303 2
|
1月前
|
消息中间件 Kafka Linux
Linux下安装Kafka 3.9.1
本文介绍Kafka 3.9.1版本的安装与配置,包括通过ZooKeeper或KRaft模式启动Kafka。涵盖环境变量设置、日志路径修改、集群UUID生成、存储格式化及服务启停操作,适用于Linux环境下的部署实践。
224 0