采集 > 存储 > 报警 > 展示。即为通常的监控系统应当具备的基础完备功能。然而,市面上能找到集上述于一身的却着实不多。而完备的最初之秀,无疑就是Zabbix。
Zabbix避免了cacti+nagios报警与展示坑爹的结合,又因性能之秀,开源免费等很快成为中小型及发展型企业的主流。
Zabbix的数据采集通道为:agent,snmp,IPMI,jmx。依旧不同的数据采集通道,zabbix有相对应的配置系统。agent是zabbix官方提供的。snmp为早期数据采集协议,实现方式为ssh及telnet等。IPMI主要用于硬件监控,jmx则是基于java虚拟机采集数据。
其中agent是zabbix自带的,效率最优,也是使用率最高的配置。掌握基于agent实现的zabbix监控是主流,也是zabbix使用的必备技能。
Zabbix的agent配置系统主要依据如下的配置。
监控配置:host groups --> host --> application --> item --> trigger --> action (conditions, operations)
以上范围由大到小,前者依赖于后者的存在而建立。host groups(主机组)内是一个个的host(主机)。而host(主机)的所要监控的监控项的集合为application,其中具体的监控项为单个的item。监控项需要trigger(触发器)才会触发。 要想使用触发器,须提前定义action(动作)。action又有conditions(条件)和operations(操作)之分。
以上的个体与集合的对应关系如下:
主机(hosts) --> 主机组(hostgroups)
监控项(items) --> 应用组(applications)
触发器(triggers, 表达式) --> trigger events
动作(actions, CONDITIONS, OPERATIONS, RECOVERY OPERATIONS)
Zabbix安装
下面说下基于yum仓库,zabbix的简单安装。
此步骤需在网络连通的情况下进行。
1.zabbix的yum仓库配置。zabbix相关软件包很多,为了避免单个下载的琐杂,我们可以安装以下软件包自动配置yum仓库。
这一步服务器和被监控端(agent端)都要进行。
rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm
AI 代码解读
2.zabbix服务端配置
yum install zabbix-server-mysql zabbix-web-mysql zabbix-get zabbix-agent zabbit-sender
mysql -uroot -ppassword
mysql> CREATE DATABASE zabbix CHARSET SET 'utf8';
mysql> GRANT ALL ON zabbix.* TO 'zabbix'@'127.0.0.1' IDENTIFIED BY 'zbxpass';
mysql> flush privileges;
vim /etc/zabbix/zabbix_server.conf
DBHost=127.0.0.1
DBName=zabbix
DBUser=zabbix
DBPassword=zbxpass
rpm -ql zabbix-server-mysql
cp /usr/share/doc/zabbix-server-mysql-3.4.4/create.sql.gz .
gzip -d create.sql.gz
mysql -uzabbix -h127.0.0.1 -pzbxpass zabbix < create.sql
AI 代码解读
3.zabbix被监控主机(agent)端配置
yum install zabbix-agent zabbix-sender
AI 代码解读
注意各节点保持时间一致。
以上安装完成后,确认服务器端httpd服务启动,80端口正常访问,php-fpm对应9000端口启动,mysql数据库OK,便可登录对应网页页面进行监控项的配置。
接下来就是初始环境检测了。确认环境Ok后依旧提示点击下一步即可。
各项OK会进入/zabbix/index.php页面,输入用户名admin,密码zabbix,Sign in提交。这个密码可登录后修改。
Zabbix监控项配置
我们常用的用来设置agent监控项的web菜单栏如下:
这个配置,因为有官方中文手册,阿拉就没必要浪费多余的口舌了。
总之直达路径在此:https://www.zabbix.com/documentation/3.4/zh/manual/introduction/manual_structure
好了,小伙伴们都快去学习使用zabbix吧!注意定义的各项条目之间的逻辑关联。Zabbix的web页面也可以切换成中文,不过相当不推荐这么干哟。有些词还是英文状态下好理解,嘛,想用中文就用好了,到时候别怪阿拉没事先提醒你哦。
另外说一下报警。
Zabbix提供了几种不错的报警机制。可惜in China,我们能使用的只有eamil和script。
在菜单栏Administration > Media types下Create media types,实现互联网邮件通知的机制如下定义:
图中SMTP server阿拉填写了网易的邮件服务器地址。其他选项可参照上面的官方中文文档。
实现向本主机指定用户发邮件的定义如下:
发邮件的源是服务器的mail服务,接收信息可指定。短信的通知要借助于脚本实现。脚本调用公司的短信接口即可。
zabbix share上有很多官方模板,可以直接拿来用。
本文转自阿拉杜美美51CTO博客,原文链接:http://blog.51cto.com/amelie/2047303 ,如需转载请自行联系原作者