zabbix5.0LTS版本server与proxy安装

2021-06-29 14:42:32 浏览数 (1)

说明

上一篇文章里有一些地方是有点问题的,这次从新总结写一个。

部署表

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代理程序-创建代理

0 人点赞