本文最后更新于:4 年前
最近在部署一批主机,需要增加zabbix 来监控这些主机的运行情况。
可是这个东西我只是听说过,根本没用过,所以网上找一些教程准备开干。
先是Ubuntu 的方式,发现各种坑,安装mysql就卡住了,无论如何也进不去mysql,各种方法试遍了,可怜一下我这个的lunix小白。
然后用centos,没有GUI的那种,这次还是卡在mysql,这个东西跟我有仇。
快要放弃的时候,大神降临。
突然发现有一种叫做一键安装的东西,正好搭配centos的ssh的操作。
做法如下,权当备份:
1. 用ssh远程连上centos主机
2. 编辑默认的install.sh脚本文件 ,没有的话他会自动创建:
3. 然后,按 i 之后,进入 编辑状态,在本机复制如下脚本,粘贴到centos目前显示的编辑器里
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129
| #!/bin/sh
ip=`ip addr |grep inet |egrep -v "inet6|127.0.0.1" |awk '{print $2}' |awk -F "/" '{print $1}'` release=`cat /etc/redhat-release | awk '{print $4}' | awk -F '.' '{print $1}'` printf " ####################################################################### # 欢迎使用Zabbix离线一键部署脚本 # # 脚本适配环境CentOS7/8、Zabbix5.0/5.2 # # 避免软件包产生冲突建议使用纯净的操作系统进行安装! # ####################################################################### " echo "#######################################################################" echo "# #" echo "# 正在关闭SElinux策略及防火墙 请稍等~ #" echo "# #" echo "#######################################################################" sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config setenforce 0 systemctl stop firewalld && systemctl disable firewalld echo "#######################################################################" echo "# #" echo "# 正在判断系统环境并安装相对应的yum源和软件 请稍等~ #" echo "# (如果是CentOS 8 就安装5.2,如果是7则安装5.0) #" echo "# #" echo "#######################################################################" if [ $release = '7' ];then cat <<EOF > /etc/yum.repos.d/zabbix.repo [zabbix] name=Zabbix Official Repository - \$basearch baseurl=https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/\$basearch/ enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
[zabbix-frontend] name=Zabbix Official Repository frontend - $basearch baseurl=https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/\$basearch/frontend enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
[zabbix-non-supported] name=Zabbix Official Repository non-supported - \$basearch baseurl=https://mirrors.aliyun.com/zabbix/non-supported/rhel/7/\$basearch/ enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX gpgcheck=1 EOF echo "添加源gpgkey" curl https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX-A14FE591 \ -o /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591 curl https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX \ -o /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX curl https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX-A14FE591 \ -o /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591 curl https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX \ -o /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX yum -y install mariadb-server centos-release-scl epel-release yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-web-mysql-scl zabbix-apache-conf-scl zabbix-agent vim elif [ $release = '8' ];then cat <<EOF > /etc/yum.repos.d/zabbix.repo [zabbix] name=Zabbix Official Repository - \$basearch baseurl=https://mirrors.aliyun.com/zabbix/zabbix/5.2/rhel/8/\$basearch/ enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591 [zabbix-non-supported] name=Zabbix Official Repository non-supported - \$basearch baseurl=https://mirrors.aliyun.com/zabbix/non-supported/rhel/8/\$basearch/ enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX gpgcheck=1 EOF echo "添加源gpgkey" curl https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX-A14FE591 \ -o /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591 curl https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX \ -o /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX curl https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX-A14FE591 \ -o /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591 curl https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX \ -o /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX dnf -y install mariadb-server zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-agent vim fi echo "#######################################################################" echo "# #" echo "# 正在启动及配置Mariadb数据库 请稍等~ #" echo "# #" echo "#######################################################################" service mariadb start && service mariadb enable while :; do echo read -p "设置Mysql数据库root密码(建议使用字母+数字): " Database_Password [ -n "$Database_Password" ] && break done
mysqladmin -u root password "$Database_Password" echo "create database zabbix default charset utf8 COLLATE utf8_bin;" | mysql -uroot -p$Database_Password echo "grant all privileges on zabbix.* to zabbix@'localhost' identified by '$Database_Password';" | mysql -uroot -p$Database_Password echo "flush privileges;" | mysql -uroot -p$Database_Password
echo "#######################################################################" echo "# #" echo "# 正在导入zabbix数据库架构文件,请稍等~ #" echo "# #" echo "#######################################################################" zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p$Database_Password zabbix
echo "#######################################################################" echo "# #" echo "# 正在修改Zabbix配置文件,请稍等~ #" echo "# #" echo "#######################################################################" sed -i 's/# DBPassword=/DBPassword=root/' /etc/zabbix/zabbix_server.conf if [ $release = '7' ];then echo "php_value[date.timezone] = Asia/Shanghai" >> /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm elif [ $release = '8' ];then systemctl restart zabbix-server zabbix-agent httpd php-fpm systemctl enable zabbix-server zabbix-agent httpd php-fpm fi
echo "#######################################################################" echo "# 安装已经完成 请移步浏览器,进行下一步操作 #" echo "# 登录地址为http://$ip/zabbix #" echo "# 数据库密码为$Database_Password,尽情享用吧! #" echo "#######################################################################"
|
4. 然后 嗯esc 退出编辑状态,输入 :wq 保存。
5. 再赋予权限
大功告成,执行 install.sh即可,执行过程中会有一部需要输入 mysql 密码,记得输入后 点Y继续就行;
注意:这些命令最好都带上 sudo。
我第一次启动的时候会需要设定zabbix的连接时有报错,看提示应该是 数据库账密的问题,感觉是脚本在设定mysql 的密码并没有保存到zabbix_server.conf ,里面存储的还是默认的那个root的密码,如果不介意就输入默认的root密码;
如果需要改,就进入 zabbix_server.conf 文件,将密码改成 你自己的密码即可;
完成后,输入 运行效果如下:
这里还有一个问题,zabbix 默认显示中文时有乱码,应该是缺少中文字库;
将windows上的你喜欢的中文字体复制一份到zabbix 的font目录即可。