基础介绍
Zabbix(http://www.zabbix.com/)为免费并开源的企业级的服务器硬件及网络监控软件。一般用于生产环节监控服务器端口、CPU、内存、状态等。该软件以Server - agent模式实现分布式硬件网络监控,适用于绝大多数的多服务器部署的项目。有些项目中客户会明确提出需要服务器监控功能,有的并没有明确要求,但如果涉及到服务器运维此项工作是必须要做的,所以在客户没有提出要求的情况下我们其实也需要部署此类软件用户服务器监控及预警。
此软件分为Server端和Agent端,Server端只支持Linux服务器部署,agent端支持多系统部署。Server和agent端通过开放端口来进行数据传输。数据传输有两种类型,一种为Agent向Server主动发送数据,另一种为Server向Agent请求需要的数据,所以两端需要能够保持网络的畅通。
软件安装
软件下载地址: http://www.zabbix.com/download.php
其中Zabbix Pages,为Server端linux系统安装包。 Zabbix Pre-compiled Agents为各系统编译好的安装包。
Server端安装
参考: https://www.zabbix.com/documentation/2.4/manual/installation/install_from_packages
注:安装步骤里有安装Agent,这个Agent用于监控此Zabbix服务器。
Agent端安装(Windows)
参考: https://www.zabbix.com/documentation/2.4/manual/appendix/install/windows_agent
注:Agent启动最好采用指定的conf文件,如果不指定不一定能安装成功。参考如下脚本启动:
conf文件说明:
DebugLevel字段: 用于设置log级别,如果想看到Agent详细的log可指定为3或4
ServerActive字段:填Server端的IP
Hostname字段:这个字段很重要,用来定义Agent主机的名称。这里的值可设为任意字符串。下一章节会介绍
使用说明
Zabbix的使用配置主要有这几个重要的点:
Host: 配置需要监控的Agent端
Item:用于check什么东西,这个可check的类型很多,如内存、cpu、网络等
Trigger:用于定义出发条件,如内存高于多少值出发一个错误状态
Action:用于定义服务器出错后的处理方式,如Trigger出发了一个服务器错误,Action捕捉到了这个错误后发送邮件通知。
参考Quickstart: https://www.zabbix.com/documentation/2.4/manual/quickstart
注: 创建Host的时候里面有个字段叫Host Name, 这个name就是上面Agent里定义的Hostname。这两个值要一样。
关于发送邮件
发送邮件通知这部分官网讲的不详细,如下为可用的步骤(Server端执行):
1, 安装sendemail工具
2, 创建send email执行脚本. 在zabbix_server.conf文件中找到AlertScriptsPath, 在这个目录下创建文件zabbix_sendemail, 并chmod 755. 文件内容如下
3,设置Media Type (Administration / Media types),类型选择为Script,script文件填刚创建的文件名 zabbix_sendemail
4,给用户设置Media Type, 到用户页面,为用户添加刚创建的media type
5,设置Action,Send only to字段设置成第三步创建的类型