在Ubuntu16.04上部署Zabbix-proxy3.4的流水账

WHY

这里的为什么不是说为什么要装 zabbix-proxy 的问题,而是说为什么要写这篇文章。
为什么要写这篇文章呢?答案很简单,官方文档太碎了,东一榔头西一棒子,一个简单实际直接的问题:怎样在 ubuntu 上安装部署 zabbix-proxy,翻官方文档得翻四五篇文档,而且这四五篇文档中还有很多干扰信息,需要仔细分辨,否则会对部署造成负面影响。
所以,就有了这篇“流水账”。

HOWTO

INSTALLATION

1
2
3
4
5
6
7
8
9
# 安装 zabbix 官方的 ubuntu 16.04(版本号 xenial) 的软件仓
wget \
https://repo.zabbix.com/zabbix/3.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.4-1+xenial_all.deb;
dpkg -i zabbix-release_3.4-1+xenial_all.deb;
apt-get update;
# 安装 zabbix-proxy 所需之 mysql 数据库服务器软件
# 注意这一步会让设置 mysql 服务器的 root 密码(不是系统密码!)
# 这个要记住,在执行下一步操作的时候要输入的
apt-get install mysql-server-5.7;
1
2
3
# 用 root 身份连入 mysql 数据库系统并进入交互式模式
# 注意:这里需要输入上一步设置的 root 的密码
mysql -uroot -p
1
2
3
4
5
6
7
8
# 创建 zabbix-proxy 系统所用数据库:zabbix
create database zabbix character set utf8 collate utf8_bin;
# 创建 zabbix-proxy 应用所用数据库账号:zabbix 并其密码以及响应权限
grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
# 使权限及时生效
flush privileges;
# 退出 mysql 交互式环境
quit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 安装一些 zabbix-proxy 系统可能会需要
# 但又未在 zabbix-proxy-mysql 软件包里
# 明确指定依赖的软件包,
# 这里对于有用 snmp 监控网络设备的场景来讲非常重要
# 因为缺省是不会安装 snmp-mibs-downloader 之类
# 必须的软件包的。
# 注意,同时也安装上了 zabbix-agent,这个是无所谓的,
# 毕竟,所有的服务器都要装 zabbix-agent 不是吗
apt-get install \
libsnmp-base \
snmp-mibs-downloader \
snmp \
libsnmp30 \
zabbix-proxy-mysql \
zabbix-agent;
# 创建 zabbix-proxy 需要的数据库结构及一些初始数据
zcat \
/usr/share/doc/zabbix-proxy-mysql/schema.sql.gz \
| mysql -uzabbix -p zabbix;

CONFIGURATION

1
2
# 修改 zabbix proxy 的设置文件
vim /etc/zabbix/zabbix_proxy.conf
1
2
3
4
# 修改 zabbix agent 的配置文件
# 本来这个不是本文讨论的重点
# 只是部署 zabbix proxy 时都会部署 zabbix agent
vim /etc/zabbix/zabbix_agentd.conf
1
2
3
4
# 最后,将几个服务设为自启动
systemctl enable mysql.service;
systemctl enable zabbix-proxy.service;
systemctl enable zabbix-agent.service;