Zabbix应用之Server/Agent部署

本文详细介绍Zabbix Server及Agent在CentOS 6.5上的部署流程,包括安装、配置及常见问题排查等关键步骤。

 之前公司给新人搞技术分享,我就准备了一个zabbix的部署分享给他们。

       由于公司在前一段准备更新下监控系统,之前的监控系统是用 Nagios 做的。可是,我之前也没接触过 Nagios,后来就调研了一番。对比了市面上比较火的几款监控系统,最后还是感觉 Zabbix 更出色一点。

       下面是 Zabbix Server 和 Zabbix Agent 的部署流程。


1
2
3
4
5
环境: 
OS Version:CentOS 6.5 x86_64位 
采用最小化安装,系统经过了基本优化 selinux 为关闭状态,iptables 为无限制模式 
主机名:zabbix-master-rj
  I P :10.1.1.1

 

这里需要注意:

如果 iptables 不能关闭的话,可以按如下配置:

1
2
3
4
[root@zabbix-master-rj  /root ] #iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
[root@zabbix-master-rj  /root ] #iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
[root@zabbix-master-rj  /root ] #iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 10051 -j ACCEPT
[root@zabbix-master-rj  /root ] #iptables -A OUTPUT -m state --state NEW -m tcp -p tcp --dport 10050 -j ACCEPT

如果 selinux 不能关闭的话,也可以按如下配置

1
2
[root@zabbix-master-rj  /root ] #chcon -R -t httpd_sys_content_rw_t /usr/share/zabbix/conf
[root@zabbix-master-rj  /root ] #setsebool -P httpd_can_network_connect=true[root@zabbix-master-rj /root]#semanage port -a -t http_port_t -p tcp 10051



一、Zabbix Server部署
1、准备 epel yum 源

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[root@zabbix-master-rj  /root ] # rpm -ivh http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm[root@zabbix-master-rj /root]# yum clean all
[root@zabbix-master-rj  /root ] # yum list|grep zabbix22
zabbix22.x86_64 2.2.1-5.el6 epel
zabbix22-agent.x86_64 2.2.1-5.el6 epel
zabbix22-dbfiles-mysql.noarch 2.2.1-5.el6 epel
zabbix22-dbfiles-pgsql.noarch 2.2.1-5.el6 epel
zabbix22-dbfiles-sqlite3.noarch 2.2.1-5.el6 epel
zabbix22-proxy.noarch 2.2.1-5.el6 epel
zabbix22-proxy-mysql.x86_64 2.2.1-5.el6 epel
zabbix22-proxy-pgsql.x86_64 2.2.1-5.el6 epel
zabbix22-proxy-sqlite3.x86_64 2.2.1-5.el6 epel
zabbix22-server.noarch 2.2.1-5.el6 epel
zabbix22-server-mysql.x86_64 2.2.1-5.el6 epel
zabbix22-server-pgsql.x86_64 2.2.1-5.el6 epel
zabbix22-web.noarch 2.2.1-5.el6 epel
zabbix22-web-mysql.noarch 2.2.1-5.el6 epel
zabbix22-web-pgsql.noarch 2.2.1-5.el6 epel


 

2、安装 zabbix server 2.2.1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
[root@zabbix-master-rj  /root ] # yum install zabbix22.x86_64 zabbix22-agent.x86_64 zabbix22-dbfiles-mysql.noarch zabbix22-server.noarch zabbix22-server-mysql.x86_64 zabbix22-web.noarch zabbix22-web-mysql.noarch -y=======================================================================================================================================Package Arch Version Repository Size=======================================================================================================================================Installing:
zabbix22 x86_64 2.2.1-5.el6 epel 197 k
zabbix22-agent x86_64 2.2.1-5.el6 epel 149 k
zabbix22-dbfiles-mysql noarch 2.2.1-5.el6 epel 1.1 M
zabbix22-server noarch 2.2.1-5.el6 epel 20 k
zabbix22-server-mysql x86_64 2.2.1-5.el6 epel 405 k
zabbix22-web noarch 2.2.1-5.el6 epel 4.2 M
zabbix22-web-mysql noarch 2.2.1-5.el6 epel 9.6 k
Installing  for  dependencies:
OpenIPMI-libs x86_64 2.0.16-14.el6 base 473 k
apr x86_64 1.3.9-5.el6_2 base 123 k
apr-util x86_64 1.3.9-3.el6_0.1 base 87 k
apr-util-ldap x86_64 1.3.9-3.el6_0.1 base 15 k
fping x86_64 2.4b2-10.el6 epel 31 k
httpd x86_64 2.2.15-31.el6.centos updates2 824 k
httpd-tools x86_64 2.2.15-31.el6.centos updates2 73 k
iksemel x86_64 1.4-2.el6 epel 48 k
libXpm x86_64 3.5.10-2.el6 base 51 k
lm_sensors-libs x86_64 3.1.1-17.el6 base 38 k
net-snmp-libs x86_64 1:5.5-49.el6_5.4 updates2 1.5 M
php x86_64 5.3.3-27.el6_5.2 updates2 1.1 M
php-bcmath x86_64 5.3.3-27.el6_5.2 updates2 36 k
php-cli x86_64 5.3.3-27.el6_5.2 updates2 2.2 M
php-common x86_64 5.3.3-27.el6_5.2 updates2 526 k
php-gd x86_64 5.3.3-27.el6_5.2 updates2 108 k
php-ldap x86_64 5.3.3-27.el6_5.2 updates2 40 k
php-mbstring x86_64 5.3.3-27.el6_5.2 updates2 457 k
php-mysql x86_64 5.3.3-27.el6_5.2 updates2 83 k
php-pdo x86_64 5.3.3-27.el6_5.2 updates2 77 k
php-xml x86_64 5.3.3-27.el6_5.2 updates2 105 k
unixODBC x86_64 2.2.14-12.el6_3 base 378 k
 
Transaction Summary=======================================================================================================================================Install 29 Package(s)



3、配置数据库(zabbix支持MySQL/PostgreSQL/Oracle,这里以MySQL数据库为例)

1
2
3
4
5
6
7
8
[root@zabbix-master-rj  /root ] # /etc/init.d/mysqld start
[root@zabbix-master-rj  /root ] # mysql -uroot -p
mysql> CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin;
mysql> GRANT ALL ON zabbix.* TO opszabbix@ '10.1.1.%'  IDENTIFIED BY  'opszabbix' ;
[root@zabbix-master-rj  /root ] # ls /usr/share/zabbix-mysql/*sql
-rw-r--r--. 1 root root 970301 Jan 29 2014  /usr/share/zabbix-mysql/data .sql
-rw-r--r--. 1 root root 1978341 Dec 9 2013  /usr/share/zabbix-mysql/images .sql
-rw-r--r--. 1 root root 106560 Dec 9 2013  /usr/share/zabbix-mysql/schema .sql

 依次倒入这三个 SQL 文件

1
2
3
[root@zabbix-master-rj  /root ] # mysql -uopszabbix -popszabbix zabbix < /usr/share/zabbix-mysql/schema.sql
[root@zabbix-master-rj  /root ] # mysql -uopszabbix -popszabbix zabbix < /usr/share/zabbix-mysql/images.sql
[root@zabbix-master-rj  /root ] # mysql -uopszabbix -popszabbix zabbix < /usr/share/zabbix-mysql/data.sql



4、安装 Zabbix Web GUI

1
2
[root@zabbix-master-rj  /root ] # /etc/init.d/httpd start
[root@zabbix-master-rj  /root ] # /etc/init.d/zabbix-server start

在游览器输入你zabbix22-web.noarch安装的服务器IP,比如http://172.16.100.2/zabbix。打开之后,按下图操作即可!

wKiom1SLBwrCLCDSAALPaomKV-Q633.jpg

wKiom1SLBwqBl4FSAANmGAPorA8985.jpg

遇到该提示,说明php的配置没满足zabbix安装需求,此时你就需要修改php的相关配置项。

此处为修改之后的php相关配置项!

1
2
[root@zabbix-master-rj  /root ] # grep '^post_max_size|^max_execution_time|^max_input_time|^date.timezone' /etc/php.ini
max_execution_time = 300max_input_time = 300post_max_size = 16Mdate.timezone = Asia /Shanghai

wKiom1SLBtPDhKOMAAMr81o0Aew426.jpg

wKioL1SLB22xdHVlAAC1zMYStv4919.jpg



如果出现上图不能连接MySQL数据库的情况,请按如下思路排查问题:

1、首先查看本机的iptables是否限制3306端口

2、其次查看本机的selinux是否关闭

3、最后查看MySQL数据库的授权是否正常

wKioL1SLBunhhh42AAJjDQLGmIY918.jpg

wKiom1SLBk-xyfr2AALu_nVRb7A007.jpg

wKioL1SLBuqi_pe8AAIjYaRrpvM758.jpg



OK,到这一步,Zabbix Server 端安装就结束了。在安装过程中,我们输入的各个配置项在/etc/zabbix/web/zabbix.conf.php文件中都能看到!

1
2
3
4
5
6
7
8
9
10
11
12
[root@zabbix-master-rj  /root ] # cat /etc/zabbix/web/zabbix.conf.php    
<?php //  Zabbix GUI configuration fileglobal $DB;
$DB[ 'TYPE' ] =  'MYSQL' ;                       # zabbix server使用的数据库类型
$DB[ 'SERVER' ] =  '10.1.1.1' ;                  # zabbix server使用的数据库IP地址
$DB[ 'PORT' ] =  '3306' ;                        # zabbix server使用的数据库的端口
$DB[ 'DATABASE' ] =  'zabbix' ;                  # zabbix server使用的数据库的库名
$DB[ 'USER' ] =  'opszabbix' ;                   # zabbix server所使用的数据库用户
$DB[ 'PASSWORD' ] =  '6a7b3efb855df9c' ;         # 经过加密的数据库用户密码// SCHEMA is relevant only for IBM_DB2 database$DB['SCHEMA'] = '';                         # 如果你使用DB2的数据库时,这一项配置才有用
$ZBX_SERVER =  'localhost' ;                   # zabbix server所在的IP地址
$ZBX_SERVER_PORT =  '10051' ;                  # zabbix server 的 端口号
$ZBX_SERVER_NAME =  'zabbix-master-rj' ;       # zabbix server 的主机名
$IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG;?>


 

5、初次登陆

依然是在 http://172.16.100.2/zabbix 这个地址进行登陆。Zabbix Server 安装完毕之后的默认管理员为Admin,密码为zabbix。

wKioL1SLBoXQvhfgAAFxho5RR_8619.jpg

登陆之后的界面如下:

wKioL1SLBmzhOgUsAASupf6JGKo664.jpg

6、配置开机自启

1
[root@agent  /root ] # chkconfig zabbix-server on


 

二、Zabbix Agent部署

1、准备 epel yum 源

1
[root@agent-node-rj  /root ] # rpm -ivh http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm[root@agent-node-rj /root]# yum clean all

2、安装 Zabbix Agent

1
[root@agent-node-rj  /root ] # yum install zabbix22.x86_64 zabbix22-agent.x86_64

3、配置 Zabbix Agent

1
2
3
4
[root@agent-node-rj  /root ] # # grep '^Server|^ServerActive|^Hostname' /etc/zabbix_agentd.conf
Server=10.1.1.120                  # 被动模式,允许哪台服务器连接Agent
ServerActive=10.1.1.120            # 主动模式,向哪台服务器传送数据
Hostname=agent-node-rj             # agent端的主机名

4、启动服务以及配置开机自启

1
2
[root@agent-node-rj  /root ] # chkconfig zabbix-agentd on
[root@agent-node-rj  /root ] # /etc/init.d/zabbix-agentd start


 

OK!

以上就是Zabbix Server 和 Zabbix Agent端的部署了!


<think>好,用户现在想在Ubuntu 24上部署Zabbix集群,包括serveragent的配置。首先我需要回忆一下之前提供的引用内容,看看有没有相关的步骤可以参考。引用[1]提到在Ubuntu上安装zabbix-agent,修改配置文件,重启服务,然后在web界面添加主机。引用[2]则是一个自动化部署脚本,支持同Linux发行版,自动识别系统并安装对应的Zabbix源。引用[3]是关于在Kubernetes集群中部署Zabbix的,可能对集群配置有帮助,但用户现在是要在Ubuntu 24直接部署集群,可能需要调整步骤。 首先,确定Ubuntu 24是否被Zabbix官方支持。Zabbix 7.0 LTS可能已经发布,但需要检查仓库是否支持Ubuntu 24。如果官方仓库还没有,可能需要手动添加或者使用其他方法。过用户之前的问题中提到Ubuntu 22.04部署zabbix7.0,可能现在Ubuntu 24的仓库已经更新了。 接下来,部署Zabbix Server需要安装数据库(比如MySQL或PostgreSQL)、前端(Apache/Nginx + PHP)、Zabbix Server本身。然后配置数据库,导入初始数据,设置前端,最后启动服务。对于集群,可能需要考虑高可用配置,比如数据库的主从复制,Zabbix Server的主动-被动集群,或者使用Kubernetes部署,但用户可能只是需要基本的多节点部署Agent部署相对简单,安装zabbix-agent2,配置Server的IP,然后启动服务。引用[1]中的步骤适用于Agent安装,但需要根据Ubuntu 24进行调整,比如包管理命令是否变化,服务管理是否还是systemctl。 需要注意Zabbix版本兼容性,确保ServerAgent版本匹配。另外,防火墙设置需要开放10050(Agent)、10051(Server)端口,以及数据库端口(如3306)。 可能的问题点:Ubuntu 24刚发布,Zabbix的官方仓库可能还未更新,导致安装失败。这时候可能需要手动下载deb包或者使用其他方式安装。此外,PHP版本是否符合Zabbix的要求,需要确认。 步骤大致如下: 1. 安装Zabbix Server:添加仓库,安装server、前端、数据库。 2. 配置数据库,创建用户数据库,导入schema。 3. 配置Zabbix Server连接数据库。 4. 配置前端,设置PHP参数。 5. 启动服务,通过Web界面完成安装。 6. 安装Agent,配置指向Server的IP,启动服务。 7. 在Web界面添加主机,关联Agent。 对于集群部署,可能需要多个Server节点,配置数据库集群,前端负载均衡等,但用户可能只需要基础的Server多个Agent,所以需要明确用户的需求。如果用户确实需要Server集群,可能需要使用Zabbix的高可用方案,比如使用数据库的主从复制,或者使用Proxy节点。 需要参考引用中的步骤,特别是引用[3]中提到的Kubernetes部署,但用户可能需要Kubernetes,而是直接在Ubuntu系统上安装。所以应该分步骤详细说明ServerAgent的安装,确保配置正确,并处理可能遇到的问题,比如仓库可用,服务启动失败等。 另外,用户可能希望自动化部署,可以提及使用类似引用[2]中的脚本来自动化安装,但需要根据Ubuntu 24进行调整。最后生成相关问题,帮助用户深入理解部署过程后续配置。</think>### 在 Ubuntu 24 上部署 Zabbix 集群的步骤 #### 一、部署 Zabbix Server 1. **添加 Zabbix 官方仓库** 由于 Ubuntu 24 可能尚未被 Zabbix 官方仓库直接支持,需手动添加适合的仓库(例如 Zabbix 7.0 LTS): ```bash wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_7.0-1+ubuntu24.04_all.deb sudo dpkg -i zabbix-release_7.0-1+ubuntu24.04_all.deb sudo apt update ``` 2. **安装 Zabbix Server 与数据库** 以 MySQL 为例: ```bash sudo apt install zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-sql-scripts mysql-server ``` 3. **配置数据库** ```bash # 创建数据库与用户 mysql -uroot -p CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin; CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'your_password'; GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost'; FLUSH PRIVILEGES; EXIT; # 导入初始数据 sudo zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql -uzabbix -p zabbix ``` 4. **修改 Zabbix Server 配置文件** ```bash sudo vim /etc/zabbix/zabbix_server.conf ``` 修改以下参数: ```conf DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=your_password ``` 5. **配置 Nginx 与 PHP** - 检查 Nginx 配置:`/etc/zabbix/nginx.conf` 是否包含正确的 `server_name` `root` 路径。 - 调整 PHP 参数(`/etc/zabbix/php-fpm.conf`): ```conf php_value[max_execution_time] = 300 php_value[memory_limit] = 256M ``` 6. **启动服务** ```bash sudo systemctl restart zabbix-server zabbix-agent nginx php8.3-fpm sudo systemctl enable zabbix-server zabbix-agent nginx ``` --- #### 二、部署 Zabbix Agent 1. **在目标主机安装 Agent** ```bash sudo apt install zabbix-agent2 ``` 2. **修改 Agent 配置文件** ```bash sudo vim /etc/zabbix/zabbix_agent2.conf ``` 修改以下参数指向 Zabbix Server IP: ```conf Server=ZABBIX_SERVER_IP ServerActive=ZABBIX_SERVER_IP ``` 3. **重启 Agent 服务** ```bash sudo systemctl restart zabbix-agent2 sudo systemctl enable zabbix-agent2 ``` --- #### 三、Web 界面配置 1. 访问 `http://SERVER_IP/zabbix`,按向导完成初始化(数据库配置与管理员账户设置)。 2. 在 **Configuration → Hosts** 中手动添加 Agent 主机,或通过自动发现功能批量添加[^1]。 --- #### 四、集群扩展(可选) - **数据库高可用**:配置 MySQL 主从复制或使用 Galera 集群。 - **Zabbix Server 集群**:部署多个 Zabbix Server 节点,共享同一数据库,并通过负载均衡对外提供服务[^3]。 - **Zabbix Proxy**:在分布式环境中使用 Proxy 节点分担 Server 压力[^2]。 --- ### 常见问题处理 - **依赖项错误**:若 Ubuntu 24 软件包未就绪,可尝试从源码编译或调整仓库版本号。 - **端口未开放**:确保防火墙允许 `10050`(Agent)、`10051`(Server)、`80/443`(Web)端口。 - **服务启动失败**:检查日志 `/var/log/zabbix/zabbix_server.log`。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值