侧边栏壁纸
  • 累计撰写 14 篇文章
  • 累计创建 23 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

Centos上Zabbix监控一键搭建脚本

漫辰夕
2019-09-19 / 0 评论 / 0 点赞 / 1460 阅读 / 5784 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2023-07-10,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

以下命令请在Centos 7下执行!!

一键安装请执行:

yum -y install wget && wget https://www.mancxi.cn/upload/2021/11/create_zabbix.sh &&  sh create_zabbix.sh

脚本源代码:

#!/bin/bash

webyuan=https://www.mancxi.cn

databaname=zabbix

mysqluser=zabbix

mysqlpasswd=zabbix

zabbix_download(){
yum=`yum repolist | awk -F: '/repolist/{print $2}' |sed 's/,//'`
[ $yum -gt 0 ] && echo "yum源可用" || echo "yum源不可用"
rpm -q wget
if [ $? -eq 0 ];then
echo "wget 已经安装"
else
echo "wget 未安装"
yum -y install wget
fi

mkdir ~/zabbix/

zabbix_banben=2



read -p "
选择zabbix版本
1.zabbix-4.2版本
2.zabbix-4.0版本

默认安装4.0版本,请输入您要安装的版本序号(1/2):"  zabbix_banben

if [ $zabbix_banben == 1 ];then
wget  -P ~/zabbix/  $webyuan/upload/2021/11/zabbix-4.2.6.tar.gz  #下载zabbix软件tar包,来源于zabbix官网

elif [ $zabbix_banben == 2 ];then 
wget  -P ~/zabbix/  $webyuan/upload/2021/11/zabbix-4.0.12.tar.gz

elif [ $zabbix_banben -z ];then
echo "请输入你要安装的版本序号"
exit
fi

cd ~/zabbix/

tar -xzf ~/zabbix/zabbix-*

}


zabbix_install(){

yum -y install net-snmp-devel curl-devel libevent-devel gcc pcre-devel zliv-devel openssl-dvel mariadb mariadb-devel mariadb-server

cd ~/zabbix/zabbix-*

./configure --enable-server --enable-proxy --enable-agent --with-mysql=/usr/bin/mysql_config  --with-net-snmp-devel --with-libcurl

make install

}

mysql_config(){

systemctl restart mariadb

mysql -e "create database ${databaname} character set utf8;"

mysql -e "grant all on zabbix.* to zabbix@'localhost' identified by 'zabbix';"

cd ~/zabbix/zabbix-*/database/mysql

mysql -u${mysqluser} -p${mysqlpasswd}  ${databaname} < schema.sql

mysql -u${mysqluser} -p${mysqlpasswd}  ${databaname} < images.sql

mysql -u${mysqluser} -p${mysqlpasswd}  ${databaname} < data.sql

sed -i "85s/.*/DBHost=localhost/" /usr/local/etc/zabbix_server.conf
sed -i "95s/.*/DBName=${databaname}/" /usr/local/etc/zabbix_server.conf
sed -i "111s/.*/DBUser=${mysqluser}/" /usr/local/etc/zabbix_server.conf
sed -i "119s/.*/DBPassword=${mysqlpasswd}/" /usr/local/etc/zabbix_server.conf
sed -i '38s/.*/LogFile=\/tmp\/zabbix_server.log/' /usr/local/etc/zabbix_server.conf

}

zabbix_web(){

wget -P ~/zabbix/ $webyuan/upload/2021/11/nginx.tar.gz

cd ~/zabbix/

tar -zxvf ~/zabbix/nginx.tar.gz

cd ~/zabbix/nginx-*

./configure --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module

make && make install 

sed -i '45s/            index  index.html index.htm;/            index  index.php index.html index.htm;/'  /usr/local/nginx/conf/nginx.conf

sed -i '65s/#//' /usr/local/nginx/conf/nginx.conf
sed -i '66s/#//' /usr/local/nginx/conf/nginx.conf
sed -i '67s/#//' /usr/local/nginx/conf/nginx.conf
sed -i '68s/#//' /usr/local/nginx/conf/nginx.conf
sed -i '70s/#//' /usr/local/nginx/conf/nginx.conf
sed -i '71s/#//' /usr/local/nginx/conf/nginx.conf

sed -i '70s/fastcgi_params/fastcgi.conf/' /usr/local/nginx/conf/nginx.conf

sed -i '19a     fastcgi_read_timeout 300;' /usr/local/nginx/conf/nginx.conf
sed -i '19a     fastcgi_send_timeout 300;' /usr/local/nginx/conf/nginx.conf
sed -i '19a     fastcgi_connect_timeout 300;' /usr/local/nginx/conf/nginx.conf
sed -i '19a     fastcgi_buffer_size 32k;' /usr/local/nginx/conf/nginx.conf
sed -i '19a     fastcgi_buffers 8 16k;' /usr/local/nginx/conf/nginx.conf

wget -P ~/zabbix/ $webyuan/upload/2021/11/webtatic-release.rpm

yum -y install epel-release iptables-services
yum -y install ~/zabbix/webtatic-release.rpm

yum -y install php56w-fpm  php56w php56w-fpm php56w-mysql  php56w-gd  php56w-xml  php56w-ldap  php56w-bcmath php56w-mbstring

sed -i '878s/.*/date.timezone = Asia\/Shanghai/' /etc/php.ini
sed -i '384s/.*/max_execution_time = 300/' /etc/php.ini
sed -i '394s/.*/max_input_time = 300/' /etc/php.ini
sed -i '672s/.*/post_max_size = 32M/' /etc/php.ini
sed -i '705s/;//' /etc/php.ini

cp -a ~/zabbix/zabbix-4.2.6/frontends/php/*  /usr/local/nginx/html/

chmod -R 777 /usr/local/nginx/html/*

chmod -R 777 /var/lib/php/session

setenforce 0 && sed -i 's/^SELINUX=.*$/SELINUX=disabled/g' /etc/selinux/config

iptables -F

service iptables save

}

zabbix_ok(){

rm -rf ~/zabbix

yum -y remove epel-release


useradd zabbix
useradd nginx
/usr/local/nginx/sbin/nginx
systemctl start php-fpm
zabbix_server
systemctl restart mariadb

iplist=`ip addr show  |grep -w inet |awk '{print $2}' |awk -F '/' '{print $1}'`


ss -antup | grep *:80 && ss -antup | grep *:10051 && ss -antup | grep *:3306 && ss -antup | grep php-fpm

if [ $? -eq 0 ];then
echo "
zabbix监控机服务安装完成!
mariadb数据库服务安装完成(请及时更改root密码)
web页面搭建完成,请及时访问web页面进行最后一步安装
访问地址:
`
for i in $iplist;do
echo http://$i/
done
`

安装过程:
1.点击“Next step”
2.再次点击“Next step”
3.请在“Database port”编辑框填入“ 3306 ”
4.请在“Password”编辑框填入“zabbix”
5.剩下的请一直点“Next step”

"

fi
}

echo "1.安装zabbix监控端"
echo "2.zabbix服务器启停"
echo "3.exit退出不执行脚本"
read -p "请输入你要创建的虚拟项(1-3):"  zz

case $zz in
1)
  zabbix_download
  zabbix_install
  mysql_config
  zabbix_web
  zabbix_ok;;


2)
  echo "1.启动全部zabbix服务"
  echo "2.停止全部zabbix服务"
  echo "3.exit退出不执行脚本"
  read -p "请输入你要创建的虚拟项(1-3):"  cc

    case $cc in
    1)
      /usr/local/nginx/sbin/nginx
      systemctl start php-fpm
      systemctl start mariadb
      zabbix_server;;

    2)
      /usr/local/nginx/sbin/nginx -s stop
      systemctl stop php-fpm
      systemctl stop mariadb;;

    3)
      exit;;
    *)
      echo "输入错误";;
    esac;;

3)
  exit;;
*)
  echo "输入错误";;
esac
0
博主关闭了所有页面的评论