CentOS 7 部署 Zabbix 5.0 基于 PostgreSQL-12 NGINX

安装部署硬件环境标准

虚拟机配置标准:

CPU:4 core
内存:4G
硬盘:80G
网卡 :VMNET3*1

安装环境及软件

Zabbix version:5.0 LTS
OS:CentOS-7-x86_64-DVD-1611.iso
Database:PostgreSQL-12
Web Server:NGINX
Tools:SecureCRT64 WinSCP
Database Admin Tool:phpMyAdmin
Web Unix System Admin Tool:webmin-1.88

分区

硬盘:80GB

必要分区 大小
/boot 1024MiB
/ 30720MiB
/var 30720MiB
swap 4096MiB
/home 剩余空间

系统配置:

网络

保证该主机有完全外网权限

主机名和密码

主机名:你的主机名
root密码:你的密码


关闭防火墙

systemctl status firewalld.service
systemctl stop firewalld.service
systemctl disable firewalld.service

关闭SELinux

vi /etc/sysconfig/selinux

SELinux=enforcing改为SELinux=disabled

更新源

参考链接: https://mirrors.aliyun.com/repo/

  1. 备份/etc/yum.repos.d/CentOS-Base.repo
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo

下载对应版本repo文件, 放入/etc/yum.repos.d/
运行以下命令生成缓存

yum clean all
yum makecache
sudo yum update

安装自动补全插件

yum -y install bash-completion

Zabbix安装参考

https://www.cnblogs.com/shallow-buried/p/13499905.html

https://www.zabbix.com/cn/download?zabbix=5.0&os_distribution=centos&os_version=8&db=postgresql&ws=nginx

sudo rpm -Uvh https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm

编辑zabbix.repo

vi /etc/yum.repo.d/zabbix.repo
  1. 将所有http://repo.zabbix.com/替换成https://mirrors.tuna.tsinghua.edu.cn/zabbix/

  2. 并将[zabbix-frontend]中enable改为1

enabled=1

  1. 增加以下代码

[postgresql]
name=Postgresql Official Repository - $basearch
baseurl=https://mirrors.tuna.tsinghua.edu.cn/postgresql/repos/yum/12/redhat/rhel-7-x86_64/
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591

安装postgresql

yum install postgresql12-server -y
/usr/pgsql-12/bin/postgresql-12-setup initdb
vi /var/lib/pgsql/12/data/pg_hba.conf 

文件增加一行

host all all 0.0.0.0:0 md5

TYPE DATABASE USER ADDRESS METHOD
"local" is for Unix domain socket connections only
local all all peer
IPv4 local connections:
host all all 0.0.0.0:0 md5
host all all 127.0.0.1/32 md5
IPv6 local connections:
host all all ::1/128 md5
Allow replication connections from localhost, by a user with the
replication privilege.
local replication all peer
host replication all 127.0.0.1/32 ident(不能改)
host replication all ::1/128 ident(不能改)

启动数据库

systemctl start postgresql-12
systemctl enable postgresql-12

快照Database-CentOS7


postgres用户和密码设定

第一步:修改PostgreSQL数据库的默认用户postgres的密码(注意不是linux系统帐号)

  1. PostgreSQL登录(使用psql客户端登录)
sudo -u postgres psql

其中,sudo -u postgres 是使用postgres 用户登录的意思
PostgreSQL数据默认会创建一个postgres的数据库用户作为数据库的管理员,密码是随机的,所以这里设定为'postgres'

  1. 修改PostgreSQL登录密码:

postgres=#为PostgreSQL下的命令提示符

postgres=# ALTER USER postgres WITH PASSWORD '你的密码';
  1. 退出PostgreSQL psql客户端
postgres=# \q

第二步:修改linux系统的postgres用户的密码(密码与数据库用户postgres的密码相同)

  1. 删除PostgreSQL用户密码
sudo passwd -d postgres

passwd -d 是清空指定用户密码的意思

  1. 设置PostgreSQL用户密码
    PostgreSQL数据默认会创建一个linux用户postgres,通过上面的代码修改密码为'你的密码*’(这取决于第二步中的密码,只要与其相同即可)。
    现在,我们就可以在数据库服务器上用 postgres帐号通过psql或者pgAdmin等等客户端操作数据库了。
#sudo -u postgres passwd

输入新的 UNIX 密码:你的密码
重新输入新的 UNIX 密码:你的密码
passwd:已成功更新密码

安装zabbix

yum install zabbix-server-pgsql zabbix-agent -y
yum install centos-release-scl -y
yum install zabbix-web-pgsql-scl zabbix-nginx-conf-scl -y

初始化数据库

  1. 切转到postgres目录
cd ~postgres
  1. 为数据库创建zabbix用户并指定初始密码
sudo -u postgres createuser --pwprompt zabbix
  1. 创建数据库
    注意下面这步与官方文档不一样, 需要指定编码为utf-8
sudo -u postgres createdb -O zabbix zabbix --template=template1 --encoding='UTF-8'
  1. 查看zabbix数据库是否已经建立

    以postgres用户进入数据库

sudo -u postgres psql
/l

zabbix已经存在,但数据库权限为空

修改数据库属主

alter database "zabbix" owner to zabbix;

增加数据库权限

grant all on database "zabbix" to zabbix;

设置zabbix用户为superuser登录权限

alter user zabbix superuser login

备注:如果是docker安装, 似乎yum安装的没有这个文件, 需要用rpm包重新安装一次zabbix-server

zcat /usr/share/doc/zabbix-server-pgsql*/create.sql.gz | sudo -u zabbix psql zabbix

配置zabbix_server.conf

vi /etc/zabbix/zabbix_server.conf

填入上一步为zabbix初始化的密码

DBHost=localhost
如果指定IP会提示连接数据库错误
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix

配置nignx监听端口及服务名

vi/etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf ,  

listen 80;
server_name 本机IP;如果是“localhost”,浏览器输入IP访问的时候一直显示Nginx欢迎页面

添加nginx, 配置时区

vi /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf

listen.acl_users = apache,nginx
...
php_value[date.timezone] = Asia/Shanghai

启动zabbix

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

快照Done-Zabbix


Zabbix前端设置

  1. 打开浏览器输入 http://本机地址, 进行页面安装

如果报错可以查看日志排错

/var/log/zabbix/zabbix_server.log

安装完成后默认登录用户名和密码
Admin
zabbix

  1. 切换中文显示乱码解决
查看当前zabbix字体软链接
ls -l /usr/share/zabbix/assets/fonts/graphfont.ttf 

lrwxrwxrwx 1 root root 33 12月 30 08:46 /usr/share/zabbix/assets/fonts/graphfont.ttf -> /etc/alternatives/zabbix-web-font

删除旧软链接
#rm -f /etc/alternatives/zabbix-web-font
拷贝windows的simsun.ttc到/usr/share/zabbix/assets/fonts/
新建软链接
ln -s /usr/share/zabbix/assets/fonts/simfang.ttf /etc/alternatives/zabbix-web-font

查看当前文件系统运行状态,便于运行一段时间后对比

df -h

文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 908M 0 908M 0% /dev
tmpfs 919M 8.0K 919M 1% /dev/shm
tmpfs 919M 8.9M 911M 1% /run
tmpfs 919M 0 919M 0% /sys/fs/cgroup
/dev/mapper/cl-root 30G 1.6G 29G 6% /
/dev/sda1 1014M 179M 836M 18% /boot
/dev/mapper/cl-home 15G 33M 15G 1% /home
/dev/mapper/cl-var 30G 462M 30G 2% /var
tmpfs 184M 0 184M 0% /run/user/0

posted @ 2021-01-11 14:34  周少迪  阅读(819)  评论(0编辑  收藏  举报