Zabbix安装与使用-强大的服务器性能监控工具掌控服务器软硬件资源

为了监控各大VPS主机商不同地方机房的网络线路情况,我们可以使用免费开源网络性能监控工具可视化主/从部署Smokeping,Smokeping强大直观的绘图可以帮助我们了解一定时间段内IDC机房的网络状况。

但是,如果我们还要详细了解服务器的CPU、内存、磁盘IO、SQL数据、硬盘容量、网页加载速度、系统负载等资源使用情况,我们就需要一个像zabbix一样的强大服务器性能监控工具,zabbix几乎可以监控到服务器所有的硬件资源。

Zabbix 是由 Alexei Vladishev 开发的一种网络监视、管理系统,在Linux、Windows系统安装 Zabbix Agent 之后,可监视 CPU Load、网络使用状况、硬盘容量等各种状态。如果没有安装Agent ,也可以通过SNMP、TCP、ICMP等方式进行监控。

Zabbix是一个企业级的监控工具,可用于部署监控大规模服务器集群监控,对于我们个人来说,也可以利用Zabbix来实时监控自己的服务器的运行状况。尤其是当你查不出自己的服务器毛病出在哪里,利用Zabbix作全方位的监控就非常有必要了。

Zabbix安装与使用-强大的服务器性能监控工具全面掌控服务器软硬件资源使用情况

更多的关于网站服务器监控VPS主机性能评测,你还可以看看:

  1. Linux系统监控命令整理汇总-掌握CPU,内存,磁盘IO等找出性能瓶颈
  2. Smokeping安装与配置-免费开源网络性能监控工具可视化主/从部署
  3. 服务器日志分析利器:ngxtop和GoAccess-实时监控可视化管理快速找出异常来源

PS:2017年12月27日更新,相对于Zabbix大而全的监控不防来试试小而精的监控工具,这两款工具将网络流量监控发挥到了极致:两款优秀的服务器网络流量监控工具:Ntopng和Munin-功能强大直观

一、Zabbix安装部署

官网:

  1. 网站:https://www.zabbix.com
  2. 文档:https://www.zabbix.com/documentation/3.4/zh/
  3. 一键包:https://github.com/X-Mars/Quick-Installation-ZABBIX

Zabbix支持分发包、容器、应用和编译等安装方法,嫌麻烦的朋友也可以直接使用Github第三方的一键安装包,可以一键安装服务端与客户端。

以下官网提供的从部署包安装Zabbix的详细教程。

1.1  Red Hat Enterprise Linux / CentOS

支持版本: RHEL 7, Oracle Linux 7, CentOS 7。一些组件的部署包(如agent, proxy等),同时也支持RHEL 5和RHEL 6。

安装源码库配置部署包。

这个部署包包含了yum配置文件。

# rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.noarch.rpm

安装Zabbix部署包。

以下是使用Mysql数据库安装Zabbix server、WEB前端的示例。

Zabbix官方源码库也提供fping,iksemel,libssh2部署包这些包位于non-supported目录.

# yum install zabbix-server-mysql zabbix-web-mysql

只安装Zabbix Agent的示例.

# yum install zabbix-agent

安装初始化数据库

在MySQL上安装Zabbix数据库和用户,请参看下列指导步骤。MySQL数据库创建脚本

然后导入初始架构(Schema)和数据。

# cd /usr/share/doc/zabbix-server-mysql-3.4.0
# zcat create.sql.gz | mysql -uroot zabbix

启动Zabbix Server进程

在zabbix_server.conf中编辑数据库配置

# vi /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix

启动Zabbix Server进程

# systemctl start zabbix-server

编辑Zabbix前端的PHP配置

Zabbix前端的Apache配置文件位于 /etc/httpd/conf.d/zabbix.conf 。一些PHP设置已经完成了配置。

php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value always_populate_raw_post_data -1
# php_value date.timezone Europe/Riga

依据所在时区,你可以取消 “date.timezone” 设置的注释,并正确配置它。在配置文件更改后,需要重启Apache Web服务器。

# systemctl start httpd

Zabbix前端可以在浏览器中通过 http://zabbix-frontend-hostname/zabbix 进行访问。默认的用户名/密码为 Admin/zabbix。

1.2  Debian / Ubuntu

支持版本: Debian 7 (Wheezy) and 8 (Jessie), Ubuntu 14.04 LTS (Trusty Tahr), 16.04 LTS (Xenial Xerus)

安装源码库配置部署包

安装源码库配置部署包。这个部署包包含了apt配置文件。

在 Debian 7 上安装 Zabbix 3.4:

# wget http://repo.zabbix.com/zabbix/3.4/debian/pool/main/z/zabbix-release/zabbix-release_3.4-1+wheezy_all.deb
# dpkg -i zabbix-release_3.4-1+wheezy_all.deb
# apt-get update

在 Debian 8 上安装 Zabbix 3.4:

# wget http://repo.zabbix.com/zabbix/3.4/debian/pool/main/z/zabbix-release/zabbix-release_3.4-1+jessie_all.deb
# dpkg -i zabbix-release_3.4-1+jessie_all.deb
# apt-get update

在 Ubuntu 14.04 LTS 上安装 Zabbix 3.4:

# wget http://repo.zabbix.com/zabbix/3.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.4-1+trusty_all.deb
# dpkg -i zabbix-release_3.4-1+trusty_all.deb
# apt-get update

在 Ubuntu 16.04 LTS 上安装 Zabbix 3.4:

# wget http://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部署包

使用mysql数据库安装Zabbix server、WEB前端的示例。

# apt-get install zabbix-server-mysql zabbix-frontend-php

只安装Zabbix Agent的示例。

# apt-get install zabbix-agent

安装初始化数据库

在MySQL上安装Zabbix数据库和用户,请参考下列指导步骤。MySQL数据库创建脚本

然后导入初始架构(Schema)和数据

# cd /usr/share/doc/zabbix-server-mysql
# zcat create.sql.gz | mysql -uroot zabbix

启动Zabbix Server进程

在zabbix_server.conf中编辑数据库配置

# vi /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix

启动Zabbix Server进程

# service zabbix-server start

编辑Zabbix前端的PHP配置

Zabbix前端的Apache配置文件位于 /etc/apache2/conf.d/zabbix 或者 /etc/apache2/conf-enabled/zabbix.conf 。一些PHP设置已经完成了配置。

php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value always_populate_raw_post_data -1
# php_value date.timezone Europe/Riga

依据所在时区,你可以取消 “date.timezone” 设置的注释,并正确配置它。在配置文件更改后,需要重启Apache Web服务器。

# service apache2 restart

Zabbix前端可以在浏览器中通过 http://zabbix-frontend-hostname/zabbix 进行访问。默认的用户名/密码为 Admin/zabbix。

二、Zabbix监控主机

Zabbix自带中文,登录到Zabbix后你可以看到默认的已经添加的本机监控,上方有监测中、资产报表、报表、配置、管理。

添加主机。点击右上方添加主机,然后就是填写主机的详情配置了。有几个关键的地方:接口有IPMI接口、JMX接口、SNMP接口、agent接口,我们添加的是主机所以选择agent接口。IP地址就是我们将要添加的主机的IP或者域名,对应端口为默认的10050。

其它的配置可以参考wzfou.com的演示:(点击放大)

添加监控。添加主机完成后,接着我们就可以主机列表中点击“监控项”。

进入监控项配置界面后,可以根据一些条件,筛选出已经存在的一些监控项,直接点击”创建监控项”按钮。

接下来就是填写监控项的详细信息了。此处有一个关键地方就是:键值。点击选择按钮以后,可以看到非常多的预先定义好的key,这些key都是zabbix自带的key,这些key一般都是系统级别的通用的监控项所能够用到的key,包括了CPU、内存、硬盘、网络等几十项参数。(点击放大)

数据更新间隔表示每隔多长时间获取一次监控项对应的数据,你可以根据自己的需要来设置。其它的参考下图的演示:(点击放大)

最后,点击提交,完成监控项的设置。

返回到主机页面,你就可以看到你刚刚添加成功的监控项了。

多个监控项你可以重复以上操作,不过在zabbix中添加带有参数的监控项时,需要自己提前了解各参数的作用,例如监控硬盘分区容量,可以使用”vfs.fs.size[fs,<mode>]”这个键。其中”vfs.fs.size”就是键名,”[fs,<mode>]”就是这个键需要的参数。官网有速查手册:https://www.zabbix.com/documentation/3.0/manual/config/items/itemtypes/zabbix_agent

三、Zabbix监控报告

如果想要查看实时数据报告,可以点击“监测中”,然后搜索你的主机还有监控项。

点击后就可以看到图表数据,你可以点击放大图表查看相应时间段的报告。

在报表里有详细的各个监控主机的监控项报表。

Zabbix还提供了聚合图形,你自己可以将不同的监控项聚合在一起,然后形成新的报表。(点击放大)

这是Zabbix聚合报表效果。

Zabbix还提供了报警功能,可以与短信、微信等各类APP进行整合。

四、总结

Zabbix是一个基于WEB界面的提供分布式网络监视功能的企业级的开源解决方案,最大的特点是分布式监控,自动发现,自定义监控项目。在监控界,Zabbix是“牛刀”了,用在个人服务器监控上真的是“小试”了。

如果你添加Zabbix监控后没有数据显示,查看一下监控项是否显示正常运行。尤其是对于一些需要自定义监控参数的监控项,最好自己先在服务端手动测试一下,命令格式:zabbix_get -s 192.168.0.1 -k system.cpu.switches。有数据返回就表示参数设置正常。

发表评论