Linux Zabbix 脚本安装

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: 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
AI 代码解读

切到/tmp目录下

cd /tmp
AI 代码解读

下载安装包

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
AI 代码解读

先设置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
AI 代码解读

安装和配置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
AI 代码解读

安装中文环境

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
AI 代码解读

源码安装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
AI 代码解读

安装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
AI 代码解读

判断源码安装是否成功

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

#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;"
AI 代码解读

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

 mysql -uroot -p'barfoo2015' -e "${data_import}"
AI 代码解读

拷贝网页程序代码

 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
AI 代码解读

修改zabbix安装目录权限

 chown -R zabbix.zabbix /usr/local/zabbix/
AI 代码解读

#创建软链接

   ln -s /usr/local/zabbix/bin/* /usr/local/bin
   ln -s /usr/local/zabbix/sbin/* /usr/local/sbin
AI 代码解读

设置开机启动

  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
AI 代码解读

修改zabbix-server.conf

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

修改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
AI 代码解读

修改zabbix-agent.conf

   sed -i "s/Server=127.0.0.1/Server=$server_ip/g" /usr/local/zabbix/etc/
   zabbix_agent.conf
AI 代码解读

配置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/
AI 代码解读

启动

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
AI 代码解读

重启apache

/etc/init.d/apache2 restart
AI 代码解读

#  2 .Zabbix_agent_install.sh
AI 代码解读

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 "退出"
AI 代码解读

elif

    [ $choose -eq 1 ];then
    break
AI 代码解读

else

    continue
AI 代码解读

fi
done

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

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

echo "请切换到root用户下执行"
exit 0
AI 代码解读

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
AI 代码解读

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

    echo "文件的md5值不一致"
    exit 1
AI 代码解读

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
AI 代码解读

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=serverip/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."

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
黄农
+关注
目录
打赏
0
0
0
0
3
分享
相关文章
|
2天前
|
阿里云linux服务器使用脚本通过安全组屏蔽异常海外访问ip
公网网站可能会遭受黑客攻击导致访问异常,使用此脚本可以屏蔽掉异常IP 恢复访问。也可自行设置定时任务定期检测屏蔽。
77 28
在Linux(CentOS和AWS)上安装更新的git2的方法并配置github-ssh
经过以上这些步骤,你现在就能在GitHub上顺利往返,如同海洋中的航海者自由驰骋。欢迎你加入码农的世界,享受这编程的乐趣吧!
45 10
|
7天前
|
Linux安装Elasticsearch详细教程
Linux安装Elasticsearch详细教程
42 1
zabbix7.0.9安装-以宝塔安装形式-非docker容器安装方法-系统采用AlmaLinux9系统-最佳匹配操作系统提供稳定运行环境-安装教程完整版本-优雅草卓伊凡
zabbix7.0.9安装-以宝塔安装形式-非docker容器安装方法-系统采用AlmaLinux9系统-最佳匹配操作系统提供稳定运行环境-安装教程完整版本-优雅草卓伊凡
125 30
|
14天前
|
利用PHP压缩音频:Linux环境下的ffmpeg简易安装指南
希望这个指南能为你的编程之旅提供帮助。只需记住,每一行代码都像音乐的音符,组合在一起,创造出美妙的旋律。祝你编程愉快!
58 6
零基础保姆级教程!手把手教你免费玩转Linux CentOS安装+学习环境搭建(附避坑指南)
本文详细介绍了在VMware虚拟机中安装CentOS 6.8的全过程。首先,需确保已安装VMware并开启V-CPU虚拟化功能,可通过BIOS设置或使用LeoMoon CPU-V工具检测。接着,下载CentOS镜像文件,并在VMware中新建虚拟机,配置CPU、内存、硬盘等参数。最后,加载ISO镜像启动虚拟机,按照提示完成CentOS的安装,包括语言、键盘、存储方式、地区、密码设置及硬盘分区等步骤。安装完成后,以root用户登录即可进入系统桌面,开始学习Linux命令和操作。
148 12
零基础保姆级教程!手把手教你免费玩转Linux CentOS安装+学习环境搭建(附避坑指南)
在Rocky Linux 9上安装JDK并配置环境变量!
本教程介绍在Rocky Linux 9上安装JDK并配置环境变量的完整步骤。首先更新系统,清理旧版本JDK相关包及残留文件,确保环境干净。接着搜索并安装所需版本的JDK(如OpenJDK 17),验证安装是否成功。然后查找JDK安装路径,配置全局环境变量`JAVA_HOME`和`PATH`,最后验证环境变量设置。按照此流程操作,可顺利完成Java开发环境搭建,支持多版本切换(如JDK 8/11/17)。生产环境请谨慎操作,避免影响现有服务。
114 21
YashanDB Linux客户端安装
本文详细介绍了YashanDB客户端在Linux系统中的安装、使用与卸载步骤。安装方法包括适用于所有Linux平台的脚本安装和专用于CentOS的rpm安装。脚本安装需解压软件包并配置环境变量,而rpm安装则需以root用户执行相关命令。此外,文章还说明了如何通过yasql连接YashanDB并进行数据库操作,以及两种安装方式对应的卸载方法,帮助用户顺利完成客户端的管理与维护。
Linux 手动安装快速部署 LNMP 环境实战
本文详细记录了在阿里云ECS上手动搭建LNMP环境的过程,系统选用Ubuntu 24.04。主要内容包括:1) 使用`apt`安装Nginx和MySQL,并更新软件源;2) 编译安装PHP 8.4.5,配置PHP-FPM及环境路径;3) 配置MySQL root用户密码;4) 调整Nginx支持PHP解析并测试整体环境。通过此过程,重现手动配置服务器的细节,帮助熟悉各组件的安装与协同工作。
102 23
Android调试终极指南:ADB安装+多设备连接+ANR日志抓取全流程解析,覆盖环境变量配置/多设备调试/ANR日志分析全流程,附Win/Mac/Linux三平台解决方案
ADB(Android Debug Bridge)是安卓开发中的重要工具,用于连接电脑与安卓设备,实现文件传输、应用管理、日志抓取等功能。本文介绍了 ADB 的基本概念、安装配置及常用命令。包括:1) 基本命令如 `adb version` 和 `adb devices`;2) 权限操作如 `adb root` 和 `adb shell`;3) APK 操作如安装、卸载应用;4) 文件传输如 `adb push` 和 `adb pull`;5) 日志记录如 `adb logcat`;6) 系统信息获取如屏幕截图和录屏。通过这些功能,用户可高效调试和管理安卓设备。
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等