linux 安装部署zabbix5.0
一、操作环境:
操作系统:CentOS 7.9
cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
主机:
zabbix-server:192.168.199.203 node3
zabbix-agent: 192.168.199.206 node6
关闭防火墙(两台):
setenforce 0
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
systemctl stop firewalld.service
systemctl disable firewalld.service
保留的话,要放开10050和10051端口(两台)
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.199.0/24" port protocol="tcp" port="10050" accept"
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.199.0/24" port protocol="tcp" port="10051" accept"
firewall-cmd –reload
如果开启iptables(两台)
iptables -A INPUT -s 192.168.199.0/24 -p tcp -m tcp --dport 10050 -j ACCEPT
iptables -A INPUT -s 192.168.199.0/24 -p tcp -m tcp --dport 10051 -j ACCEPT
iptables-save >>/etc/sysconfig/iptables
systemctl restart iptables
zabbix数据流向
二、服务端安装:192.168.199.203
2.1 安装失败,可用此卸载
rpm -qa | grep zabbix-release && rpm -e zabbix-release
2.2 安装配置zabbix专用yum源
rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo
yum clean all
2.3 卸载可能存在的mariadb && zabbix-server-mysql && zabbix-agent
PS:这一步一定要在安装zabbix-server-mysql之前执行
rpm -qa | grep mariadb
yum remove -y mariadb-libs-5.5.68-1.el7.x86_64
yum install zabbix-server-mysql zabbix-agent -y
2.4 安装zabbix前端
安装centos-release-scl
yum install centos-release-scl -y
安装zabbix前端包
yum install zabbix-web-mysql-scl zabbix-nginx-conf-scl -y
报错:没有可用的软件包
解决办法:
zabbix.repo中放通前端安装
sed -i 11cenabled=1 /etc/yum.repos.d/zabbix.repo
yum install zabbix-web-mysql-scl zabbix-nginx-conf-scl -y
2.5 安装mysql并初始化
安装mysql5.7
cd /usr/local/src/
wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm
rpm -ivh mysql57-community-release-el7-8.noarch.rpm
# 现在需要修改不验证秘钥
sed -i "s/gpgcheck=1/gpgcheck=0/g" /etc/yum.repos.d/mysql-community.repo
yum -y install mysql-server
# 可修改/etc/ny.cnf 适配自己
启动mysql
systemctl start mysqld
systemctl enable mysqld
netstat -lntp|grep 3306
查看初始化密码
grep 'temporary password' /var/log/mysqld.log
# 输出如下,root@localhost后面就是密码:
2021-12-01T02:30:01.521185Z 1 [Note] A temporary password is generated for root@localhost: Aj2at?2h3?=y
登录mysql并修改密码
mysql -uroot -p'Aj2at?2h3?=y'
mysql> alter user user() identified by "HGS4#cdh$sAY";
mysql> FLUSH PRIVILEGES;
初始化mysql
mysql -uroot -p'HGS4#cdh$sAY'
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> create user zabbix@192.168.199.203 identified by 'HGS4#cdh$sAY';
mysql> grant all privileges on zabbix.* to zabbix@192.168.199.203;
mysql> FLUSH PRIVILEGES;
mysql> quit
导入zabbix初始数据(166张表)
限制了连接主机,-h 需要加上
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p'HGS4#cdh$sAY' -h 192.168.199.203
这样会报错,没有选择数据库:
ERROR 1046 (3D000) at line 1: No database selecte
解决办法:编辑要导入的数据库文件
vim /usr/share/doc/zabbix-server-mysql*/create.sql.gz
# 在第一行加上
use zabbix;
然后重新导入即可:
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p'HGS4#cdh$sAY' -h 192.168.199.203
配置Zabbix server连接数据库
vim /etc/zabbix/zabbix_server.conf
# 增加125行为:
DBPassword=HGS4#cdh$sAY
# 92行增加
DBHost=192.168.199.203
zabbix前端配置
修改时区
sed -i.bak /\;date.timezone\ =/adate.timezone=Asia/Shanghai /etc/opt/rh/rh-php72/php.ini
打开注释并配置域名
vim /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf
listen 8080;
server_name jiankong.com;
特别注意:
注意一定不要使用默认的80端口
因为nginx默认使用 /etc/opt/rh/rh-nginx116/nginx/nginx.conf,
然后才会使用 /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf
如果使用默认80端口访问是显示nginx默认欢迎页,无法跳转至zabbix页面
如果非要用80端口,那就注释掉/etc/opt/rh/rh-nginx116/nginx/nginx.conf的server段
配置php-fpm
vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
# 第6行添加nginx用户
listen.acl_users = apache,nginx
# 第25行修改时区
php_value[date.timezone] = Asia/Shanghai
启动zabbix server及agent
# 设置为开机自动激活单元并现在立刻启动:systemctl enable --now
systemctl enable --now zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm
2.6 设置zabbix
浏览器访问:http://ip:PORT
这里是:http://192.168.199.203:8080/
配置数据库连接
Database host: 因为前面对zabbix登录做了限制,所以必须填写
Database port: 0代表使用3306端口
Password: zabbix库用户的密码
FFFFFF,t_70,g_se,x_16)
现在已经顺利完成前段配置,点击完成之后,就可以登录了 :
默认的账号及密码:
用户名:Admin,密码:zabbix
配置文件: /etc/zabbix/web/zabbix.conf.php
日志文件: /var/log/zabbix/zabbix_server.log
有问题,第一时间查看日志
修改默认密码并设置语言环境
User setting =>User => Change password
2.7 解决中文乱码问题
查看乱码
解决乱码
在zabbix-server服务器上安装如下文件符集
yum install wqy-microhei-fonts -y
替换linux上默认的字符集
cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf
重启zabbix-server,查看乱码是否解决
systemctl restart zabbix-server
或者
上传字体
Windows控制面板 – 字体 – simkai.ttf字体 – 上simkai.ttf传字体到 /usr/share/fonts/dejavu/目录中
cat /var/lib/alternatives/zabbix-web-font
重新连接字体
ln -sf /usr/share/fonts/dejavu/simkai.ttf /etc/alternatives/zabbix-web-font
.验证
三、 安装zabbix agent 192.168.199.206
yum -y install \
https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-agent-5.0.12-1.el7.x86_64.rpm
配置 Zabbix-Agent 指向 Zabbix-Server
cat > /etc/zabbix/zabbix_agentd.conf << eof
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
DenyKey=system.run[*]
Server=192.168.199.203
Hostname=192.168.199.206
Include=/etc/zabbix/zabbix_agentd.d/*.conf
eof
说明:
Server: 被动模式访问的zabbix-server的ip
ServerActive:主动模式访问的zabbix-server的ip
StartAgents :zabbix_agentd用来处理被动检查的实例数量,
如果设置为0,则禁用被动模式检查而且agent不再监听任何tcp端口
启动 Zabbix-Agent , 默认监听在 10050 端⼝
systemctl enable --now zabbix-agent
netstat -lntp | grep zabbix_agent
四、web上添加监控群组或主机
点击配置->选择主机群组->创建主机群组
点击配置->选择主机->创建主机
按需求选择监控模板
查看监控:(随便找的值)