Zabbix安装部署手册
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服务端的常用参数如下:(参数取值根据服务器配置)
参数 | 必填 | 范围 | 默认值 | 描述 |
---|---|---|---|---|
CacheSize | no | 128K-8G | 8M | 缓存大小, 单位字节. 用于存储主机、监控项、触发器数据的共享内存大小.服务器分配有4G设置为:CacheSize=256M |
CacheUpdateFrequency | no | 1-3600 | 60 | Zabbix 缓存更新频率, 单位秒.60秒感觉太快了设置为:CacheUpdateFrequency=180 |
DebugLevel | no | 0-5 | 3 | 指定调试等级: 0 - Zabxxi进程起停的基本信息 1 - 重要信息 2 - 错误信息 3 - 警告信息 4 - 调试 (产生大量信息) 5 - 扩展调试 (产生更多信息) |
HistoryCacheSize | no | 128K-2G | 16M | 历史缓存数据大小, 单位字节. 存储历史数据.设置为:HistoryCacheSize=64M |
HistoryIndexCacheSize | no | 128K-2G | 4M | 历史索引缓存大小, 单位字节. 用于索引历史缓存中历史数据的共享内存大小.缓存一个item大概需要索引的大小为100字节.item代表一个监控项,按照100000个监控项来算:100000*100/1024/1024=9.6M设置为:HistoryIndexCacheSize=10M |
HousekeepingFrequency | no | 0-24 | 1 | Zabbix 执行 housekeeping 的频率 (单位小时). 从数据库中删除过期的信息. 注意: 为了防止 housekeeper 过载 (例如, 当历史和趋势周期大大减小时), 对于每一个item,不会在一个housek周期内删除超过4倍HousekeepingFrequency 的过时信息. 因此, 如果 HousekeepingFrequency 是 1, 一个周期内不会删除超过4小时的过时信息 (starting from the oldest entry) . |
StartPollersUnreachable | no | 0-1000 | 1 | 不可达主机 (包括IPMI 和 Java)的轮询器实例数量。 设置为:StartPollersUnreachable=20 占总数20%足够 |
StartPollers | no | 0-1000 | 5 | 轮询器实例数量。根据具体情况设置大小设置为:StartPollers=30 |
StartDiscoverers | no | 0-250 | 1 | 自动发现子进程实例个数。设置为:StartDiscoverers=5 |
StartTrappers | no | 0-1000 | 5 | trappers进程实例数量。 Trappers接受来自Zabbix发送者、主动agents和主动proxies的传入连接。 至少要运行一个trapper进程来显示前端的服务器可用性和视图队列。设置为:StartTrappers=15 |
StartVMwareCollectors | no | 0-250 | 0 | vmware 采集器的子进程实例个数,如果有虚拟机的话,记得开启。 |
Timeout | no | 1-30 | 3 | agent, SNMP 设备或外部检查的超时时长(单位秒)。设置为:Timeout=6 |
TrendCacheSize | no | 128K-2G | 4M | 趋势缓存的大小,单位字节。 用于存储趋势数据的共享内存大小。设置为:128M |
ValueCacheSize | no | 0,128K-64G | 8M | 历史数据缓存大小, 单位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可以使用高权限命令
版权声明:
本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自
Stars!
喜欢就支持一下吧