说明
上一篇文章里有一些地方是有点问题的,这次从新总结写一个。
部署表
172.16.176.2 zabbix-server mysql
172.16.176.3 zabbix-proxy
172.16.176.4 zabbix-agent
安装zabbix-server
1、创建本地yum源
####################可访问外网的相同环境的机器进行如下操作####################
1)安装zabbix的yum源
代码语言:javascript复制# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
2)修改yum源加速器,使用清华大学的加速
代码语言:javascript复制# vim zabbix.repo
修改内容如下
代码语言:javascript复制[zabbix]
name=Zabbix Official Repository - $basearch
baseurl=https://mirror.tuna.tsinghua.edu.cn/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://mirror.tuna.tsinghua.edu.cn/zabbix/zabbix/5.0/rhel/7/$basearch/frontend
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
[zabbix-debuginfo]
name=Zabbix Official Repository debuginfo - $basearch
baseurl=https://mirror.tuna.tsinghua.edu.cn/zabbix/zabbix/5.0/rhel/7/$basearch/debuginfo/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
gpgcheck=1
[zabbix-non-supported]
name=Zabbix Official Repository non-supported - $basearch
baseurl=https://mirror.tuna.tsinghua.edu.cn/zabbix/non-supported/rhel/7/$basearch/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
gpgcheck=1
3)修改yum源为阿里源
代码语言:javascript复制# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
4)下载mysql数据库rpm包
解释参数--downloadonly只下载不安装,--downloaddir指定下载目录
代码语言:javascript复制# yum install mariadb-server.x86_64 --downloadonly --downloaddir=/opt/zabbix/
5)下载zabbix主要服务rpm包
代码语言:javascript复制# yum install zabbix-server-mysql zabbix-agent --downloadonly --downloaddir=/opt/zabbix/
6)下载相关依赖rpm包
代码语言:javascript复制# yum install centos-release-scl --downloadonly --downloaddir=/opt/zabbix/
7)下载zabbix-web、zabbix-get与http依赖包
代码语言:javascript复制# yum install zabbix-web-mysql-scl --downloadonly --downloaddir=/opt/zabbix/
代码语言:javascript复制# yum install zabbix-apache-conf-scl --downloadonly --downloaddir=/opt/zabbix/
代码语言:javascript复制# yum install zabbix-get --downloadonly --downloaddir=/opt/zabbix/
8)打包下载好的软件包与依赖,然后使用存储介质拷贝到内网机器
2、安装zabbix-server
####################内网机器如下操作####################
1)准备干净的机器,关闭selinux,修改配置文件第七行
代码语言:javascript复制# setenforce 0
代码语言:javascript复制# vi /etc/selinux/config
修改内容如下
代码语言:javascript复制SELINUX=disabled
2)关闭防火墙并关闭开机自起
代码语言:javascript复制# systemctl stop firewalld.service && systemctl disable firewalld.service
3)去/etc/yum.repo.d/目录新建zabbix.repo文件
代码语言:javascript复制# vim zabbix.repo
编辑内容如下
代码语言:javascript复制[zabbix5.0]
name=zabbixyum
baseurl=file:///opt/zabbix/
enable=1
gpgcheck=0
4)制作内部zabbix离线yum源
将存储介质打包的文件拷贝到/opt目录下并解压,重命名为zabbix
代码语言:javascript复制# mv zabbix.tar.gz /opt/
代码语言:javascript复制# tar xvf zabbix.tar.gz
代码语言:javascript复制# cd /opt/zabbix/
代码语言:javascript复制# createrepo ./
5)验证yum源
代码语言:javascript复制# yum clean all
代码语言:javascript复制# yum repolist
6)安装并配置mariadb-server
代码语言:javascript复制# yum -y install mariadb-server
代码语言:javascript复制# systemctl start mariadb.service
代码语言:javascript复制# systemctl enable mariadb.service
代码语言:javascript复制# mysql_secure_installation
依次问题内容
--输入当前数据库密码,没有密码直接回车
--为root用户设置密码
--删除匿名账号
--取消root用户远程登录
--删除test库和对test库的访问权限
--刷新授权表使修改生效
7)创建必要数据库并赋权
代码语言:javascript复制# mysql -uroot -p数据库密码
#创建zabbix服务的数据库名称为zabbix,指定字符集为utf8
代码语言:javascript复制mysql> create database zabbix character set utf8 collate utf8_bin;
#在mysql数据库中创建zabbix用户并指定localhost连接密码
代码语言:javascript复制mysql> create user zabbix@localhost identified by '自己定义密码';
zabbix用户赋权,两种模式,第一localhost连接,第二种不限制。
代码语言:javascript复制mysql> grant all privileges on zabbix.* to zabbix@localhost;
赋权允许zabbix用户通过1qaz@WSX密码在任意网登陆
代码语言:javascript复制MariaDB [(none)]> grant all privileges on *.* to 'zabbix'@'%' identified by '1qaz@WSX' with grant option;
查看zabbix赋权
代码语言:javascript复制MariaDB [(none)]> show grants for zabbix@'%' ;
----------------------------------------------------------------------------------------------------------------------------------
| Grants for zabbix@% |
----------------------------------------------------------------------------------------------------------------------------------
| GRANT ALL PRIVILEGES ON *.* TO 'zabbix'@'%' IDENTIFIED BY PASSWORD '*58319282EAB9E38D49CA25844B73DA62C80C2ABC' WITH GRANT OPTION |
| GRANT ALL PRIVILEGES ON `zabbix`.* TO 'zabbix'@'%' |
----------------------------------------------------------------------------------------------------------------------------------
8)安装组件
代码语言:javascript复制# yum -y install zabbix-server-mysql zabbix-agent
代码语言:javascript复制# yum install centos-release-scl (Software collections是一个Linux软件多版本共存的解决方案)
在执行下一步命令前先去/etc/yum.repo.d/目录看看是否有新产生的repo文件,需要删掉该文件。
代码语言:javascript复制# yum install zabbix-web-mysql-scl zabbix-apache-conf-scl
9)导入相关数据表
代码语言:javascript复制# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
10)编辑zabbix-server配置文件
代码语言:javascript复制# vim /etc/zabbix/zabbix_server.conf
找到对应项有注释则取消:
代码语言:javascript复制DBHost= localhost
DBName = zabbix
DBuser= zabbix
DBpassword = 第8步的赋权密码
11)编辑php文件
代码语言:javascript复制# vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
找到时区取消注释修改至Asia/Shanghai
代码语言:javascript复制php_value[date.timezone] = Asia/Shanghai
12)启动并设置开机自起
代码语言:javascript复制# systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
代码语言:javascript复制# systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm
3、安装server遇到的问题
####################一些解释说明####################
1)为什么安装centos-release-scl?
scr多版本共存解决办法,安装在redhat与centeros下的/opt/rh/目录下
2)关于图形化字体乱码怎么解决?
主要为字体问题,将系统字体cp复制一份即可,cp命令是cp -i的别名,所以使用‘’转换成cp本身的命令。
代码语言:javascript复制 # yum -y install wqy-microhei-fonts
代码语言:javascript复制 # cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /use/share/fonts/dejavu/DejaVuSans.ttf
3)zabbix-agent2需要修改哪些配置?
代码语言:javascript复制zabbix-agent2修改的配置文件内容如下
Server=server主机IP
ServerActive=server主机IP
HostName=监控端IP
4)查看配置文件时去除注释和空行?
代码语言:javascript复制# grep -Ev '^#|^$' /etc/zabbix/zabbix_agent.conf
5)时钟源
一定要建设好时钟源
##############################################################################################
安装zabbix-proxy
1、准备干净的机器,关闭selinux,修改配置文件第七行
代码语言:javascript复制# setenforce 0
代码语言:javascript复制# vi /etc/selinux/config
修改内容如下
代码语言:javascript复制SELINUX=disabled
2、关闭防火墙并关闭开机自起
代码语言:javascript复制# systemctl stop firewalld.service && systemctl disable firewalld.service
3、对准时钟源
代码语言:javascript复制# yum -y install ntpd
代码语言:javascript复制# vi /etc/ntp.conf
添加server
代码语言:javascript复制server 172.16.176.2
4、配置zabbix安装源
(参照zabbix-server源配置)
5、安装proxy以及数据库
代码语言:javascript复制# yum -y install zabbix-proxy-mysql
代码语言:javascript复制# yum -y install zabbix-get
6、启动数据库,存储zabbix数据库
(测试环境我配置的共用数据库程序,分别在不同的库中,以下步骤我在mysql机器上操作)
创建proxy数据库,并指定字符集。
代码语言:javascript复制MariaDB [(none)]> create database zabbix_proxy_active character set utf8 collate utf8_bin;
赋权active用户使用密码active对数据库zabbix_proxy_active在任意ip登陆有完全访问权限
代码语言:javascript复制MariaDB [(none)]> grant all privileges on zabbix_proxy_active.* to active@'%' identified by 'active';
刷新赋权表
代码语言:javascript复制MariaDB [(none)]> flush privileges;
7、导入proxy数据库信息
代码语言:javascript复制# zcat /usr/share/doc/zabbix-proxy-mysql-5.0.12/schema.sql.gz |mysql -uactive -h172.16.176.2 -p zabbix_proxy_active
8、验证数据是否导入
代码语言:javascript复制MariaDB [zabbix_proxy_active]> show tables;
-------------------------------
| Tables_in_zabbix_proxy_active |
-------------------------------
| acknowledges |
| actions |
| alerts |
| application_discover
.
.
.
| usrgrp |
| valuemaps |
| widget |
| widget_field |
-------------------------------
166 rows in set (0.00 sec)
代码语言:javascript复制9、修改zabbix-proxy配置文件,连接数据库信息等
代码语言:javascript复制# cat /etc/zabbix/zabbix_proxy.conf |grep '^[a-Z]'
Server=172.16.176.2
Hostname=zabbix-proxy-active
LogFile=/var/log/zabbix/zabbix_proxy.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_proxy.pid
SocketDir=/var/run/zabbix
DBHost=172.16.176.2
DBName=zabbix_proxy_active
DBUser=active
DBPassword=active
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000
StatsAllowedIP=127.0.0.1
10、启动proxy
代码语言:javascript复制# systemctl start zabbix-proxy
# systemctl status zabbix-proxy
● zabbix-proxy.service - Zabbix Proxy
Loaded: loaded (/usr/lib/systemd/system/zabbix-proxy.service; disabled; vendor preset: disabled)
Active: active (running) since 二 2021-06-29 10:12:34 CST; 15s ago
Process: 9619 ExecStart=/usr/sbin/zabbix_proxy -c $CONFFILE (code=exited, status=0/SUCCESS)
CGroup: /system.slice/zabbix-proxy.service
11、页面配置
登陆-管理-agent代理程序-创建代理