CentOS 7 Zabbix5安装

官网安装指南

下载Zabbix

centos7 数据库mysql,服务器nginx

1.安装Zabbix仓库

rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm

2.安装Zabbix server和Agent

yum install zabbix-server-mysql zabbix-agent

3.安装Zabbix前端

安装SCL软件集仓库

yum install centos-release-scl

编辑配置文件 /etc/yum.repos.d/zabbix.repo 启用前端仓库

[zabbix-frontend]

...

enabled=1

...

安装zabbix前端包

yum install zabbix-web-mysql-scl zabbix-nginx-conf-scl

4.安装及初始化数据库

4.1 安装mysql8 数据库

查看之前是否安装了mariadb ,默认情况下是安了的,安装了需要卸载

# 查看是否安装了mariadb,默认情况下是安装的
rpm -qa | grep mariadb
# 卸载mariadb
rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64

下载及安装

# 下载repo仓库
wget https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm
# 安装仓库
rpm -ivh mysql80-community-release-el7-3.noarch.rpm

使用下面的命令安装,下面这步安装非常慢,可能和源有关,建议离线安装 mysql-community-server-8.0.23-1.el7.x86_64.rpm 和 mysql-community-client-8.0.23-1.el7.x86_64.rpm

# 安装mysqlserver
yum install -y mysql-community-server

若提示公钥尚未安装,则先导入公钥再安装

rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

离线安装方式如下

# 离线包下载旧版 MySQL :: Download MySQL Community Server (Archived Versions)

# 离线包下载最新版 MySQL :: Download MySQL Community Server 需要登录oracle账号

# 最终获取的下载地址如下, 最快的的方式迅雷下载完传上去

# 下载rpm包
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-community-server-8.0.23-1.el7.x86_64.rpm
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-community-client-8.0.23-1.el7.x86_64.rpm
# 安装rpm包
rpm -ivh mysql-community-client-8.0.23-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.23-1.el7.x86_64.rpm

可能会缺依赖,缺的依赖用下面的命令补全

yum install net-tools perl mysql-community-common mysql-community-libs

设置启动 和 开机自启

# 启动和开机自启
systemctl start mysqld.service && systemctl enable mysqld.service

查看启动状态

# 查看启动状态
systemctl status mysqld.service

# 查看版本

mysqld -V
mysql -V

查看初始密码

grep "A temporary password" /var/log/mysqld.log

初始化数据库

mysql_secure_installation

第一次会提示修改初始的root密码

后续的设置, 不修改的话输入4个n和一个y

4.2 初始化数据库

初始化前确保数据库处于运行状态

# mysql -uroot -p

输入设置的密码,执行下面的创建数据库及授权命令

mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> create user zabbix@localhost identified by 'password'; #其中password 改成自己的密码,否则会报错
mysql> grant all privileges on zabbix.* to zabbix@localhost;
mysql> quit;

导入初始架构和数据,系统将提示您输入新创建的密码。

# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix

5. 为Zabbix server配置数据库

编辑配置文件 /etc/zabbix/zabbix_server.conf

DBPassword=password

6. 为Zabbix前端配置PHP

编辑配置文件 /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf, 取消掉 'listen' 和 'server_name'项的注释.

# listen 80;

# server_name example.com;

编辑配置文件 /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf, 对listen.acl_users的值增加nginx项.

listen.acl_users = apache,nginx

将注释掉时区去掉注释并设置正确的时区

; php_value[date.timezone] = Europe/Riga

改成

php_value[date.timezone] = Asia/Shanghai

7. 启动Zabbix server和agent进程

7.1 启动

启动Zabbix server和agent进程,并为它们设置开机自启:

# systemctl restart zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm

# systemctl enable zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm

7.2启动报错解决

error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or direct

执行find命令没有结果

find / -name libmysqlclient.so.18

应该是有个包没安装,搜索一下

yum whatprovides libmysqlclient*

结果中发现应该是缺少mysql-community-libs-compat,安装一下

yum install mysql-community-libs-compat

7.3防火墙配置

7.3.1 关闭SELINUX

编辑/etc/selinux/config

将SELINUX=enforcing 改成SELINUX=disabled

7.3.2添加防火墙端口

# 80端口 访问zabbix网页用, 3306 mysql端口,10051 zabbix客户端连服务器使用 160 161 SNMP端口监控交换机用
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --zone=public --add-port=10051/tcp --permanent
firewall-cmd --zone=public --add-port=160/udp --permanent
firewall-cmd --zone=public --add-port=161/udp --permanent
firewall-cmd --reload

8. 配置Zabbix前端

8.1 配置

连接到新安装的Zabbix前端: http://server_ip_or_name

根据Zabbix文件里步骤操作: 3 Installation from sources

8.2 内网配置修改内容

默认教程的nginx是按虚拟主机配置的,如果只是内网配置

应该修改

把zabbix.conf中server那段内容替换掉nginx.conf中的server段内容

nginx默认配置 /etc/opt/rh/rh-nginx116/nginx/nginx.conf

nginx默认网站目录 /opt/rh/rh-nginx116/root/usr/share/nginx/html

zabbix虚拟主机配置目录 /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf

之后进入网站就可以进行配置了

8.3 配置中zabbix 连接数据库报错解决

首先查看权限,排除权限问题

# mysql -uroot -p

输入设置的密码

SHOW GRANTS FOR zabbix@localhost;

查看连接日志

tail -f /var/log/zabbix/zabbix_server.log

报错如下

2502:20210314:121810.573 [Z3001] connection to database 'zabbix' failed: [2059] Authentication plugin 'caching_sha2_password' cannot be loaded: /usr/lib64/mysql/plugin/caching_sha2_password.so: cannot open shared object file: No such file or directory

2502:20210314:121810.573 Cannot connect to the database. Exiting...

应是认证方式的问题

登录mysql执行

ALTER USER root@localhost IDENTIFIED WITH mysql_native_password BY 'password';

ALTER USER zabbix@localhost IDENTIFIED WITH mysql_native_password BY 'password';

FLUSH PRIVILEGES;

设置完成之后,默认用户名密码 Admin zabbix

8.4 界面显示优化

8.4.1 页面语言设置

默认页面为英文,我们改成中文方便一些

左侧--User Setting--language改成chinese 然后点击Update

8.4.2 图形文字方块问题

复制msyh.ttc字体文件到/usr/share/fonts/dejavu目录

cd /etc/alternatives/

#查看软连接

ll /etc/alternatives/zabbix-web-font #实际是个软连接 zabbix-web-font -> /usr/share/fonts/dejavu/DejaVuSans.ttf

# 删除软连接文件

rm -rf /etc/alternatives/zabbix-web-font

# 创建新的软连接

ln -s /usr/share/fonts/dejavu/msyh.ttc /etc/alternatives/zabbix-web-font

# 查看新的软连接

ll /etc/alternatives/zabbix-web-font #这时指向/etc/alternatives/zabbix-web-font -> /usr/share/fonts/dejavu/msyh.ttc

#重启zabbix服务

systemctl restart zabbix-server

8.4.3 常用问题排查路径

服务端配置文件

/etc/zabbix/zabbix_server.conf

服务端日志文件

/var/log/zabbix/zabbix_server.log

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值