zabbix-4.4

安装部署


#配置zabbix官方仓库
[root@zabbix ~]# rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm

#把官方源改为阿里云镜像源。 
#由于官方源是国外的镜像仓库,速度非常慢,改用阿里云的镜像仓库会非常快。只需在官方源的repo文件中修改URL即可。
[root@zabbix ~]# sed -i 's@http://repo.zabbix.com@https://mirrors.aliyun.com/zabbix@g' /etc/yum.repos.d/zabbix.repo

#安装
[root@zabbix ~]# yum install -y zabbix-server-mysql zabbix-web-mysql zabbix-agent zabbix-nginx-conf

#安装配置数据库。 数据库使用mysql和mariadb都可以,这里以二进制安装mysql-5.6.42为例
[root@zabbix ~]# wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.6.42-linux-glibc2.12-x86_64.tar.gz
[root@zabbix ~]# tar xf mysql-5.6.42-linux-glibc2.12-x86_64.tar.gz 
[root@zabbix ~]# mkdir /service
[root@zabbix ~]# mv mysql-5.6.42-linux-glibc2.12-x86_64 /service/mysql-5.6.42
[root@zabbix ~]# ln -s /service/mysql-5.6.42 /service/mysql
[root@zabbix ~]# useradd mysql -s /sbin/nologin -M
[root@zabbix ~]# cd /service/mysql/support-files/
[root@zabbix /service/mysql/support-files]# cp my-default.cnf /etc/my.cnf
cp: overwrite ‘/etc/my.cnf’? y
[root@zabbix /service/mysql/support-files]# cp mysql.server /etc/init.d/mysqld

[root@zabbix /service/mysql/support-files]# cd ../scripts/
[root@zabbix /service/mysql/scripts]# ./mysql_install_db --user=mysql --basedir=/service/mysql --datadir=/service/mysql/data

[root@zabbix ~]# cat /usr/lib/systemd/system/mysqld.service
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=https://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/service/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf
LimitNOFILE = 5000

[root@zabbix ~]# systemctl daemon-reload

[root@zabbix ~]# vim /etc/init.d/mysqld
basedir=/service/mysql
datadir=/service/mysql/data
[root@zabbix ~]# systemctl start mysqld

[root@zabbix ~]# vim /etc/profile.d/mysql.sh 
export PATH=/service/mysql/bin:$PATH
[root@zabbix ~]# source /etc/profile

#创建密码
[root@zabbix ~]# mysqladmin -uroot password

#创建zabbix库
mysql> create database zabbix character set utf8 collate utf8_bin;

#导入SQL文件
[root@zabbix ~]# zcat /usr/share/doc/zabbix-server-mysql-4.4.10/create.sql.gz | mysql -uroot -p123 zabbix

#检查导入结果
mysql> show databases;
mysql> use zabbix;
mysql> show tables;

#创建用户
mysql> grant all on zabbix.* to zabbix@'localhost' identified by 'zabbix';

#编辑zabbix_server配置
[root@zzc ~]# vim /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix

#修改时区
[root@zabbix ~]# vim /etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Shanghai

#启动
[root@zabbix ~]# systemctl start zabbix-server httpd

#报错:
启动zabbix-server,使用netstat -lntp没有zabbix-server:10051端口,
systemctl status zabbix-server状态正常,
tail -f /var/log/zabbix/zabbix_server.log查看日志报错
  9665:20210424:104103.455 database is down: reconnecting in 10 seconds
  9665:20210424:104113.457 [Z3001] connection to database 'zabbix' failed: [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

#解决:
find查找mysql.sock文件位置,做软链接
[root@zabbix ~]# ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock


#监控页,字体乱码
在windows系统中,找到字体存放目录C:\Windows\Fonts,找一个自己喜欢的字体,我选择的是楷体
[root@zabbix ~]# cd /usr/share/zabbix
[root@zabbix /usr/share/zabbix]# ls
#查看有没有fonts目录,没有则创建
[root@zabbix /usr/share/zabbix]# mkdir fonts
#上传字体
[root@zabbix /usr/share/zabbix/fonts]# ls 
SIMKAI.TTF

#切换目录
[root@zabbix /usr/share/zabbix/fonts]# cd /etc/alternatives/
[root@zabbix /etc/alternatives]# ll
lrwxrwxrwx  1 root root 38 Apr 24 09:52 zabbix-web-font -> /usr/share/fonts/dejavu/DejaVuSans.ttf

#删除原有的,做软链接
[root@zabbix /etc/alternatives]# rm -rf zabbix-web-font
[root@zabbix /etc/alternatives]# ln -s /usr/share/zabbix/fonts/SIMKAI.TTF /etc/alternatives/zabbix-web-font

[root@zabbix /etc/alternatives]# systemctl restart zabbix-server

使用zabbix监控一台主机

主机IP服务
zabbix10.0.0.71zabbix-server
db0110.0.0.51zabbix-agent


#配置源并安装
[root@db01 ~]# rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm
[root@db01 ~]# sed -i 's@http://repo.zabbix.com@https://mirrors.aliyun.com/zabbix@g' /etc/yum.repos.d/zabbix.repo
[root@db01 ~]# yum install -y zabbix-agent



[root@db01 ~]# vim /etc/zabbix/zabbix_agentd.conf
Server=127.0.0.1,10.0.0.71
ServerActive=127.0.0.1,10.0.0.71

[root@db01 ~]# systemctl start zabbix-agent
[root@db01 ~]# netstat -lntp
tcp6       0      0 :::10050                :::*                    LISTEN      8027/zabbix_agentd


<think>我们正在处理一个离线安装Zabbix及其组件的需求。根据引用内容,用户可能希望在没有网络连接的环境中安装Zabbix server(这里应该是zabbix-server-mysql,但引用[4]中提到了zabbix-server-mysql)和zabbix-agent。 从引用[3]和引用[4]中,我们可以得到一些离线安装的线索: 引用[3]提供了离线安装所需的rpm包列表,包括zabbix-agent, zabbix-server-mysql等。 引用[4]则描述了一个无网安装的步骤:先在一台有网络的主机上下载rpm包及其依赖,然后拷贝到无网络的主机上进行安装。 因此,我们可以将离线安装分为两个主要步骤: 1. 在有网络的环境中下载所需的rpm包及其依赖。 2. 将下载的rpm包复制到离线主机,并使用rpm命令安装。 具体步骤: 步骤1:在有网络的主机上下载rpm包和依赖 a. 添加Zabbix官方yum源(或者国内源,如阿里云,但这里我们使用官方源以确保版本一致,也可以使用国内源加快下载速度) b. 使用yum的--downloadonly选项下载所需的rpm包及其依赖。 步骤2:在离线主机上安装 a. 将下载的rpm包复制到离线主机。 b. 使用rpm命令安装所有包(可能需要忽略依赖,但最好先解决依赖,如果下载了所有依赖则不需要忽略)。 但是,引用[4]中使用了--force --nodeps,这是为了避免依赖问题,但这样安装可能会带来问题。因此,我们更推荐先下载所有依赖,然后一起安装。 详细步骤: 一、在有网络的主机上下载(以CentOS 7为例,安装Zabbix 4.4版本,但用户可能需要其他版本,这里以4.4为例,因为引用[4]中使用了4.4) 1. 添加Zabbix官方yum源(这里使用4.4版本,如果需要其他版本,请替换版本号): ``` rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm ``` 2. 清除缓存并更新(可选): ``` yum clean all ``` 3. 创建下载目录并下载所需包(包括依赖): ``` mkdir /tmp/zabbix_offline yum install --downloadonly --downloaddir=/tmp/zabbix_offline zabbix-server-mysql zabbix-agent ``` 注意:如果还需要web界面,则加上zabbix-web-mysql,这里根据用户需求,用户只要求了zabbix-server-mysql和zabbix-agent。 4. 下载的包应该包括所有依赖。但是,Zabbix server需要MySQL/MariaDB,所以还需要下载数据库服务器(如果离线主机还没有安装的话)。但用户可能已经安装了数据库,所以这里我们只关注Zabbix组件。 5. 将/tmp/zabbix_offline目录下的所有rpm包复制到离线主机(使用U盘、scp到中转机器等)。 二、在离线主机上安装 1. 将复制的rpm包放到离线主机的某个目录,例如/opt/zabbix。 2. 进入该目录,安装所有rpm包: ``` cd /opt/zabbix rpm -ivh *.rpm ``` 如果安装过程中提示缺少依赖,则说明有依赖没有下载全。这时,我们需要在有网络的主机上下载所有依赖。为了确保下载所有依赖,我们可以使用yum-utils中的repotrack工具(更全面)或者使用yumdownloader(需要安装yum-utils)来下载所有依赖。 更推荐使用repotrack(它可以下载所有依赖,包括递归依赖): ``` # 安装yum-utils yum install yum-utils -y # 使用repotrack下载zabbix-server-mysql和zabbix-agent及其所有依赖 repotrack --download_path=/tmp/zabbix_offline zabbix-server-mysql zabbix-agent ``` 然后再次将整个目录复制到离线主机,并使用rpm -ivh *.rpm安装。 如果离线主机上已经安装了一些依赖包,则可能不会安装重复的包,所以直接安装即可。 三、配置和启动 安装完成后,需要配置数据库和agent,然后启动服务。 1. 配置数据库(需要先安装并启动MySQL/MariaDB): 创建数据库和用户,导入初始数据(参考官方文档)。 2. 配置zabbix_server.conf(/etc/zabbix/zabbix_server.conf)中的数据库连接信息。 3. 启动服务: ``` systemctl start zabbix-server zabbix-agent systemctl enable zabbix-server zabbix-agent ``` 四、针对不同版本和系统的调整 用户可能需要不同版本Zabbix,只需在添加yum源时替换版本号(如5.0、6.0等)和系统版本(如el7、el8等)。 例如,下载Zabbix 6.0 for CentOS 7的包,则添加源: rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-release-6.0-1.el7.noarch.rpm 五、注意事项 1. 离线安装需要确保系统版本、架构与下载包的主机一致(如都是CentOS 7 x86_64)。 2. 如果离线主机没有安装数据库,则需要同样离线安装数据库(如MariaDB)并配置。 根据以上步骤,用户应该可以在离线环境中安装Zabbix server和agent。 但是,由于引用中提到了多种安装方式(如源码安装,引用[2]),如果用户更倾向于源码安装,也可以提供源码安装的方法。但用户问题中明确提到了yum源,且要求离线安装rpm包,所以我们提供rpm离线安装方法。 下面给出完整步骤:</think>### 离线安装 Zabbix 及组件(zabbix-server-mysql 和 zabbix-agent)指南 #### 一、准备工作:在有网络环境中下载 RPM 包 1. **添加 Zabbix 官方源**(在联网主机操作): ```bash # 下载 Zabbix 官方源 RPM(示例为 4.4 版本) wget https://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm rpm -Uvh zabbix-release-4.4-1.el7.noarch.rpm ``` 2. **下载核心组件及依赖**: ```bash mkdir /opt/zabbix-offline yum install --downloadonly --downloaddir=/opt/zabbix-offline \ zabbix-server-mysql \ zabbix-agent \ zabbix-web-mysql \ zabbix-apache-conf ``` 3. **关键 RPM 包列表**: - `zabbix-server-mysql-*.rpm`:Zabbix 服务端 - `zabbix-agent-*.rpm`:监控代理 - `zabbix-web-mysql-*.rpm`:Web 界面 - `zabbix-apache-conf-*.rpm`:Apache 配置 - 依赖包:`fping`, `iksemel`, `libssh2` 等(自动下载) #### 二、离线主机安装步骤 1. **传输 RPM 包到离线主机**: ```bash scp -r /opt/zabbix-offline user@offline-host:/opt/ ``` 2. **强制安装所有 RPM 包**: ```bash cd /opt/zabbix-offline rpm -ivh *.rpm --force --nodeps # 忽略依赖冲突[^4] ``` 3. **配置数据库**(需提前安装 MySQL): ```bash mysql -uroot -p > CREATE DATABASE zabbix CHARACTER SET utf8; > GRANT ALL ON zabbix.* TO 'zabbix'@'localhost' IDENTIFIED BY 'your_password'; > FLUSH PRIVILEGES; ``` 导入初始数据: ```bash zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix ``` #### 三、配置文件修改 1. **Zabbix Server 配置** (`/etc/zabbix/zabbix_server.conf`): ```conf DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=your_password # 与数据库密码一致 ``` 2. **Zabbix Agent 配置** (`/etc/zabbix/zabbix_agentd.conf`): ```conf Server=127.0.0.1 # 允许本机连接[^1] ServerActive=127.0.0.1 # 主动检测地址 Hostname=offline-host # 唯一主机标识[^4] ``` #### 四、启动服务 ```bash systemctl start zabbix-server zabbix-agent httpd systemctl enable zabbix-server zabbix-agent httpd ``` #### 五、Web 界面初始化 1. 访问 `http://offline-host/zabbix` 2. 按提示配置: - 数据库类型:MySQL - 数据库密码:步骤三设置的密码 3. 完成安装后生成配置文件: ```text /etc/zabbix/web/zabbix.conf.php # 配置文件路径[^1] ``` 4. 登录默认账号: - 用户名:`Admin` - 密码:`zabbix` #### 六、验证安装 ```bash # 检查服务状态 systemctl status zabbix-server # 测试 Agent 连接 zabbix_get -s 127.0.0.1 -k agent.ping # 应返回 1 ``` > **关键提示**: > 1. 版本匹配:下载的 RPM 需与操作系统版本严格一致(如 CentOS 7 用 el7 包)[^3] > 2. 依赖处理:`--nodeps` 可能引发兼容性问题,建议提前准备相同 OS 环境 > 3. 离线数据库:MySQL 需预先离线安装(可参考 Percona 离线安装方案) ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值