1.环境准备
systemctl stop iptables firewalld
systemctl disable iptables firewalld
systemctl start postfix #启动邮件服务
systemctl enable postfix
sed -ri '/SELINUX=/cSELINUX=disabled' /etc/selinux/config
setenforce 0
rebot
配置zabbix源
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm #升级RPM包
yum repolist #更新YUM
2.安装zabbix (server和agent)
安装zabbix组件
yum -y install epel-release.noarch
yum -y install zabbix-agent/server zabbix-get zabbix-sender zabbix-server-mysql
安装zabbix前端
yum -y install centos-release-scl
前端安装源仓库配置
vim /etc/yum.repos.d/zabbix.repo
[zabbix-frontend]
...
enabled=1
...
yum install zabbix-web-mysql-scl zabbix-apache-conf-scl
安装 zabbix 前端
yum install zabbix-web-mysql-scl zabbix-apache-conf-scl
3.为zabbix配置数据库
3.1安装数据库(mariadb)
修改yum源并安装
vim /etc/yum.repos.d/mariadb.repo
.................................................
[mariadb]
name = MariaDB
baseurl = https://mirrors.ustc.edu.cn/mariadb/yum/10.5/centos7-amd64
gpgkey=https://mirrors.ustc.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck=1
......................................
yum install -y MariaDB-server MariaDB-clien
修改配置文件
vim /etc/my.cnf.d/server.cnf
....................................................
skip_name_resolve = ON # 跳过主机名解析
innodb_file_per_table = ON # 开启独立表空间
innodb_buffer_pool_size = 256M # 缓存池大小
max_connections = 2000 # 最大连接数
log-bin = master-log # 开启二进制日志
............................................................
重启数据库
systemctl restart mariadb
mysql_secure_installation # 初始化mariadb
3.2 数据库操作
创建数据库并授权账号
create database zabbix character set utf8 collate utf8_bin; # 创建zabbix数据库
grant all on zabbix.* to 'zabbix'@'192.168.152.%' identified by '1234.com'; # 注意授权网段
flush privileges; # 刷新授权
导入zabbix服务表
mysql -uzabbix -h192.168.37.111 -p'1234.com' zabbix < /usr/share/doc/zabbix-server-mysql-5.0.2/create.sql
注: create.sql.gz
create.sql.gz由zabbix-server-mysql 提供,包含各种生成表的脚本
解压读取create.sql.gz,可以发现里面没有创建数据库的命令,所以需要前面我们手动创造数据库,然后再导入表
解压读取的create.sql.gz:
gzip -d /usr/share/doc/zabbix-server-mysql-5.0.2/create.sql.gz
ls
anaconda-ks.cfg
head /usr/share/doc/zabbix-server-mysql-5.0.2/create.sql
CREATE TABLE `users` (
`userid` bigint unsigned NOT NULL,
`alias` varchar(100) DEFAULT '' NOT NULL,
`name` varchar(100) DEFAULT '' NOT NULL,
`surname` varchar(100) DEFAULT '' NOT NULL,
`passwd` varchar(60) DEFAULT '' NOT NULL,
`url` varchar(255) DEFAULT '' NOT NULL,
`autologin` integer DEFAULT '0' NOT NULL,
`autologout` varchar(32) DEFAULT '15m' NOT NULL,
`lang` varchar(5) DEFAULT 'en_GB' NOT NULL,
4.配置SERVER端
修改 server 端的配置文件
cd /etc/zabbix/ (备份一下 cp zabbix_server.conf{,.bak})
vim zabbix_server.conf
ListenPort=10051 # 默认监听端口
SourceIP=192.168.37.111 # 发采样数据请求的 IP
server配置文件
1.Zabbix 日志
默认用文件记录,也可以发送给我们的 rsyslog 日志记录系统,如果我们选择默认,则日志存放在 LogFile=/var/log/zabbix/zabbix_server.log 中,也可以自己设置。
2.logfilesize 日志滚动
默认值为1,表示滚动。设为0则表示不滚动。当数据特别多的时候,可以设置成为1,在 Maximum size of log file in MB 设置当数据文件最大到多少时会自动滚动。
3.Debuglevel 日志级别
一共有6个级别。根据自己的需要来设置级别。其中0表示输出最少的信息,5表示输出最详细的信息,默认值为3,设置为3的话就表示,0、1、2、3四个级别都显示。考虑到生产系统中的压力时,这里的信息,如果没有必要的话,越简单越好,只要在出错的时候,我们可以依据其进行排错即可。
4.数据库相关
DBHost=192.168.37.111 #数据库对外的主机
DBName=zabbix #数据库名称
DBUser=zabbix #数据库用户
DBPassword=zabbix #数据库密码
DBPort=3306 #数据库启动端口
启动服务
systemctl start zabbix-server.service
5.配置 web GUI
配置php 前端 设置时间
vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
php_value[date.timezone] = Asia/Shanghai
或(这样最好
yum install -y ntpdate
ntpdate ntp.gwadar.cn
启动 httpd 服务
systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm
6.浏览器访问并进行初始化设置
AGENT端
(zabbix另一种安装方法)
安装 zabbix 安装源
wget https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
rpm -ivh zabbix-release-5.0-1.el7.noarch.rpm
yum -y install epel-release.noarch
yum install zabbix-agent zabbix-sender -y
编辑配置文件
cd /etc/zabbix/
cp zabbix_agentd.conf{,.bak}
vim zabbix_agentd.conf
Server=192.168.37.111 # 指明服务器是谁的
ListenPort=10050 # 自己监听的端口
ListenIP=0.0.0.0 # 自己监听的地址,0.0.0.0表示本机所有地址
StartAgents=3 # 优化时使用的
ServerActive=192.168.37.111 # 主动监控时的服务器
Hostname=node1.zabbix.com # 自己能被server端识别的名称
grep -Ev '^$|#' zabbix_agentd.conf
检查返回结果
systemctl start zabbix-agent.service