zabbix 5.0 安装

Zabbix 5.0 安装教学

文章目录

    • 一、安装zabbix-server
      • 1、首先把Centos7安装完毕并关闭防火墙与SElinux。
      • 2、替换阿里云Zabbix源
      • 3、安装所需插件
      • 4、安装常用的开发软件
      • 5、安装Zabbix5.0仓库
      • 6、安装Zabbix服务端server 以及客户端angent
      • 7、启用Red Hat软件集合
      • 8、安装zabbix前端包
      • 9、安装mysql数据库
      • 10、启动Zabbix服务
      • 11、docker安装 zabbix-web-nginx-mysql
    • 二.客户端agent安装
      • 1、第一步先替换阿里的源。
      • 2、然后执行安装agent
    • 三、其他问题
      • 1、mysql用户问题
      • 2、zabbixserver的配置文件:
      • 3、zabbix_agentd.conf的配置文件
      • 4、zabbixproxy的配置文件

一、安装zabbix-server

系统环境:

[root@test1 ~]# cat /etc/redhat-release 
CentOS Linux release 7.9.2009 (Core)

1、首先把Centos7安装完毕并关闭防火墙与SElinux。

关闭防火墙

systemctl stop firewalld && systemctl disable firewalld

关闭SELinux:

setenforce 0 && sed -i 's/=enforcing/=disabled/g' /etc/selinux/config

2、替换阿里云Zabbix源

这里使用 shell脚本 zabbix_aliyun.sh

vim zabbix.sh 
#!/bin/bash
 
echo -e "请给出要安装的zabbix版本号,建议使用4.x的版本  \033[31musage:./zabbix_aliyun.sh 4.0|4.4|4.5|5.0 \033[0m"
echo "例如要安装5.0版本,在命令行写上 ./zabbix.sh 5.0"
if [ -z $1 ];then
    exit
fi
VERSION=$1
if [ -f /etc/yum.repos.d/zabbix.repo ];then
    rm -rf /etc/repos.d/zabbix.repo
fi
rpm -qa | grep zabbix-release && rpm -e zabbix-release
rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/$VERSION/rhel/7/x86_64/zabbix-release-$VERSION-1.el7.noarch.rpm
sed -i "s@zabbix/.*/rhel@zabbix/$VERSION/rhel@g" /etc/yum.repos.d/zabbix.repo
sed -i '[email protected]@mirrors.aliyun.com/zabbix@g' /etc/yum.repos.d/zabbix.repo
[ $? -eq 0 ] && echo "阿里云的zabbix源替换成功" || exit 1
yum clean all
yum makecache fast

然后附加可执行权限,执行shell脚本:

chmod +x zabbix.sh

./zabbix.sh 5.0

zabbix 5.0 安装_第1张图片

3、安装所需插件

由于zabbix提供web监控管理界面,因此还需要在web界面的展示需要LAMP架构支持。安装httpd php插件

yum install -y httpd  php php-mysql php-gd libjpeg* php-ldap php-odbc php-pear php-xml php-xmlrpc php-mhash

4、安装常用的开发软件

yum groupinstall "Development Tools"

5、安装Zabbix5.0仓库

rpm -ivh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
yum clean all
yum makecache 

6、安装Zabbix服务端server 以及客户端angent

yum install zabbix-server-mysql zabbix-agent -y

zabbix 5.0 安装_第2张图片配置 zabbix_agentd.conf 文件

 vim /etc/zabbix/zabbix_agentd.conf

修改zabbix-server的IP
zabbix 5.0 安装_第3张图片

7、启用Red Hat软件集合

SCL(Software Collections)可以让你在同一个操作系统上安装和使用多个版本的软件,而不会影响整个系统的安装包。

yum install centos-release-scl -y

启用zabbix-deprecated repository

vim /etc/yum.repos.d/zabbix.repo

zabbix 5.0 安装_第4张图片

8、安装zabbix前端包

yum install -y zabbix-web-mysql-scl zabbix-apache-conf-scl

zabbix 5.0 安装_第5张图片

9、安装mysql数据库

yum -y install mariadb-server mariadb

启动mariadb

systemctl start mariadb&&systemctl enable mariadb

启动msyql后执行初始安全设置


mysqladmin -u root password "123456"    

#设置mysql密码为123456
创建初始数据库

mysql -uroot -p             #输入密码123456

create database zabbix character set utf8 collate utf8_bin;

create user zabbix@localhost identified by 'password'; #密码是password,导入Zabbix数据库结构和数据输入这个密码
grant all privileges on zabbix.* to zabbix@localhost;

flush privileges;
quit;                                                           #退出                                                       #退出

在Zabbix服务器主机上,导入初始架构和数据。系统将提示您输入新创建的密码。

zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix                 #回车密码是password

为Zabbix服务器配置数据库

vi /etc/zabbix/zabbix_server.conf
DBPassword=password

为Zabbix前端配置PHP

编辑文件/etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf,取消注释并为您设置正确的时区。

vi /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
php_value[date.timezone] = Asia/Shanghai

10、启动Zabbix服务

systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm&&systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm

配置Zabbix Web前端

浏览器输入http://ip/zabbix,Zabbix初始用户名:Admin,初始密码为:zabbix

点next step

zabbix 5.0 安装_第6张图片一切ok
zabbix 5.0 安装_第7张图片配置mysql数据库账号和密码, 输入zabbix帐户的密码 password ,点next step
zabbix 5.0 安装_第8张图片

Name那里起一个名, 点next step
zabbix 5.0 安装_第9张图片检查一下
zabbix 5.0 安装_第10张图片完成安装
zabbix 5.0 安装_第11张图片
初始用户名:Admin,初始密码为:zabbix
进入zabbix页面
zabbix 5.0 安装_第12张图片设置中文界面
选择User settings,语言选择中文,点击update
zabbix 5.0 安装_第13张图片2. 显示中文乱码解决方法(特别是图表那块的汉字)
在zabbix-server服务器上安装如下文件符集

yum install -y wqy-microhei-fonts

然后替换linux上默认的字符集

cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf      #输入y,然后回车

11、docker安装 zabbix-web-nginx-mysql

安装docker

yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum -y install docker-ce
sed -i 's#ExecStart=/usr/bin/dockerd.*#ExecStart=/usr/bin/dockerd#' /usr/lib/systemd/system/docker.service

mkdir /etc/docker /data/docker
cat >/etc/docker/daemon.json<<EOF
{
  "registry-mirrors": ["https://15y9mzqb.mirror.aliyuncs.com"],
  "exec-opts": ["native.cgroupdriver=systemd"],
  "graph": "/data/docker"
}
EOF
systemctl daemon-reload 
systemctl enable docker
systemctl start docker
systemctl status docker

安装zabbix-web
下载镜像


docker pull zabbix/zabbix-web-nginx-mysql:centos-5.0.2

[root@test1 /]# docker images 
REPOSITORY                      TAG            IMAGE ID       CREATED         SIZE
zabbix/zabbix-web-nginx-mysql   centos-5.0.2   c552ec85c6c8   13 months ago   439MB



启动zabbix-web

[root@tfryb-04-30-02 ~]# docker run --name zabbix-web-nginx-mysql \
	-e DB_SERVER_HOST="192.168.31.160" \
	-e MYSQL_DATABASE="zabbix" \
	-e MYSQL_USER="zabbix" \
	-e MYSQL_PASSWORD="password" \
	-e ZBX_SERVER_HOST="192.168.31.160" \
	-e PHP_TZ="Asia/Shanghai" \
	-p 8081:8080 \
	-d zabbix/zabbix-web-nginx-mysql:centos-5.0.2

二.客户端agent安装

1、第一步先替换阿里的源。

./zabbix.sh

2、然后执行安装agent

yum install zabbix-agent

配置 zabbix_agentd.conf 文件

 vim /etc/zabbix/zabbix_agentd.conf

修改zabbix-server的IP
zabbix 5.0 安装_第14张图片### 3、重启zabbix-agent

systemctl restart zabbix-agent && systemctl enable zabbix-agent

三、其他问题

1、mysql用户问题

mysql中删除又想重建zabbix用户,但是执行创建命令报错。如果是先删了zabbix数据,还是创建不了可以用这方法4.mysql创建用户报错bug——ERROR 1396 (HY000): Operation CREATE USER failed for ‘zabbix’@‘localhost’

mysql> select host,user from user;
+-----------+------------------+
| host      | user             |
+-----------+------------------+
| localhost | mysql.infoschema |
| localhost | mysql.session    |
| localhost | mysql.sys        |
| localhost | root             |
+-----------+------------------+
4 rows in set (0.00 sec)
mysql> create user 'zabbix'@'localhost' identified by 'Test@1234';
ERROR 1396 (HY000): Operation CREATE USER failed for 'zabbix'@'localhost'

可以看到mysql用户中并没有zabbix,可是却无法创建,经查阅这是一个mysql官方bug:

drop user zabbix@localhost;
flush privileges;
create user zabbix@localhost identified by 'admins_password'

在删除数据库的时候报标题所示错误

mysql> drop database zabbix;
ERROR 1010 (HY000): Error dropping database (can't rmdir './zabbix/', errno: 17)

问题原因:

zabbix目录下存在着MySQL数据库没有权限删除或不知道的文件,即MySQL数据库中没有该文件的数据字典信息。

如下所示,

[root@localhost data]# cd /mysql/data/zabbix
[root@localhost test]# ls
-rw-r--r-- 1 mysql mysql 79667 Mar  5 17:13 psql.log

解决方法:

手动删除zabbix目录下的该文件

# rm -f psql.log

登录数据库,重新执行drop database操作

mysql> drop database zabbix;
Query OK, 0 rows affected (0.01 sec)

2、zabbixserver的配置文件:

NodeID=0 #分布式节点id号,0代表是独立服务器,默认是被注释掉的,不强制配置 
ListenPort=10051 #zabbix server的端口,默认是10051,可以自行修改, 
范围是1024-32767 ,一般默认即可 
SourceIP=  #连接的源ip地址,默认为空,默认即可 
LogFile=/tmp/zabbix_server.log #日志文件的存放位置 
LogFileSize=1 #日志文件的大小,单位为MB,当设置为0时,表示不仅行日志轮询, 
默认设置为1,默认即可 
DebugLevel=3 #指定调试级别,默认即可 
PidFile=/tmp/zabbix_server.pid #pid文件的存放位置 
DBHost=localhost #数据库主机名,当设置为localhost时,连接mysql通过sock 
DBName=zabbix #指定存放zabbix数据数据库的名字 
DBUser=zabbix #指定连接数据库的用户名 
DBPassword=123456 #用户连接数据库需要的密码 
DBSocket=/var/lib/mysql/mysql.sock #前文主机设置为localhost,用户 
连接数据库所用的sock位置, 
DBPort=3306 #数据库的端口号,当用sock连接时,无关紧要,当通过网络连接时需设置 
StartPollers=5 #默认即可 
StartIPMIPollers=0 #使用IPMI协议时,用到的参数 
StartTrappers=5 #打开的进程数, 
StartPingers=1 同上 
StartDiscoverers=1 
StartHTTPPollers=1 
JavaGateway=127.0.0.1 #JavaGateway的ip地址或主机名 
JavaGatewayPort=10052 #JavaGateway的端口号 
StartJavaPollers=5 #开启连接javagatey的进程数 
SNMPTrapperFile=/tmp/zabbix_traps.tmp 
StartSNMPTrapper=0 #如果设置为1,snmp trapper进程就会开启 
ListenIP=0.0.0.0 #监听来自trapper的ip地址 
ListenIP=127.0.0.1 
HousekeepingFrequency=1 #zabbix执行Housekeeping的频率,单位为hours 
MaxHousekeeperDelete=500 #每次最多删除历史数据的行 
SenderFrequency=30 #zabbix试图发送未发送的警报的时间,单位为秒 
CacheSize=8M #缓存的大小 
CacheUpdateFrequency=60#执行更新缓存配置的时间,单位为秒数 
StartDBSyncers=4 
HistoryCacheSize=8M 
TrendCacheSize=4M 
HistoryTextCacheSize=16M 
NodeNoEvents=0 
NodeNoHistory=0 
Timeout=3 
TrapperTimeout=300 
UnreachablePeriod=45 
UnavailableDelay=60 
UnreachableDelay=15 
AlertScriptsPath=/usr/local/zabbix/shell #脚本的存放路径 
FpingLocation=/usr/local/sbin/fping #fping指令的绝对路径 
SSHKeyLocation= 
LogSlowQueries=0 
TmpDir=/tmp
Include=/usr/local/etc/zabbix_server.general.conf 
Include=/usr/local/etc/zabbix_server.conf.d/ #子配置文件路径 
StartProxyPollers=1 #在zabbix proxy被动模式下用此参数 
ProxyConfigFrequency=3600#同上 
ProxyDataFrequency=1

3、zabbix_agentd.conf的配置文件

PidFile=/tmp/zabbix_agentd.pid #pid文件的存放位置 
LogFile=/tmp/zabbix_agentd.log #日志文件的位置 
LogFileSize=1 #当日志文件达到多大时进行轮询操作 
DebugLevel=3 #日志信息级别 
SourceIP= #连接的源ip地址,默认为空,即可 
EnableRemoteCommands=0 #是否允许zabbix server端的远程指令, 
0表示不允许, 
1表示允许 
LogRemoteCommands=0 #是否开启日志记录shell命令作为警告 0表示不允许,1表示允许 
Server=127.0.0.1 #zabbix server的ip地址或主机名,可同时列出多个,需要用逗号隔开 
ListenPort=10050 #zabbix agent监听的端口 
ListenIP=0.0.0.0 #zabbix agent监听的ip地址 
StartAgents=3 #zabbix agent开启进程数 
ServerActive=127.0.0.1 #开启主动检查 
Hostname=Zabbix server#在zabbix server前端配置时指定的主机名要相同,最重要的配置 
RefreshActiveChecks=120 #主动检查刷新的时间,单位为秒数 
BufferSend=5 #数据缓冲的时间 
BufferSize=100 #zabbix agent数据缓冲区的大小,当达到该值便会发送所有的数据到zabbix server 
MaxLinesPerSecond=100 #zabbix agent发送给zabbix server最大的数据行 
AllowRoot=0 #是否允许zabbix agent 以root用户运行 
Timeout=3 #设定处理超时的时间 
Include=/usr/local/etc/zabbix_agentd.userparams.conf 
Include=/usr/local/etc/zabbix_agentd.conf.d/ #包含子配置文件的路径 
UnsafeUserParameters=0 #是否允许所有字符参数的传递 
UserParameter= #指定用户自定义参数

4、zabbixproxy的配置文件


Server=192.168 #指定zabbix server的ip地址或主机名 
Hostname=zabbix-proxy-1.35 #定义监控代理的主机名,需和zabbix server前端配置时指定的节点名相同 
LogFile=/tmp/zabbix_proxy.log #指定日志文件的位置 
PidFile=/tmp/zabbix_proxy.pid #pid文件的位置 
DBName=zabbix_proxy #数据库名 
DBUser=zabbix #连接数据库的用户 
DBPassword=123456#连接数据库用户的密码 
ConfigFrequency=60 #zabbix proxy从zabbix server取得配置数据的频率 
DataSenderFrequency=60 #zabbix proxy发送监控到的数据给zabbix server的频率

你可能感兴趣的:(zabbix,linux,zabbix)