1、Zabbix简介:php
1、zabbix的概述html
Zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix能监视各类网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各类问题。Zabbix主要由2部分构成,分别是zabbix server端(一个)与zabbix agent端(多个)。它支持多种监控方式:agent(被动模式),agent(主动模式),snmp,ipmi,jmx等。前端
agent端:主机经过安装agent方式采集数据。java
server端:经过收集agent发送的数据,写入数据库(MySQL,ORACLE等),再经过php+apache在web前端展现.mysql
监控系统的基本模型:linux
2、zabbix的运行条件c++
server端:zabbixserver需运行在LAMP(Linux+Apache+Mysql+PHP)环境下(或者LNMP),对硬件要求低。web
agent端:目前已有的agent基本支持市面常见的OS,包含Linux、HPUX、Solaris、Sun、windows。sql
3、Zabbix的功能数据库
zabbix具有常见的商业监控软件所具有的功能,如主机的性能监控、网络设备性能监控、数据库性能监控、多种告警方式、详细的报表图表绘制等等。
另外zabbix还有如下特色:
a、支持自动发现网络设备和服务器(能够经过配置自动发现服务器规则来实现);
b、编写插件容易,能够自定义监控项,报警级别的设置;
c、支持snmp(包括trappingandpolling),IPMI,JMX,SSH,TELNET;
d、定义的检测,自定义收集数据的频率;
e、灵活的触发器,高可定制的报警,发送通知,可定制的报警升级,收件人;
f、实时的绘图功能,监控项实时的将数据绘制在图形上面;
zabbix的监控项目
主机监控:CPU、内存、磁盘的剩余空间/利用率和I/O、SWAP使用率、、进程数。
网卡监控:网卡流量,包括流入/流出量和错误的数据包数。
应用程序:端口和内存使用率、CPU使用率、服务状态、请求数、并发链接数、消息队列的字节数、Client事务处理数、Service状态等。
硬件:温度、风扇转速、电压等。
4、zabbix的一些名词解释
项目(item) 定义收集被监控的数据的项,如收集被监控机内存使用状况
触发器(trigger) 经过项目得到的数据(或者经过计算)来判断主机状态的定义
图形(graph) 经过项目得到数据,以图形方式展现
模板(template) 可将项目,集合,触发器,图形汇总为一个模板,直接连接到主机
主机(host) 被监控对象,服务器或其余网络设备
低级自动发现(low_discovery) 经过低级自动发现能够简单定义一种类型有多个项的的状况,如:对磁盘容量监控,一般磁盘会有多个分区,咱们经过一次定义能够监控磁盘上的全部分区
最新数据
(last data) 可查看主机项目得到的最新数据
键值(key) 在配置项目时用到的重要参数,能够看作是一种映射关系,监控程序经过配置此参数来完成对特定数据的获取
2、Zabbix的安装
zabbix服务器(server端)运行的环境必须为Linux(UNIX)+PHP+Web Service+DataBase,这里的Web Service能够为Nginx、Apache,DataBase能够为MySQL、Oracle、PostgreSQL等。因此在安装server端的时候必须先配置LAMP环境。
咱们这采用在CentOS6.5操做系统下,以 Apache做为服务器,Mysql作数据库进行存储。
环境:
CentOS 6.5 zabbix版本:2.4.4
server ip: 192.168.212.2 被监控端ip: 192.168.212.3
服务端的操做
一、 服务器安装LAMP平台
yum -y install gcc gcc-c++ autoconf httpd php mysqlmysql-server php-mysql httpd-manual mod_ssl mod_perl mod_auth_mysql php-gdphp-xml php-mbstring php-ldap php-pear php-xmlrpc php-bcmathmysql-connector-odbc mysql-devel libdbi-dbd-mysql net-snmp-devel curl-devel unixODBC-develOpenIPMI-devel java-devel libssh2-devel openldap openldap-devel
二、 启动mysql和http服务
service httpd restart; chkconfig httpd on; service mysqld start; chkconfig mysqldon;
三、 下载zabbix-server并安装
a、 下载并解压
#wget #tar -zxf zabbix-2.4.4.tar.gz
b、建立zabbix运行须要的用户
#groupadd zabbix; #useradd zabbix -g zabbix
c、建立数据库并受权
1) 进入mysql数据库;
#mysql -uroot -p
2) 建立zabbix数据库,并设置为UTF8编码;
mysql>createdatabase zabbix character set utf8;
3) 把全部zabbix数据库中的表的操做权限赋予zabbix用户,密码为zabbix;
mysql>grantall on zabbix.* to zabbix@localhost identified by 'zabbix';
d、导入zabbix自定义的表结构和数据
1) 进入zabbix自带mysql 数据库文件目录;
cd zabbix-2.4.4/database/mysql
2) 把zabbixserver自带的3个数据库导入zabbix数据库;
mysql -uzabbix -pzabbix zabbix< schema.sql mysql -uzabbix -pzabbix zabbix< p_w_picpaths.sql mysql -uzabbix -pzabbix zabbix< data.sql
e、编译安装zabbix-server
# cd zabbix-2.4.4
./configure --prefix=/usr/local/zabbix --enable-server--enable-proxy --enable-agent --enable-ipv6 --with-mysql=/usr/bin/mysql_config--with-net-snmp --with-libcurl --with-openipmi --with-unixodbc --with-ldap--with-ssh2 --enable-java
f、服务端口定义
#vim /etc/services 追加如下内容 zabbix-agent10050/tcp #zabbixagent zabbix-agent10050/udp #zabbixagent
g、 修改zabbix的配置文件
#vim/usr/local/zabbix/etc/zabbix_server.conf LogFile=/tmp/zabbix_server.log ##日志位置,根据需求修改; PidFile=/tmp/zabbix_server.pid ##PID所在位置 DBHost=localhost ##服务器为本机 DBName=zabbix ##数据库名称 DBUser=zabbix ##数据库用户名 DBPassword=zabbix ##数据库密码 DBSocket=/var/lib/mysql/mysql.sock ##修改MYSQL路径
h、添加并修改启动脚本
#cp zabbix-2.4.4/misc/init.d/fedora/core/zabbix_server /etc/init.d #chmod +x /etc/init.d/zabbix_server #vim /etc/init.d/zabbix_server BASEDIR=/usr/local/zabbix ##修改这个,zabbix的安装目录 CONFILE=$BASEDIR/etc/zabbix_server.conf ##添加这一行,定义配置文件位置 action$"Starting $BINARY_NAME: " $FULLPATH -c $CONFILE # service zabbix_serverstart #chkconfigzabbix_server on #cp -r zabbix-2.4.4/frontends/php /var/www/html/zabbix #chown -R apache:root /var/www/html/zabbix #vim /etc/php.ini date.timezone =Asia/Shanghai ##更改时区 post_max_size = 32M ##提交数据的最大值 max_execution_time= 300 ##php脚本的最长执行时间 max_input_time =300 ##php最长接受数据时间 #/etc/init.d/httpd reload
访问http://192.168.212.2/zabbix登录测试,默认帐号admin,密码zabbix
更改语言为中文Profile—Language---Chinese(zh CN)
建议用英文,中文翻译的不许确。
客户端的操做:
Agented的监控方式(被动模式)
一、 下载agent压缩包
wget http://www.zabbix.com/downloads/2.4.4/zabbix_agents_2.4.4.linux2_6.amd64.tar.gz
二、 建立zabbix的工做目录
mkdir /usr/local/zabbix
三、 把下载好的压缩文件解压到工做目录;
tar -zxf zabbix_agents_2.4.4.linux2_6.amd64.tar.gz -C /usr/local/zabbix
四、 修改配置文件
#vim/usr/local/zabbix/conf/zabbix_agentd.conf LogFile=/tmp/zabbix_agentd.log ##配置日志文件路径 #Server=192.168.212.2 ##agentd被动模式服务器IP Hostname=Zabbix server ##在zabbix server配置host时指定的主机名要相同,这样主动模式才能获取到数据
注:使用主动模式时,StartAgents设为0,关闭被动模式!
五、 修改启动脚本
下载的agent安装包里面没有启动脚本,但在192.168.212.2的zabbix 源码包里有
scp zabbix-2.4.4/misc/init.d/fedora/core/zabbix_agentd 192.168.212.3:/etc/init.d/ # chmod +x/etc/init.d/zabbix_agentd # vim /etc/init.d/zabbix_agentd BASEDIR=/usr/local/zabbix ##修改成agent的安装目录,添加如下两行 CONFILE=$BASEDIR/conf/zabbix_agentd.conf action $"Starting $BINARY_NAME: "$FULLPATH -c $CONFILE #groupadd zabbix
在服务端测试可否监控到客户端
[root@zabbix~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.212.3-k"system.hostname" Client
至此,zabbix的服务端及客户端agent主动模式的安装已经完毕。