zabbix5.0快速部署脚本

#!/bin/bash
#版本1.0_zabbix+nginx版本
welcome() {
cat <<EOF
需要需改的配置文件有:
    1. vi /etc/yum.repos.d/zabbix.repo     zabbix源
    2. vi /etc/zabbix/zabbix_server.conf   zabbix服务端配置文件
    3. vi /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf       zabbix前端参数
    4. vi /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf naginx配置
报错查看日志文件:
    1. nginx日志文件: /var/opt/rh/rh-nginx116/log/nginx/error.log
    2. 启动日志:     /var/log/zabbix/zabbix_server.log 
EOF 
}
start() {
    echo  "启动前安装命令"
    yum install -y vim wget netstat 
    echo  "配置zabbix5.0源"
    wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
    wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
    rpm -Uvh  https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm  \
    && yum clean all && yum makecache
    [ $? = 0 ] && echo "配置源成功" || echo "配置源失败"
    #优化:rpm -ql zabbix-release 找出源位置:/etc/yum.repos.d/zabbix.repo 替换为国内源 \
    #%s#http://repo.zabbix.com#https://mirrors.tuna.tsinghua.edu.cn/zabbix#g
    echo "安装zabbix各组件:zabbix-server-mysql zabbix-agent zabbix-get"
    yum -y install zabbix-server-mysql zabbix-agent zabbix-get
    [ $? = 0 ] && echo "安装成功" || echo "安装失败"
    echo "安装zabbix前端yum源"
    yum -y install centos-release-scl
    [ $? = 0 ] && echo "安装成功" || echo "安装失败"
    echo "开启zabbix-frontend源 将[zabbix-frontend]下的 enabled 改为 1" 
    vi /etc/yum.repos.d/zabbix.repo
    echo "安装zabbix前端组件:zabbix-web-mysql-scl zabbix-nginx-conf-scl zabbix-web-deps-scl"
    yum -y install zabbix-web-mysql-scl zabbix-nginx-conf-scl zabbix-web-deps-scl
    [ $? = 0 ] && echo "安装成功" || echo "安装失败"
}
start1() {
    echo "安装mariadb数据库"
    yum -y install mariadb mariadb-server
    systemctl start mariadb
    mariadb_mysql=`systemctl status mariadb |awk -F'[ :]+' 'NR==3{print $3$4}'`
if [ "mariadb_mysql" = "active(running)" ];then
   echo "数据库成功启动"
   echo "登录数据库输入以下命令: \n
        1. GRANT ALL PRIVILEGES ON *.* TO 'gegewu'@'%' IDENTIFIED BY 'qw123321' WITH GRANT OPTION; \n
        2. create database zabbix character set utf8 collate utf8_bin; \n
        3. SET PASSWORD FOR root@'localhost' = password('qw123321');   \n
        4. grant all on zabbix.* to zabbix@localhost identified by "shenainiZX00-"; \n
        5. grant all privileges on zabbix.* to zabbix@localhost;  \n
        6. flush privileges; "
   mysql -uroot 
   zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz |mysql -uzabbix -pshenainiZX00- zabbix
else
   echo "mariadb启动失败"
fi 
}
start2() {
   echo "配置zabbix-server"
   cp /etc/zabbix/zabbix_server.conf{,.bak}
   echo "交互式界面自行更改: \n
         DBHost=localhost #数据库主机 \n
         DBName=zabbix	  #数据库实例名称 \n
         DBUser=zabbix     #连接数据库时的用户 \n
         DBPassword=zabbix #用户的密码" 
   vim /etc/zabbix/zabbix_server.conf
   gengai=`grep -E "^[[:alpha:]]+" /etc/zabbix/zabbix_server.conf`
   echo "更改内容为${genggai} 下面临时关闭selinux 并启动服务 zabbix-server"
   setenforce 0 && systemctl start zabbix-server && systemctl enable zabbix-server
   #echo "永久关闭为:vi /etc/selinux/config SELINUX=disabled  修改apache端口为:vi /etc/httpd/conf/httpd.conf"
}
start3() {
   echo "配置zabbix前端参数"
   cp /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf{,.bak}
   echo "更改内容为: \n
        Europe/Riga  --> php_value[date.timezone] = Asia/Shanghai \n
        listen.acl_users = apache -->	listen.acl_users = apache,nginx"
   vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
}
start4() {
   echo "配置nginx参数"
   cp /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf{,.bak}
   echo "1. 取消listen已经server_name的注释 \n 
         2. 修改server_name为服务器IP地址或域名 \n
         3. #server_name   example.com;  --> server_name   本机ip;"
   vim /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf
   firewall-cmd --permanent --add-port=80/tcp && firewall-cmd --reload
}
start5() {
   host_ip=`hostname -I|awk '{print $1}'`/setup.php
   echo "启动各个服务:rh-nginx116-nginx,php是rh-php72-php-fpm"
   systemctl restart zabbix-agent rh-nginx116-nginx rh-php72-php-fpm zabbix-server \
   &&  systemctl enable zabbix-agent rh-nginx116-nginx rh-php72-php-fpm 
   [ $? = 0 ] && echo "启动成功服务搭建成功 浏览器访问http://${host_ip}" || echo "启动失败"
   echo "查询服务端口"
   ss -ntulp |grep 80 && ss -ant |grep 10051
}
main() {
    welcome
    start
    start1
    start2
    start3
    start4
    start5
}
main 

 提供人机交互容错率较高,不自动更改配置文件,建议打开脚本,另外一边看着执行看着输入命令。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值