6. Zabbix应用
简介
除了手动安装或者重新使用现有的服务器来运行Zabbix外,用户可通过download下载Zabbix应用或者包含Zabbix应用的光盘镜像。Zabbix server (MySQL), Zabbix server (PostgreSQL), Zabbix proxy (MySQL) 以及Zabbix proxy (SQLite 3) 可使用Zabbix应用光盘,进行即时部署。
Zabbix应用虚拟机已备好MySQL数据库以支持Zabbix server,且是通过使用Zabbix应用安装光盘构建而成。
|<| |<| |-|
|<| |<| |-|
Zabbix应用和安装CD版本均基于下列Ubuntu版本:
Zabbix应用版本 Ubu | tu版本 |
---|---|
3.4.0 | 14.04.3 |
Zabbix应用以下列格式提供:
- vmdk (VMware/Virtualbox)
- OVF (Open Virtualisation Format)
- KVM
- HDD/闪存镜像, USE闪存盘
- Live CD/DVD
- Xen guest
- Microsoft VHD (Azure)
- Microsoft VHD (Hyper-V)
如需运行,启动应用,使用浏览器访问其通过访问动态主机配置协议获得的IP: http://<host\_ip>/zabbix
Zabbix server在这个环境下已经配置完成,而且运行在MySQL数据库上。同时也提供了可用的前端。
这个应用使用了名为Preseed文件的标准Ubuntu/Debian特性进行构建。
1 Ubuntu配置的更改
这里更改了一些Ubuntu的基础配置。
1.1 仓库
在/etc/apt/sources.list中添加了官方Zabbix 仓库 :
## Zabbix repository
deb http://repo.zabbix.com/zabbix/3.4/ubuntu trusty main
deb-src http://repo.zabbix.com/zabbix/3.4/ubuntu trusty main
1.2 防火墙
此应用使用了预定义规则的iptables防火墙:
- 打开SSH端口(22 TCP);
- 打开Zabbix agent (10050 TCP) 和 Zabbix trapper (10051 TCP) 端口;
- 打开HTTP (80 TCP) 和 HTTPS (443 TCP) 端口;
- 打开SNMP trap 端口 (162 UDP);
- 打开NTP端口(123 UDP)的出向(outgoing)连接;
- ICMP pakets限制为每秒5个数据包;
- 丢弃所有其他入向(incoming)连接。
1.3 额外的包
通常来说,Zabbix已经结合的多种的基础工具使其工作和监控更容易:
- iptables-persistent
- mc
- htop
- snmptrapfmt
- snmp-mibs-downloader
Zabbix使用了其中的一些包,另外一些用以帮助用户配置/管理应用设置。
1.4 使用静态ip地址
默认情况下,设备使用DHCP来获取IP地址。静态地址详细说明:
- 以root用户身份登陆;
- 在你最擅用的编辑器中打开/etc/network/interfaces 文件;
- iface eth0 inet dhcp → iface eth0 inet static
- 在iface eth0 inet static之后添加一下行:
- address <应用的IP>
- netmask <网络掩码>
- gateway <网关地址>
- 执行命令 sudo ifdown eth0 && sudo ifup eth0.
有关其他可行选项的相关信息,参见官方Ubuntu 文档.
要配置DNS,在/etc/resolv.conf中添加名称服务器条目,在每一行单独指定名称服务器:nameserver 192.168.1.2。
1.5 更改时区
应用默认使用UTC作为系统时钟。如需更改时区,那么从/usr/share/zoneinfo中复制合适的文件到 /etc/localtime中,例如:
cp /usr/share/zoneinfo/Europe/Riga /etc/localtime
1.6 语言环境更改
这个应用包含了一些语言环境设置更改:
- 包含语言: en_US.UTF-8, ru_RU.UTF-8, ja_JP.UTF-8, cs_CZ.UTF-8, ko_KR.UTF-8, it_IT.UTF-8,
pt_BR.UTF-8, sk_SK.UTF-8, uk_UA.UTF-8, fr_FR.UTF-8, pl.UTF-8; - 默认语言环境是en_US.UTF-8.
这些更改都须支持多语种Zabbix WEB界面。
1.7 其他更改
- 网络被配置为使用DHCP来获取IP地址;
- fping工具被设置为拥有4710权限,且由zabbix – suid组所有,只允许由Zabbix组使用
- ntpd 配置为与公有NTP服务器进行同步: ntp.ubuntu.com;
- LVM逻辑卷管理使用了ext4文件系统;
- “UseDNS no“ 添加到SSH服务配置文件/etc/ssh/sshd_config以避免长时间SSH连接等待;文件系统;
- 在/etc/default/snmpd 配置文件中禁用了snmpd守护进程。
2 Zabbix配置
Zabbix应用在安装过程中使用了下列密码和配置:
2.1 凭证 (登陆名:密码)
系统:
- appliance:zabbix
数据库:
- root:<random>
- zabbix:<random>
数据库密码在安装过程中随机生成。
Root密码存放在/root/.my.cnf文件中,在”root”账户下无需输入密码。
Zabbix前端:
- Admin:zabbix
要更改数据库用户密码,需在以下位置更改:
- MySQL;
- /etc/zabbix/zabbix_server.conf;
- /etc/zabbix/web/zabbix.conf.php.
2.2 文件位置
- 配置文件存放在 in /etc/zabbix.
- Zabbix server, proxy 和 agent 日志文件存放在/var/log/zabbix.
- Zabbix 前端存放在/usr/share/zabbix.
- 用户zabbix的Home目录是/var/lib/zabbix.
2.3 Zabbix配置更改
- Zabbix前端的服务器名称被设置为”Zabbix Appliance”;
- 前端时区设置为:Europe/Riga (可在/etc/apache2/conf-available/zabbix.conf中修改);
2.4 配置保护
如果您正在运行该应用的Live CD/DVD版本,或者由于其他原因无法使用持久化存储,你可以备份整个数据库,包括所有配置和收集到的数据。
要创建备份,则运行:
sudo mysqldump zabbix | bzip2 -9 > dbdump.bz2
现在你可以将文件dbdump.bz2传输到另一台机器。
要想从备份中进行恢复,将其传输到应用上并执行
bzcat dbdump.bz2 | sudo mysql zabbix
在恢复时,确保Zabbix server处于停止状态。
3 前端访问
默认前端可以通过任何地方进行访问。
可通过 http://<host>/zabbix访问前端。
可在/etc/apache2/conf-available/zabbix.conf中定制,修改该文件后需要重启web服务器。为此,以root用户通过SSH登陆并执行:
service apache2 restart
4 防火墙
默认情况下,只有更改条目中所列出的端口是打开的。要打开额外端口,只需修改 “/etc/iptables/rules.v4“ or “/etc/iptables/rules.v6“ 文件,并重新加载防火墙规则:
service iptables-persistent reload
5 监控能力
Zabbix安装程序支持下列功能:
- SNMP
- IPMI
- Web 监控
- VMware 监控
- Jabber 通知
- EZ Texting 通知
- ODBC
- SSH2
- IPv6
- SNMP Traps
- Zabbix Java Gateway
6 SNMP traps
Zabbix应用使用snmptrapfmt处理SNMP trap。它被配置为接受来自于所有地方的任何trap。
不要求进行身份认证。如果您希望启用认证,需要更改/etc/snmp/snmptrapd.conf文件并指定所需的认证配置。
所有的trap存放在/var/log/zabbix/snmptrapfmt.log文件中,它由logrotate按2GB的文件大小轮询存放。
7 升级
Zabbix应用包可以进行升级。如要升级,则运行:
sudo apt install --only-upgrade 'zabbix.*'
8 命名, 初始化和其他脚本
已提供适当的初始脚本。要想控制Zabbix server, 运行以下任一程序:
service zabbix-server status
如需要控制Zabbix agent守护进程,将 server 替换为 agent;如需要控制Zabbix proxy守护进程,则替换为 proxy。
8.1 增加可用磁盘空间
<note warning>在尝试任何步骤之前,请创建所有数据备份。 :::
设备中可用磁盘空间可能不够,这种情况下,可以扩展磁盘,为此,可首先在虚拟化环境中拓展块设备,然后执行以下步骤:
启动fdisk更改分区大小。以root用户运行:
fdisk /dev/sda
这将在磁盘sda上运行fdisk。然后去使用一下命令切换分区:
u
D不要通过输入 c来禁用DOS兼容模式,否则将破坏分区。
之后删除现有分区,并创建一个合乎需求的新分区。多数情况下,你会接受可用最大值,这会将文件系统扩展到你为虚拟磁盘提供的任一可用大小。为此,在fdisk提示中输入以下序列:
d
n
p
1
(accept default 63)
(accept default max)
如果你想为额外分区(swap等)留些空间,你可以在last sector中输入另一个值,完成后,发出以下指令以保存更改:
w
创建分区后(新增磁盘或者扩展现有的磁盘),创建物理卷:
pvcreate /dev/sdb1
<note warning>示例中使用了名为/dev/sdb1的分区,在你的环境下,磁盘名称和分区号可能不同。你可以使用fdisk -l /dev/sdb命令检查分区号。 :::
检查新创建的物理卷:
pvdisplay /dev/sdb1
检查可用的物理卷。这里必须有两个卷:zabbix-vg和新创建的:
pvs
用新创建的物理卷扩展现有的卷组:
vgextend zabbix-vg /dev/sdb1
检查“zabbix-vg”卷组:
vgdisplay
使用空闲的PE空间扩展你的逻辑卷:
lvextend -l +100%FREE /dev/mapper/zabbix--vg-root
重新分配root卷空间(可在系统中实时完成):
resize2fs /dev/mapper/zabbix--vg-root
重新启动虚拟机(因为我们修改的分区目前正在使用)。如此,现在文件系统应扩展到分区大小。检查 “/dev/mapper/zabbix—vg-root” 卷:
df -h
9 特定格式说明
9.1 Xen
为XenServer转换镜像
通过Citrix Xenserver使用Xen镜像,则需要转换磁盘镜像。因此,你需要:
- 创建一个虚拟磁盘,磁盘大小至少要和镜像一样大。
- 查找这块磁盘的UUID
xe vdi-list params=all
- 如果有许多磁盘,在创建磁盘时分配的那样,他们可以通过名称参数name-label进行过滤
- 导入镜像
xe vdi-import filename="image.raw" uuid="<UUID>"
上述操作步骤引用于Brian Radford的博客。
9.2 VMware
vmdk格式的镜像可以直接被VMware Player,Server和Workstation等产品使用。如需要在ESX,ESXi,vSphere中使用,必须使用 VMware converter进行转换。
9.3 硬盘/闪存镜像 (raw)
dd if=./zabbix_appliance_3.4.0_x86_64.raw of=/dev/sdc bs=4k conv=fdatasync
使用闪存/硬盘设备的路径,替换/dev/sdc。