发布于 2014-11-05 13:40:18 | 3773 次阅读 | 评论: 0 | 来源: 网友投递
Zabbix 分布式系统监视系统
zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
本文为大家讲解的是Zabbix教程之入门介绍,详细的为大家介绍了Zabbix的安装和配置方法,感兴趣的同学参考下。
在开源监控软件中,现在使用最多的大概就是cacti、nagios和zabbix了。作为一个后起之秀,zabbix以其灵活的扩展性和丰富的功 能迅速俘获了一大批运维人员的青睐,尤其以功能强大的报警机制更让人爱不释手。本文也将以zabbix作为监控系统来进行介绍。
由百度、Google结果来看,cacti作为老牌开源软件以其出现时间早、配置简单、画面直观、汉化成功等的原因依然受到广大用户的青睐,但zabbix已经与nagios旗鼓相当了,相信不久的将来,zabbix必将成为运维人员首选的监控利器。
在一个监控系统中,构成要素为监控服务器端程序、数据存储、被采集节点等模块,其告警分析和自动故障处理功能由服务器端执行。简单点说,就是采集数据-->分析处理数据-->判断是否异常-->是否属于告警条件-->发送邮件、短信进行报警。
而采集方式来说,有采集客户端(Agent)和协议(SNMP、IPMI、JMX、Telnet、SSH等)两种方式,无论使用哪种方式,都会将采集到的数据存放到数据库,然后对其进行分析整理。
从采集的工作模式来讲,又可以分为两种:主动监控和被动监控,后边会说到这两种监控方式的区别
当我们需要了解一个产品的时候,最好的方式就是官方介绍以及官方文档。zabbix的官方网站http://www.zabbix.com,官方文档地址http://www.zabbix.com/documentation.php,
Zabbix为PHP语言开发,所以环境平台搭建比较容易,支持监控N多操作系统,在开源软件的选择上也是多样的Linux、Apache/Nginx、MySQL/Oracle/Postgresql、PHP等。
系统:CentOS release 6.4 (Final) IP地址:192.168.101.216
安装LAMP环境,也就是Apache、MySQL和PHP环境,在安装之前,为了避免麻烦,首先我们需要将iptables和selinux进行关闭。两种方式如下
第一种: 关闭iptables service iptables stop 关闭selinux setenforce 0 不需要重启服务器,即可生效,重启服务器后失效! 第二种: 关闭防火墙 chkconfig iptables off 关闭selinux vi /etc/selinux/config SELINUX=enforcing 改为 SELINUX=disabled 需要重启服务器,永久禁用 由于我的主机是最小化安装的,所以首先需要安装两个开发包组“Development tools”和“Server Platform Development”,以便后边手动编译zabbix。yum -y groupinstall “Development tools” “Server Platform Development” 然后安装Apache、MySQL和PHP yum -y install httpd mysql mysql-server mysql-devel php php-mysql php-xml php-mbstring php-gd php-bcmath 配置MySQL数据库
打开/etc/my.cnf文件,添加以下两行信息
innodb_file_per_table = 1 #设置字符集为utf8 character-set-server=utf8 #让InnoDB的每个表文件单独存放
设置字符集为utf8很好理解,让InnoDB的每个表文件单独存放在说到MySQL数据库的存储引擎的时候会说到为什么这么做。
然后启动MySQL数据库
service mysqld start
然后启动Apache,测试lamp环境是否正常
service httpd start
添加测试页面,保存到/var/www/html/index.php
<?php phpinfo(); ?>
打开访问地址:http://192.168.101.216/index.php,出现如下页面表示配置正确,lamp环境搭建成功。 安装zabbix 下载zabbix源码安装
wget http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.4.1/zabbix-2.4.1.tar.gz点击上面链接即可下载
为了以后的方便,建议安装支持snmp协议 yum -y install net-snmp net-snmp-devel libcurl tar xf zabbix-2.4.1.tar.gz cd zabbix-2.4.1 ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-net-snmp --with-mysql --with-libcurl --prefix=/usr/local/zabbix 指定zabbix安装路径 --enable-server 支持zabbix-server端 --enable-agent 支持zabbix-agent端 --with-net-snmp 支持snmp协议 --with-mysql 支持mysql数据库 --with-libcurl 支持curl,用于WEB监控 出现下方信息,表示编译通过,接下来即可进行安装 *********************************************************** * Now run 'make install' * * * * Thank you for using Zabbix! * * <http://www.zabbix.com> * *********************************************************** make && make install
zabbix安装已经完成,接下来开始配置zabbix
编辑服务器端口,添加以下两个端口
vi /etc/services #Zabbix Trapper && Zabbix Agent zabbix-agent 10050/tcp #Zabbix Agent zabbix-agent 10050/udp #Zabbix Agent zabbix-trapper 10051/tcp #Zabbix Trapper zabbix-trapper 10051/udp #Zabbix Trapper
安装启动脚本
cp /root/zabbix-2.4.1/misc/init.d/fedora/core/* /etc/init.d -p
编辑启动脚本,修改以下项
vi /etc/init.d/zabbix_server BASEDIR=/usr/local ==> BASEDIR=/usr/local/zabbix vi /etc/init.d/zabbix_agentd BASEDIR=/usr/local ==> BASEDIR=/usr/local/zabbix
添加zabbix_server和zabbix_agentd为服务
chkconfig --add zabbix_server chkconfig --add zabbix_agentd
编辑/usr/local/zabbix/etc/zabbix_server.conf文件
cat zabbix_server.conf | grep -v "^#" | grep -v "^$" LogFile=/tmp/zabbix_server.log #zabbix_server 日志文件 DBHost=localhost #数据库地址 DBName=zabbix #zabbix数据库 DBUser=zabbix #zabbix数据库账号 DBPassword=123.com# #zabbix数据库密码
复制Web应用到Web目录下
cp -R ~/zabbix-2.4.1/frontends/php /var/www/html/zabbix
创建数据库,导入zabbix数据库
[root@localhost ~]# mysql Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 5 Server version: 5.1.73 Source distribution Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> CREATE DATABASE zabbix1; Query OK, 1 row affected (0.00 sec) mysql> GRANT ALL ON zabbix1.* TO zabbix@localhost IDENTIFIED BY '123.com#'; Query OK, 0 rows affected (0.00 sec) mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.00 sec) mysql> source /root/zabbix-2.4.1/database/mysql/schema.sql; mysql> source /root/zabbix-2.4.1/database/mysql/data.sql; mysql> source /root/zabbix-2.4.1/database/mysql/images.sql;
添加zabbix用户,启动zabbix_server和zabbix_agentd服务
groupadd zabbix useradd -g zabbix zabbix
启动zabbix_server和zabbix_agentd
[root@localhost ~]# service zabbix_server start Starting zabbix_server: [ OK ] [root@localhost ~]# service zabbix_agentd start Starting zabbix_agentd: [ OK ] [root@localhost ~]# ss -tunl Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port udp UNCONN 0 0 *:161 *:* tcp LISTEN 0 128 :::80 :::* tcp LISTEN 0 128 :::22 :::* tcp LISTEN 0 128 *:22 *:* tcp LISTEN 0 100 ::1:25 :::* tcp LISTEN 0 100 127.0.0.1:25 *:* tcp LISTEN 0 128 *:10050 *:* tcp LISTEN 0 128 *:10051 *:* tcp LISTEN 0 128 127.0.0.1:199 *:* tcp LISTEN 0 50 *:3306 *:* [root@localhost ~]#
10050和10051端口已经启动,证明服务启动成功
访问http://192.168.101.216/zabbix进行zabbix的最后安装步骤
点击下一步,进行安装
红色部分是报错部分,我用①标注出来的问题可以通过修改/etc/php.ini文件搞定,搜索option后边的关键字即可找到修改位置;用②标注出来 的问题可以通过安装相关php包解决,例如 PHP bcmath 显示off,那么就只需要yum -y install php-bcmath即可,其他同理
修改报错信息
cat /etc/php.ini |grep -E "max_input_time|max_execution_time" ; max_input_time max_execution_time = 300 max_input_time = 300
然后需要重新启动Apache来重新加载php.ini文件,重启之后,点击Retry按钮重试即可。
service httpd restart
这里填写数据库的相关信息,数据库主机、数据库名称、数据库用户、数据库密码。然后一定要先点击【Test connection】进行测试,不然无法点击【Next】
这一步,只需要填写zabbix的名称,可根据自己意愿随意填写
继续下一步
这一步又报错了,报错信息是①,给出的解决方法是②和③,其实Linux下很多报错信息我们都可以很直观的得到的。
报错信息是由于权限不够无法在/var/www/html/zabbix/conf/目录下创建文件zabbix.conf.php文件
解决方法一:修改/var/www/html/zabbix/conf/目录的权限 chmod 777 /var/www/html/zabbix/conf
解决方法二:点击【Download configuration file】下载zabbix.conf.php文件,利用scp等工具传到/var/www/html/zabbix/conf目录下。
上面哪种解决办法都可以,然后点击【Retry】测试
安装完成
默认用户名为Admin,密码为zabbix
到这里,zabbix的安装就结束了,接下来就是zabbix的使用了。总的来说还是挺简单的,zabbix2.4默认是不支持中文的,可以通过修改后台 配置文件/var/www/html/zabbix/include/locales.inc.php,修改display的false为true,然后 在首页【Profile】的【language】选择中文即可。
cat /var/www/html/zabbix/include/locales.inc.php | grep "zh_CN" 'zh_CN' => array('name' => _('Chinese (zh_CN)'), 'display' => false),