一、安装zabbix-server
系统环境:CentOS-7-x86_64-Minimal-1708
1.首先把Centos7安装完毕并关闭防火墙与SElinux。
关闭防火墙
systemctl stop firewalld&&systemctl disable firewalld
关闭SELinux:
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
然后重启reboot
2、替换阿里云Zabbix源
shell脚本zabbix_aliyun.sh
vi zabbix_aliyun.sh
复制下面脚本
#!/bin/bash
echo -e "请给出要安装的zabbix版本号,建议使用4.x的版本 \033[31musage:./zabbix_aliyun.sh 4.0|4.4|4.5|5.0 \033[0m"
echo "例如要安装4.4版本,在命令行写上 ./zabbix_aliyun.sh 4.4"
if [ -z $1 ];then
exit
fi
VERSION=$1
if [ -f /etc/yum.repos.d/zabbix.repo ];then
rm -rf /etc/repos.d/zabbix.repo
fi
rpm -qa | grep zabbix-release && rpm -e zabbix-release
rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/$VERSION/rhel/7/x86_64/zabbix-release-$VERSION-1.el7.noarch.rpm
sed -i "s@zabbix/.*/rhel@zabbix/$VERSION/rhel@g" /etc/yum.repos.d/zabbix.repo
sed -i '[email protected]@mirrors.aliyun.com/zabbix@g' /etc/yum.repos.d/zabbix.repo
[ $? -eq 0 ] && echo "阿里云的zabbix源替换成功" || exit 1
yum clean all
yum makecache fast
然后执行命令:
bash zabbix_aliyun.sh 5.0
3.由于zabbix提供集中的web监控管理界面,因此服务在web界面的呈现需要LAMP架构支持。安装httpd php
yum install -y httpd php php-mysql php-gd libjpeg* php-ldap php-odbc php-pear php-xml php-xmlrpc php-mhash
4.安装常用的开发软件
yum groups install "Development Tools"
查看工具包
yum groups info "Development Tools"
5.安装Zabbix5.0仓库
rpm -ivh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
yum clean all
安装Zabbix server and agent
yum install zabbix-server-mysql zabbix-agent -y
启用Red Hat软件集合
SCL(Software Collections)可以让你在同一个操作系统上安装和使用多个版本的软件,而不会影响整个系统的安装包。
yum install centos-release-scl -y
启用zabbix-deprecated repository
vi /etc/yum.repos.d/zabbix.repo
安装zabbix前端
yum install -y zabbix-web-mysql-scl zabbix-apache-conf-scl
安装mysql数据库
yum -y install mariadb-server mariadb
启动mariadb
systemctl start mariadb&&systemctl enable mariadb
启动msyql后执行初始安全设置
mysqladmin -u root password "123456"
#设置mysql密码为123456
创建初始数据库
mysql -uroot -p #输入密码123456
create database zabbix character set utf8 collate utf8_bin;
create user zabbix@localhost identified by 'password'; #密码是password,导入Zabbix数据库结构和数据输入这个密码
grant all privileges on zabbix.* to zabbix@localhost;
quit; #退出
在Zabbix服务器主机上,导入初始架构和数据。系统将提示您输入新创建的密码。
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix #回车密码是password
为Zabbix服务器配置数据库
vi /etc/zabbix/zabbix_server.conf
DBPassword=password
为Zabbix前端配置PHP
编辑文件/etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf,取消注释并为您设置正确的时区。
vi /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
php_value[date.timezone] = Asia/Shanghai
启动Zabbix服务
systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm&&systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm
配置Zabbix Web前端
浏览器输入http://ip/zabbix,Zabbix初始用户名:Admin,初始密码为:zabbix
点next step
点next step
配置mysql数据库账号和密码, 输入zabbix帐户的密码,点next step
Name那里起一个名, 点next step
点 next step
点finish
至此zabbix前端配置完成
输入账号Admin密码zabbix
进入zabbix页面
后续:
1.Zabbix前端界面设置成中文
选择User settings,语言选择中文,点击update
2. 显示中文乱码解决方法(特别是图表那块的汉字)
在zabbix-server服务器上安装如下文件符集
yum install -y wqy-microhei-fonts
然后替换linux上默认的字符集
cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf #输入y,然后回车
最后刷新网业或重启zabbix-server,查看乱码是否解决
3.客户端安装
linux
同zabbix-server服务器操作,第一步先替换阿里的源。
然后执行
yum install zabbix-agent
配置 vi /etc/zabbix/zabbix_agentd.conf 。修改zabbix-server的IP
重启zabbix-agent
systemctl restart zabbix-agent
下载Zabbix agent v5.0.2(链接: https://cdn.zabbix.com/zabbix/binaries/stable/5.0/5.0.2/zabbix_agent-5.0.2-windows-amd64-openssl.msi)
下载下来后双击打开
一路next到下图中输入服务器IP
安装完成后,到zabbix agent的安装目录改一个参数
最后到服务器上添加主机
4.mysql中删除又想重建zabbix用户,但是执行创建命令报错。如果是先删了zabbix数据,还是创建不了可以用这方法4.mysql创建用户报错bug——ERROR 1396 (HY000): Operation CREATE USER failed for 'zabbix'@'localhost'
mysql> select host,user from user;
+-----------+------------------+
| host | user |
+-----------+------------------+
| localhost | mysql.infoschema |
| localhost | mysql.session |
| localhost | mysql.sys |
| localhost | root |
+-----------+------------------+
4 rows in set (0.00 sec)
mysql> create user 'zabbix'@'localhost' identified by 'Test@1234';
ERROR 1396 (HY000): Operation CREATE USER failed for 'zabbix'@'localhost'
可以看到mysql用户中并没有zabbix,可是却无法创建,经查阅这是一个mysql官方bug:
drop user zabbix@localhost;
flush privileges;
create user zabbix@localhost identified by 'admins_password'
在删除数据库的时候报标题所示错误
mysql> drop database zabbix;
ERROR 1010 (HY000): Error dropping database (can't rmdir './zabbix/', errno: 17)
问题原因:
zabbix目录下存在着MySQL数据库没有权限删除或不知道的文件,即MySQL数据库中没有该文件的数据字典信息。
如下所示,
[root@localhost data]# cd /mysql/data/zabbix
[root@localhost test]# ls
-rw-r--r-- 1 mysql mysql 79667 Mar 5 17:13 psql.log
解决方法:
手动删除zabbix目录下的该文件
# rm -f psql.log
登录数据库,重新执行drop database操作
mysql> drop database zabbix;
Query OK, 0 rows affected (0.01 sec)