Zabbix简介

  zabbix是一个基于web界面提供分布式系统监控及其网络监控功能的企业级开源项目解决方案,zabbix能监视各种网络参数,保证服务器系统的安全运行稳定运营,并提供灵活的通知机制以让管理员快速定位并解决存在的各种问题。

  zabbix有两种部分组成,分别是[zabbix server]、[zabbix agent]

  zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。

zabbix的主要特点



- 安装与配置简单,学习成本低
- 支持多语言(包括中文)
- 免费开源
- 自动发现服务器与网络设备
- 分布式监视以及WEB集中管理功能
- 可以无agent监视
- 用户安全认证和柔软的授权方式
- 通过WEB界面设置或查看监视结果
- email等通知功能



Zabbix主要功能



- CPU负荷
- 内存使用
- 磁盘使用
- 网络状况
- 端口监视
- 日志监视
- 安全监控
- 日志监控
- 业务监控
- 流量分析
- 自动化监控



Zabbix监控原理

Zabbix 通过C/S 模式采集数据,通过B/S模式在web 端展示和配置。

被监控端:主机通过安装agent 方式采集数据,网络设备通过SNMP 方式采集数据

监控端:通过收集SNMP 和agent 发送的数据,写入数据库(MySQL,ORACLE 等),再通过php+apache 在web 前端展示。 

zabbix特点



2、自动化监控,自动化监控工具,支持多变量,支持low level  discovery(lld低水平自动发现),可批量管理监控



3、自动化监视,注册主机,自动添加模板、分组,自动化运维利器,可以搭配puppet(集中配置管理系统)&zabbix使用,还有一个saltstack(管理工具允许管理员对多个操作系统创建一个一致的管理系统)&zabbix



4、报警触发器,多重判断机制,多种监控方式,snmp,agentd,ipmi,jmx等



Agent:目前已有的agent 基本支持市面常见的OS,包含Linux、HPUX、Solaris、Sun、
windows
SNMP:支持各类常见的网络设备
SNMP(Simple Network Management Protocol,简单网络管理协议



试用环境

中小规模(服务器<=1k):Zabbix/cacti
大规模(1k>=服务器<=10k):Nagios二次开发
超大规模(服务器>=10k):自开发监控系统

 Nagios(开源软件)

Zabbix(开源商业软件)


Cloud lnsight (不开源免费)


zabbix监视linux 磁盘IO zabbix监控linux磁盘空间_数据库

Zabbix主控端配置

需要搭建LAMP环境,详见其他博客,本次试用yum安装LAMP环境,配置ip地址[192.168.1.1]和yum环境,注意关闭selinux

 1、YUM安装简单的LAMP环境



[root@localhost ~]# yum -y install gcc mysql-server mysql-devel libcurl-devel net-snmp-devel php php-gd php-xml php-mysql httpd



 安装php-bcmath,php-mbstring



[root@localhost ~]# rpm -ivh php-bcmath-5.3.3-22.el6.x86_64.rpm  --nodeps 
[root@localhost ~]# rpm -ivh php-mbstring-5.3.3-22.el6.x86_64.rpm  --nodeps



 2、安装Zabbix

创建一个zabbix的用户



[root@localhost ~]# useradd -u 66 zabbix



 解压配置编译安装



[root@localhost ~]# tar -zxvf zabbix-2.2.6.tar.gz -C /usr/src/ 
[root@localhost ~]# cd /usr/src/zabbix-2.2.6/ 
[root@localhost ~]#  ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent 
            --withnet-snmp --with-libcurl --enable-proxy --with-mysql=/usr/bin/mysql_config 
            && make && make install



 软连接优化



[root@localhost ~]# ln -s /usr/local/zabbix/bin/* /usr/local/bin/ 
[root@localhost ~]# ln -s /usr/local/zabbix/sbin/* /usr/local/sbin/



 添加服务配置文件的prot



[root@localhost ~]# vim /etc/services 
添加: 
zabbix-agent 10050/tcp Zabbix Agent 
zabbix-agent 10050/udp Zabbix Agent 
zabbix-trapper 10051/tcp Zabbix Trapper 
zabbix-trapper 10051/udp Zabbix Trapper



 修改配置文件



[root@localhost ~]# vim /usr/local/zabbix/etc/zabbix_server.conf 
修改: 
DBName=zabbix    //数据库名称 
DBUser=zabbix    //数据库用户名 
DBPassword= 123.com   //数据库密码 
ListenIP=127.0.0.1   //数据库 ip 地址
AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts  //警告路径



 修改agentd配置文件,因为本服务器也需要被监控



[root@localhost ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf 
修改:
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/ 
UnsafeUserParameters=1



 拷贝启动脚本



[root@localhost ~]# cp /usr/src/zabbix-2.2.6/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/ 
[root@localhost ~]# cp /usr/src/zabbix-2.2.6/misc/init.d/fedora/core/zabbix_server /etc/init.d/ 
 
[root@localhost ~]# vim /etc/init.d/zabbix_server 
修改: 
BASEDIR=/usr/local/zabbix/ 
vim /etc/init.d/zabbix_agentd 
修改: 
BASEDIR=/usr/local/zabbix/   //需要指定路径



赋予执行权限



[root@localhost ~]# chmod +x /etc/init.d/zabbix_agentd  
[root@localhost ~]# chmod +x /etc/init.d/zabbix_server



 分别开启服务并添加为系统服务



[root@localhost ~]# /etc/init.d/zabbix_agentd start 
[root@localhost ~]# /etc/init.d/zabbix_server star
[root@localhost ~]# chkconfig --add zabbix_agentd 
[root@localhost ~]# chkconfig zabbix_server on 
[root@localhost ~]# chkconfig --add zabbix_server 
[root@localhost ~]# chkconfig zabbix_agentd on



 3、配置php



[root@localhost ~]# vim /etc/php.ini 
修改: 
max_execution_time = 300       //最大执行时间
max_input_time = 300         //最大输入时间
post_max_size = 16M        //限定上传最大空间
date.timezone = Asia/Shanghai  //指定区时,注意大小写



 4、配置httpd



[root@localhost ~]# vim  /etc/httpd/conf/httpd.conf 
修改: DirectoryIndex index.php index.html index.html.var    //使其支持php
 
[root@localhost ~]# cp -r /usr/src/zabbix-2.2.6/frontends/php/ /var/www/html/zabbix    //zabbix的网页复制到httpd下
[root@localhost ~]# chown -R apache:apache /var/www/html/zabbix/                       //权限
[root@localhost ~]# service httpd restart 
[root@localhost ~]# chkconfig --add httpd 
[root@localhost ~]# chkconfig httpd on       //重启服务使其生效,添加为系统服务



 5、配置MySQL



[root@localhost ~]# service mysqld restart 
[root@localhost ~]# chkconfig --add mysqld 
[root@localhost ~]# chkconfig mysqld on 
[root@localhost ~]# mysqladmin  -u root password '123.com'   //设置一个秘密
[root@localhost ~]# mysql -u root -p123.com



创建库:
Mysql>create database zabbix default character set utf8;    //指定字符集是utf-8
Mysql>grant all privileges on zabbix.* to zabbix@localhost identified by '123.com';



[root@localhost ~]# mysql -u zabbix -p zabbix < /usr/src/zabbix-2.2.6/database/mysql/schema.sql  
[root@localhost ~]# mysql -u zabbix -p zabbix < /usr/src/zabbix-2.2.6/database/mysql/images.sql  
[root@localhost ~]# mysql -u zabbix -p zabbix < /usr/src/zabbix-2.2.6/database/mysql/data.sql    //导入数据库,注意导入顺序按照这个顺序,然后输入password



 6、验证zabbix



[root@localhost ~]# firefox http://192.168.1.1/zabbix &



出现zabbix的安装网页就说明成功,如果没有仔细检查或重启服务

Zabbix被控端安装配置



[root@localhost ~]# hostname cheney    //更改主机名
[root@localhost ~]# bash        //使其生效
[root@cheney ~]# useradd -u 66 zabbix



[root@cheney ~]# tar -zxvf zabbix-2.2.6.tar.gz -C /usr/src/ 
[root@cheney ~]# cd /usr/src/zabbix-2.2.6/ 
[root@cheney ~]#./configure --prefix=/usr/local/zabbix --enable-agent make && make install  //因为是被控端,之安装配置agent 
[root@cheney ~]# ln -s /usr/local/zabbix/sbin/* /usr/local/sbin/ 
[root@cheney ~]# ln -s /usr/local/zabbix/bin/* /usr/local/bin/     //路径优化



修改配置文件



[root@cheney ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf 
修改: 
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/    //去掉 lnclude 的注释并修改路径 
UnsafeUserParameters=1                         //“0”改为“1”,启用自定义 key 
Server=192.168.1.1                            //主控服务器 IP(zabbix 服务器的 IP) 
ServerActive=192.168.1.1                       //主控服务器 IP(zabbix 服务器的 IP) 
Hostname=cheney                        //受控端主机名



添加服务port到结尾



[root@cheney ~]# vim /etc/services 
添加: 
zabbix-agent     10050/tcp   Zabbix Agent 
zabbix-agent     10050/udp   Zabbix Agent 
zabbix-trapper   10051/tcp   Zabbix Trapper 
zabbix-trapper   10051/udp   Zabbix Trapper



拷贝启动脚本并赋予执行权限



[root@cheney ~]# cp /usr/src/zabbix-2.2.6/misc/init.d/fedora/core/zabbix_agentd /etc/rc.d/init.d/zabbix_agentd 
[root@chenye ~]# chmod +x /etc/rc.d/init.d/zabbix_agentd[root@www ~]# /etc/rc.d/init.d/zabbix_agentd restart 
[root@cheney ~]# chkconfig --add zabbix_agentd 
[root@cheney ~]# chkconfig zabbix_agentd on



修改配置文件



[root@cheney ~]# vim /etc/rc.d/init.d/zabbix_agentd 
修改: 
BASEDIR=/usr/local/zabbix               //改为zabbix的安装路径



3、在网页中安装Zabbix(主控端)

注意事项:1.第二页的配置信息需要全部“OK”才可以进行后面的操作;

     2.User和password分别为我们创建的zabbix&zabbix



Database:MySQL 
Database host:127.0.0.1 
Database port:use default port 
Database name:zabbix 
User:zabbix 
Password:zabbix



            3.Test connection   #测试数据库连接是否正常,显示 ok 表示通过

       4.后面默认,Finish 安装完成

4、中文支持



[root@localhost ~]# vim /var/www/html/zabbix/include/locales.inc.php #编辑修改
             'zh_CN' => array('name' => _('Chinese (zh_CN)'), 'display' => false),
          修改为 'zh_CN' => array('name' => _('Chinese (zh_CN)'), 'display' => true),



替换监控图像上系统默认的字体 #默认字体不支持中文,如果不替换,图像上会显示乱码 在 Windows 系统中的 C:\Windows\Fonts 目录中复制出一个中文字体文件,例如 msyh.ttf 把字体文件 msyh.ttf 上传到 zabbix 站点根目录下 fonts 文件夹中 例如:/var/www/html/zabbix/fonts 备份默认的字体文件:DejaVusSans.ttf_bak 修改 msyh.ttf 名称为 DejaVusSans.ttf

登录zabbix账号:admin     密码:zabbix  (默认),登录后点击右上角的Profile --  Language:Chinese(zh_CN)  //选择中文选项  保存后就是中文界面