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/
- 备份/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
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
-
将所有http://repo.zabbix.com/替换成https://mirrors.tuna.tsinghua.edu.cn/zabbix/
-
并将[zabbix-frontend]中enable改为1
enabled=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系统帐号)
- PostgreSQL登录(使用psql客户端登录)
sudo -u postgres psql
其中,sudo -u postgres 是使用postgres 用户登录的意思
PostgreSQL数据默认会创建一个postgres的数据库用户作为数据库的管理员,密码是随机的,所以这里设定为'postgres'
- 修改PostgreSQL登录密码:
postgres=#为PostgreSQL下的命令提示符
postgres=# ALTER USER postgres WITH PASSWORD '你的密码';
- 退出PostgreSQL psql客户端
postgres=# \q
第二步:修改linux系统的postgres用户的密码(密码与数据库用户postgres的密码相同)
- 删除PostgreSQL用户密码
sudo passwd -d postgres
passwd -d 是清空指定用户密码的意思
- 设置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
初始化数据库
- 切转到postgres目录
cd ~postgres
- 为数据库创建zabbix用户并指定初始密码
sudo -u postgres createuser --pwprompt zabbix
- 创建数据库
注意下面这步与官方文档不一样, 需要指定编码为utf-8
sudo -u postgres createdb -O zabbix zabbix --template=template1 --encoding='UTF-8'
-
查看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前端设置
- 打开浏览器输入 http://本机地址, 进行页面安装
如果报错可以查看日志排错
/var/log/zabbix/zabbix_server.log
安装完成后默认登录用户名和密码
Admin
zabbix
- 切换中文显示乱码解决
查看当前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