1. 前言
对于服务器集群的监控,有很多可选的开源技术方案,比如zabbix,nagios,Cacti,Munin,icinga,ganglia ,collectd + graphite,influxed + grafana,prometheus等。以前简单研究过ganglia,本文中,来研究学习一下zabbix。
2. zabbix简介
参考zabbix监控的基础概念、工作原理及架构,我们了解到zabbix是一个分布式系统监控和网络监视工具。
zabbix支持主机的性能监控、网络设备性能监控、数据库性能监控、多种告警方式、详细的报表图表绘制。
zabbix的基本工作原理为:zabbix agent需要安装到被监控的主机上,它负责定期收集各项数据,并发送到zabbix server端,zabbix server将数据存储到数据库中,zabbix web根据数据在前端进行展现和绘图。这里agent收集数据分为主动和被动两种模式。
3. 环境准备
在VirtualBox中创建两台Ubuntu16虚拟机,zabbix0和zabbix1。硬件配置都是1核2GB内存,IP分别为192.168.56.200和192.168.56.201。
zabbix0上安装zabbix-server和zabbix-agent,zabbix1上zabbix-agent。
sudo -i
切换到root用户,方便安装配置。
4. zabbix0
zabbix服务端的安装配置,主要参考在Ubuntu16.04 Server上安装Zabbix。
4.1. 软件安装
1、安装zabbix需要的PHP模块apt-get install php7.0-bcmath php7.0-xml php7.0-mbstring
2、下载导入zabbix-server安装源
1 | wget http://repo.zabbix.com/zabbix/3.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.2-1+xenial_all.deb |
Ubuntu仓库中提供的zabbix是过时的,因此使用官方的安装包。
3、安装zabbix-server(支持mysql的版本)和zabbix-webapt-get install zabbix-server-mysql zabbix-frontend-php
4、安装zabbix-client(可选)apt-get install zabbix-agent
4.2. mysql配置
1、登录mysqlmysql -uroot -p
默认密码为空。
2、创建zabbix数据库和zabbix用户
1 | create database zabbix character set utf8 collate utf8_bin; |
3、导入初始表和数据
1 | zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -uzabbix -p zabbix |
4.3. zabbix-server配置
1、vim /etc/zabbix/zabbix_server.conf
,如下修改:
1 | # line 81, uncomment |
2、vim /etc/zabbix/apache.conf
,如下修改:
1 | # line 19, uncomment and change |
3、重启apache,启动zabbix-server并设置开机启动
1 | systemctl restart apache2 |
4.4. zabbix-web配置
1、浏览器访问 http://192.168.56.200/zabbix
2、点击“Next step”,按照提示进行安装配置。中间只要填写一次数据库密码,其他的默认即可。
安装完成后的配置文件为/usr/share/zabbix/conf/zabbix.conf.php。
3、浏览器访问 http://192.168.56.200/zabbix/index.php
使用默认的用户Admin和密码zabbix登录,即可进入管理界面。
此时,我们看到Number of hosts enabled为0。
4.5. zabbix-agent配置
1、vim /etc/zabbix/zabbix_agentd.conf
,如下修改:
1 | # line 95, change |
其中Server和ServerActive指的是Zabbix Server,Hostname指的是client server name。
2、启用zabbix-agent并设置开机启动
1 | systemctl start zabbix-agent |
此时,在zabbix web管理页面依然看不到主机的信息。
3、在zabbix web管理页面添加zabbix0主机,参考How to Add Host in Zabbix Server to Monitor。
(1)在zabbix web管理页面,Configuration,Hosts,Create host。
(2)在Host标签页,填入如下信息。
- Hostname: Enter hostname of Remote system
- Visible name: Name to be display in zabbix
- Group: Select the desired group for you host
- Agent interface: Fill the info of Zabbix agent running on host
- Enabled: Check for active
(3)在Templates标签页,点击Select选择要监控的指标,点击Add链接确认。
(4)点击Add按钮确认添加host。
此时,就可以在zabbix web管理页面看到host的信息了,选择host的Graphs,即可查看host状态相关的绘图。
5. zabbix1
1、下载导入zabbix-server安装源
1 | wget http://repo.zabbix.com/zabbix/3.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.2-1+xenial_all.deb |
2、安装zabbix-clientapt-get install zabbix-agent
3、vim /etc/zabbix/zabbix_agentd.conf
,如下修改:
1 | # line 95, change |
4、启用zabbix-agent并设置开机启动
1 | systemctl start zabbix-agent |
5、在zabbix web管理页面添加zabbix1主机,再添加一台不存在的zabbix2主机。添加完成后即可看到三台主机都是Enabled,等待两分钟后界面显示其中一台不可用。
6. 后记
至此,zabbix就安装配置完成了,更高级的用法,用到了再去研究学习。
7. 书签
How to Install Zabbix Server 3.4 on Ubuntu 18.04 & 16.04 LTS
How To Install Zabbix Agent on Ubuntu 18.04 & 16.04 LTS