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特点
1、分布式监控系统,分为node,proxy两种模式windows
SNMP:支持各类常见的网络设备
SNMP(Simple Network Management Protocol,简单网络管理协议
试用环境
中小规模(服务器<=1k):Zabbix/cacti
大规模(1k>=服务器<=10k):Nagios二次开发
超大规模(服务器>=10k):自开发监控系统
Nagios(开源软件)
Zabbix(开源商业软件)
Cloud lnsight (不开源免费)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:WindowsFonts 目录中复制出一个中文字体文件,例如 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) //选择中文选项 保存后就是中文界面