适用于RHEL8.x版本的zabbix5.2和grafana7.2.2一键安装脚本

原创作者:运维工程师 林琪

脚本说明:

  1. 此脚本为zabbix5.2和grafana7.2.2的一键部署脚本,脚本运行完成即可通过web页面进行管理配置,只适用于RHEL8.X版本,可用于最小化安装的版本;
  2. 脚本中使用了case语句做了菜单,可自行选择安装zabbix或grafana;
  3. 脚本中yum源使用的是清华源,可自行更改为阿里源或者其它yum源;
  4. 脚本中已将zabbix和grafana所需要的端口放通,未关闭防火墙的情况下也可以正常访问。
#!/bin/bash
#此脚本用于RHEL8安装Zabbix5.2和Grafana7.2.2

cat << EOF
********请选择需要安装的组件:********
(1) Install Zabbix 5.2
(2) Install Grafana 7.2.2
EOF

read -p "请选择需要安装的组件:" digit

case $digit in
	"1" )
		echo "Install Zabbix 5.2"

		#关闭SELinux
		if [ $(getenforce) = "Enforcing" ]; then
		setenforce 0
		sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
		echo "Selinux已关闭!"
		fi
		
		#安装zabbix的repo源
		if [ $(curl -sL -w "%{http_code}" "https://mirror.tuna.tsinghua.edu.cn/" -o /dev/null) -eq 200 ];then
			echo "地址通畅,继续安装!!!"
			rpm -ivh https://mirror.tuna.tsinghua.edu.cn/zabbix/zabbix/5.2/rhel/8/x86_64/zabbix-release-5.2-1.el8.noarch.rpm
			sed -i -e 's/repo.zabbix.com/mirror.tuna.tsinghua.edu.cn\/zabbix/g' /etc/yum.repos.d/zabbix.repo
			dnf clean all
		else
			echo "地址不通畅,请检查网络!!!"
			exit
		fi

		#安装zabbix
		dnf -y install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-agent
		
		#安装mysql的repo源
		if [ $(curl -sL -w "%{http_code}" "http://repo.mysql.com/" -o /dev/null) -eq 200 ];then
			echo "地址通畅,继续安装!!!"
			rpm -ivh http://repo.mysql.com/mysql80-community-release-el8-1.noarch.rpm
			dnf clean all
		else
			echo "地址不通畅,请检查网络!!!"
			exit
		fi
		
		#安装mysql
		dnf -y install mysql-server
		systemctl start mysqld.service
		systemctl enable mysqld.service

		#创建初始数据库,导入zabbix架构和数据
		mysql -e "create database zabbix character set utf8 collate utf8_bin;"
		mysql -e "create user zabbix@localhost identified by 'zabbix';"
		mysql -e "grant all privileges on zabbix.* to zabbix@localhost;"
		mysql -e "flush privileges;"
		chmod 766 /usr/share/doc/zabbix-server-mysql*/create.sql.gz
		zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -pzabbix zabbix

		#修改zabbix-server配置文件
		cp /etc/zabbix/zabbix_server.conf /etc/zabbix/zabbix_server.conf.bak
		sed -i 's/# DBHost=localhost/DBHost=localhost/' /etc/zabbix/zabbix_server.conf
		sed -i 's/# DBPassword=/DBPassword=zabbix/' /etc/zabbix/zabbix_server.conf
		sed -i 's/# StartPollers=5/StartPollers=40/' /etc/zabbix/zabbix_server.conf
		sed -i 's/# StartPreprocessors=3/StartPreprocessors=20/' /etc/zabbix/zabbix_server.conf
		sed -i 's/# StartPollersUnreachable=1/StartPollersUnreachable=10/' /etc/zabbix/zabbix_server.conf
		sed -i 's/# StartTrappers=5/StartTrappers=15/' /etc/zabbix/zabbix_server.conf
		sed -i 's/# StartPingers=1/StartPingers=15/' /etc/zabbix/zabbix_server.conf
		sed -i 's/# StartDiscoverers=1/StartDiscoverers=5/' /etc/zabbix/zabbix_server.conf
		sed -i 's/# StartVMwareCollectors=0/StartVMwareCollectors=10/' /etc/zabbix/zabbix_server.conf
		sed -i 's/# VMwareFrequency=60/VMwareFrequency=10/' /etc/zabbix/zabbix_server.conf
		sed -i 's/^# \(VMwarePerfFrequency=60\)/\1/' /etc/zabbix/zabbix_server.conf
		sed -i 's/# VMwareCacheSize=8M/VMwareCacheSize=160M/' /etc/zabbix/zabbix_server.conf
		sed -i 's/# VMwareTimeout=10/VMwareTimeout=300/' /etc/zabbix/zabbix_server.conf
		sed -i 's/# HousekeepingFrequency=1/HousekeepingFrequency=24/' /etc/zabbix/zabbix_server.conf
		sed -i 's/# MaxHousekeeperDelete=5000/MaxHousekeeperDelete=10000/' /etc/zabbix/zabbix_server.conf
		sed -i 's/# CacheSize=8M/CacheSize=4G/' /etc/zabbix/zabbix_server.conf
		sed -i 's/# ValueCacheSize=8M/ValueCacheSize=2G/' /etc/zabbix/zabbix_server.conf

		#修改zabbix-agentd配置文件
		sed -i 's/# Timeout=3/Timeout=30/' /etc/zabbix/zabbix_agentd.conf

		#修改zabbix-web配置文件
		cp /etc/php-fpm.d/zabbix.conf /etc/php-fpm.d/zabbix.conf.bak
		sed -i 's/php_value\[memory_limit\] = 128M/php_value\[memory_limit\] = 512M/' /etc/php-fpm.d/zabbix.conf
		sed -i 's/; php_value\[date.timezone\] = Europe\/Riga/php_value\[date.timezone\] = Asia\/Shanghai/' /etc/php-fpm.d/zabbix.conf
		systemctl restart zabbix-server zabbix-agent httpd php-fpm
		systemctl enable zabbix-server zabbix-agent httpd php-fpm
		
		#开放端口
		firewall-cmd --zone=public --add-port=10050/tcp --permanent
		firewall-cmd --zone=public --add-port=10051/tcp --permanent
		firewall-cmd --zone=public --add-port=80/tcp --permanent
		firewall-cmd --reload

		#判断zabbix网页是否正常打开
		if [ $(curl -sL -w "%{http_code}" "http://127.0.0.1/zabbix" -o /dev/null) -eq 200 ]; then
			echo "Zabbix安装成功!!!"
		else
			echo "Zabbix安装失败!!!"
		fi
		;;
	"2" )
		echo "Install Grafana 7.2.2"
		
		#判断wget是否安装
		command -v wget
		if [ $? -ne 0 ]; then
			dnf -y install wget
			echo "wget安装成功!!!"
		else
			echo "wget已安装!!!"
		fi

		#判断地址是否通畅,通畅则下载rpm包
		if [ $(curl -sL -w "%{http_code}" "https://mirror.tuna.tsinghua.edu.cn/" -o /dev/null) -eq 200 ];then
			echo "地址通畅,继续安装!!!"
			wget https://mirror.tuna.tsinghua.edu.cn/grafana/yum/rpm/grafana-7.2.2-1.x86_64.rpm --no-check-certificate
		else
			echo "地址不通畅,请检查网络!!!"
			exit
		fi

		#安装Grafana
		dnf -y install fontconfig freetype* urw-fonts
		rpm -ivh /root/grafana-7.2.2-1.x86_64.rpm
		grafana-cli plugins install alexanderzobnin-zabbix-app
		sed -i 's/;allow_loading_unsigned_plugins =/allow_loading_unsigned_plugins = alexanderzobnin-zabbix-datasource/' /etc/grafana/grafana.ini
		systemctl enable grafana-server
		systemctl start grafana-server

		#开放端口
		firewall-cmd --zone=public --add-port=3000/tcp --permanent
		firewall-cmd --reload

		#判断grafana网页是否正常打开
		if [ $(curl -sL -w "%{http_code}" "http://127.0.0.1:3000" -o /dev/null) -eq 200 ]; then
			echo "Grafana安装成功!!!"
		else
			echo "Grafana安装失败!!!"
		fi
		;;
	"*" )
		echo "Error"
		;;	
esac
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值