Zabbix5.0安装部署手册

环境准备

两台centos8服务器 4CPU8G

firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=10050/tcp --permanent
firewall-cmd --zone=public --add-port=10051/tcp --permanent


sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
setenforce 0
#安装中文语音包
yum install vim wget bash-com* -y
yum install langpacks-zh_CN.noarch glibc-common net-snmp-utils

安装mysql8

yum list mysql-*
yum install mysql-server mysql

#mysql password nf3Q#y5T&221,创建zabbix专用账号
# mysql -uroot -p
password
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> create user zabbix@10.193.3.201 identified by 'zabbix#Yst221';
mysql> grant all privileges on zabbix.* to zabbix@10.193.3.201 identified by 'zabbix#Yst221' ;
mysql> flush privileges;
mysql> quit;

zabbix前端

# Install Zabbix repository
rpm -Uvh https://repo.zabbix.com/zabbix/5.4/rhel/8/x86_64/zabbix-release-5.4-1.el8.noarch.rpm
dnf clean all

# 安装Zabbix server,Web前端,agent
dnf install zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-sql-scripts zabbix-agent

#导入初始架构和数据,系统将提示您输入新创建的密码
zcat /usr/share/doc/zabbix-sql-scripts/mysql/create.sql.gz | mysql -uzabbix -p zabbix

#为Zabbix server配置数据库
vim  /etc/zabbix/zabbix_server.conf
DBPassword=password


#为Zabbix前端配置PHP
vim /etc/nginx/conf.d/zabbix.conf

listen 80;
server_name example.com;

#启动Zabbix server和agent进程
systemctl restart zabbix-server nginx php-fpm zabbix-agent
systemctl enable zabbix-server nginx php-fpm zabbix-agent


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

安装zabbix agent

rpm -ivh https://repo.zabbix.com/zabbix/5.4/rhel/7/x86_64/zabbix-release-5.4-1.el7.noarch.rpm
yum install zabbix-agent -y

zabbix参数调整

Zabbix服务端的常用参数如下:(参数取值根据服务器配置)

参数必填范围默认值描述
CacheSizeno128K-8G8M缓存大小, 单位字节. 用于存储主机、监控项、触发器数据的共享内存大小.服务器分配有4G设置为:CacheSize=256M
CacheUpdateFrequencyno1-360060Zabbix 缓存更新频率, 单位秒.60秒感觉太快了设置为:CacheUpdateFrequency=180
DebugLevelno0-53指定调试等级: 0 - Zabxxi进程起停的基本信息 1 - 重要信息 2 - 错误信息 3 - 警告信息 4 - 调试 (产生大量信息) 5 - 扩展调试 (产生更多信息)
HistoryCacheSizeno128K-2G16M历史缓存数据大小, 单位字节. 存储历史数据.设置为:HistoryCacheSize=64M
HistoryIndexCacheSizeno128K-2G4M历史索引缓存大小, 单位字节. 用于索引历史缓存中历史数据的共享内存大小.缓存一个item大概需要索引的大小为100字节.item代表一个监控项,按照100000个监控项来算:100000*100/1024/1024=9.6M设置为:HistoryIndexCacheSize=10M
HousekeepingFrequencyno0-241Zabbix 执行 housekeeping 的频率 (单位小时). 从数据库中删除过期的信息. 注意: 为了防止 housekeeper 过载 (例如, 当历史和趋势周期大大减小时), 对于每一个item,不会在一个housek周期内删除超过4倍HousekeepingFrequency 的过时信息. 因此, 如果 HousekeepingFrequency 是 1, 一个周期内不会删除超过4小时的过时信息 (starting from the oldest entry) .
StartPollersUnreachableno0-10001不可达主机 (包括IPMI 和 Java)的轮询器实例数量。 设置为:StartPollersUnreachable=20 占总数20%足够
StartPollersno0-10005轮询器实例数量。根据具体情况设置大小设置为:StartPollers=30
StartDiscoverersno0-2501自动发现子进程实例个数。设置为:StartDiscoverers=5
StartTrappersno0-10005trappers进程实例数量。 Trappers接受来自Zabbix发送者、主动agents和主动proxies的传入连接。 至少要运行一个trapper进程来显示前端的服务器可用性和视图队列。设置为:StartTrappers=15
StartVMwareCollectorsno0-2500vmware 采集器的子进程实例个数,如果有虚拟机的话,记得开启。
Timeoutno1-303agent, SNMP 设备或外部检查的超时时长(单位秒)。设置为:Timeout=6
TrendCacheSizeno128K-2G4M趋势缓存的大小,单位字节。 用于存储趋势数据的共享内存大小。设置为:128M
ValueCacheSizeno0,128K-64G8M历史数据缓存大小, 单位bytes. 缓存item历史数据请求的共享内存大小. 0即禁止缓存 (不建议). 当缓存大小超过共享内存时,每5分钟会向服务器日志写入一条警告信息. 设置为:ValueCacheSize=128M

Docker化部署Zabbix 5.4

1、安装docker

#设定docker源
yum-config-manager     --add-repo     https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#更新 
yum update -y
#安装docker 
yum install docker-ce docker-ce-cli containerd.io
#启动docker 
systemctl start docker

2、下载docker镜像

#下载mysql8.0
docker pull mysql:8.0
#下载zabbix-server-mysql
docker pull zabbix/zabbix-server-mysql:alpine-5.4-latest
#下载zabbix-web-nginx-mysql
docker pull zabbix/zabbix-web-nginx-mysql:alpine-5.4-latest

3、创建docker内部网络

#创建一个docker内部网络,名称为zabbix_net
docker network create -d bridge zabbix_net
docker network ls

4、运行mysql镜像,创建mysql容器

docker run -dit -p 63306:3306 --name zabbix-mysql --network zabbix_net --restart always -v /etc/localtime:/etc/localtime -e MYSQL_DATABASE="zabbix" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="zabbix123" -e MYSQL_ROOT_PASSWORD="root123" mysql

#  MYSQL_DATABASE="zabbix"                 在msql中创建的数据库的名
#  MYSQL_USER="zabbix"              创建msql的登录账户名
#  MYSQL_PASSWORD="zabbix123"      设置创建msql的登录账户的密码
#  MYSQL_ROOT_PASSWORD="root123"   设置msql数据库root 的密码
#  其中-p 是将容器中的3306端口映射到服务器的63306端口,
#  --network zabbix_net是将容器加入到zabbix_net网络中,
#  -v /etc/localtime:/etc/localtime是同步服务器和容器内部的时区,
#  --restart always设置自启动,
#  -e MYSQL_DATABASE="zabbix",创建环境变量。
#  --name zabbix-mysql,给容器命名。
#注:可能需要手动导入数据库脚本

5、运行zabbix-server-mysql镜像,创建zabbix-server-mysql容器

#创建数据卷zabbix-server-vol
docker volume create zabbix-server-vol
#启动zabbix-server-mysql容器
docker run -dit -p 10051:10051 --mount source=zabbix-server-vol,target=/etc/zabbix -v /etc/localtime:/etc/localtime -v /usr/lib/zabbix/alertscripts:/usr/lib/zabbix/alertscripts --name=zabbix-server-mysql --restart=always --network zabbix_net -e DB_SERVER_HOST="zabbix-mysql" -e MYSQL_DATABASE="zabbix" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="zabbix123" -e MYSQL_ROOT_PASSWORD="root123" zabbix/zabbix-server-mysql:alpine-5.4-latest

6、运行zabbix-web-nginx-mysql镜像,创建zabbix-web-nginx-mysql容

docker run -dit -p 8080:8080 -v /etc/localtime:/etc/localtime --name zabbix-web-nginx-mysql --restart=always --network zabbix_net -e DB_SERVER_HOST="zabbix-mysql" -e MYSQL_DATABASE="zabbix" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="zabbix123" -e MYSQL_ROOT_PASSWORD="root123" -e ZBX_SERVER_HOST="zabbix-server-mysql" zabbix/zabbix-web-nginx-mysql:alpine-5.4-latest

7、其他- 可以在docker上安装centos8,然后再在centos8上部署zabbix

docker run -dit -p 10051:10051 -p 8080:80 -p 3000:3000 --mount source=zabbix-server-vol,target=/etc/zabbix -v /etc/localtime:/etc/localtime --privileged --name=centos-zabbix-server --restart=always --network zabbix_net centos /usr/sbin/init

#--privileged  使用此参数,使centos8可以使用高权限命令
文章作者: Stars
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Stars
network monitor
喜欢就支持一下吧