Zabbix简介

Zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix能监视各种网络参数,保证服务器系统 的安全运营;并提供柔软的通知机制以让系统管理员快速定位/解决存在的各种问题。zabbix由2部分构成,zabbix server与可选组件zabbix agent。zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux, Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X等平台上。zabbix agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。zabbix agent可以运行在Linux ,Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X, Tru64/OSF1, Windows NT4.0, Windows 2000/2003/XP/Vista)等系统之上。zabbix server可以单独监视远程服务器的服务状态;同时也可以与zabbix agent配合,可以轮询zabbix agent主动接收监视数据(trapping方式),同时还可被动接收zabbix agent发送的数据(trapping方式)。另外zabbix server还支持SNMP (v1,v2),可以与SNMP软件(例如:net-snmp)等配合使用。

Zabbix特点

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

Zabbix主要功能

  1. CPU负荷   
  2. 内存使用   
  3. 磁盘使用   
  4. 网络状况   
  5. 端口监视   
  6. 日志监视

安装fping

由于 zabbix 使用 fping 替代了 ping 作为 icmp 的工具,所以要安装 fping 
可以从 http://fping.sourceforge.net/ 上下载 fping 的源代码,解压编译安装。

fping是加强版的ping工具,可以同时ping多个主机。

fping的官网是:http://www.fping.com

  1. wget http://fping.sourceforge.net/download/fping.tar.gz
  1. tar -xvf /nfs/pkg/fping.tar.gz
  1. cd fping-2.4b2_to/
  1. ./configure
  1. make && make install

安装完毕后,一起就2个文件:

  1. /usr/local/sbin/fping #执行文件
  2. /usr/local/man/man8/fping.8 #man文件

设置fping权限:

  1. chown root:zabbix /usr/local/sbin/fping
  1. chmod 710 /usr/local/sbin/fping
  1. chmod ug+s /usr/local/sbin/fping

然后再安装traceroute:

  1. yum install traceroute -y

Zabbix安装

  1. ①环境
  1. 1)关闭iptables
  1. [root@k zabbix]# iptables -F
    [root@k zabbix]# /etc/init.d/iptables save
  1.  
  1. 2)关闭selinux
  1.  
  1. 编辑文件/etc/sysconfig/selinux
  2. 将设置
  3. SELINUX=enforcing
  4. 修改为:
  5. SELINUX=disabled
  1. 3)安装相关依赖包
  1. yum -y install gcc mysql-server httpd php php-mysql php-gd php-bcmath php-xml php-mbstring mysql-devel php-snmp net-snmp-devel net-snmp net-snmp-utils OpenIPMI-devel curl-devel
  1. ②下载解压
  2. tar xvf zabbix-2.4.5.tar.gz -C /usr/local
  3. 增加zabbix用户和组
  4. groupadd zabbix
  5. useradd zabbix -g zabbix -s /sbin/nologin
  6. ③配置zabbix数据库
  7. 启动MySQL数据库:
  8. service mysqld start
  9. 修改MySQL root用户密码(默认密码为空)
  10. mysqladmin u root p password 123456
  11. 进入数据库:
  12. mysql -u root -p
  13. mysql> create database zabbix default charset utf8;
    mysql> grant all on zabbix.* to zabbix@'localhost' identified by '123456';
    mysql> grant all on zabbix.* to zabbix@'127.0.0.1' identified by '123456';
    mysql> flush privileges; (刷新权限配置)
  1. quit
  1. 导入表和数据:
  2. cd /usr/local/zabbix-2.4.5/database/mysql
  3. mysql -u zabbix -p123456 zabbix< schema.sql (将zabbix中的mysql.sql文件重定向到zabbix数据库中)
  1. mysql -u zabbix -p123456 zabbix < images.sql (有先后顺序)
  1. mysql -u zabbix -p123456 zabbix < data.sql
  1. ④编译安装zabbix
  1.  
  1. cd /usr/local/zabbix-2.4.5;
  1. ./configure --sysconfdir=/etc/zabbix --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --with-libcurl --with-net-snmp --with-openipmi
  1. make && make install
  1. 配置文件
  1. vi /etc/zabbix/zabbix_server.conf 修改如下:
  1. DBName=zabbix <---zabbix使用的数据库
  2. DBUser=zabbix <---zabbix连接mysql所使用的用户名
  3. DBPassword=123456 <----zabbix连接mysql所使用的密码
    DBSocket=/var/lib/mysql/mysql.sock <---如果链接的是本机的数据库,必须确定socket路径正确
  1. FpingLocation=/usr/local/sbin/fping <---修改默认的icmp工具为fping
  1.  
  1. vi /etc/zabbix/zabbix_agentd.conf
  1. Server=192.168.66.16 <----指向zabbix服务器的ip
  1. ServerActive=192.168.66.16 <----指向zabbix服务器的ip
  1. Hostname=192.168.66.16 <---本机(zabbix客户端)的hostname或者ip

添加web前端php文件

  1. cd /usr/local/zabbix-2.4.5/frontends/
  1. cp -rf php /var/www/html/zabbix
  1. chown -R zabbix:zabbix /var/www/html/zabbix
  1. web前端安装配置
  1. vi /etc/php.ini 修改php相关参数
  2. max_execution_time = 600
  3. max_input_time = 600
  4. date.timezone = Asia/Shanghai
  5. post_max_size = 32M
  6. memory_limit = 256M
  7.  
  8. vi /etc/httpd/conf/httpd.conf
  9. DirectoryIndex index.php index.html
  10. # LoadModule foo_module modules/mod_foo.so
  11. LoadModule php5_module modules/libphp5.so

启动服务

  1. /etc/init.d/httpd start
  2. /etc/init.d/mysqld start
  3. /usr/local/zabbix/sbin/zabbix_server start
  1. /usr/local/zabbix/sbin/zabbix_agentd start
  1.  

配置Zabbix服务器端

  1. 在本地浏览器上访问Zabbis Serve地址开始web前端配置,http://192.168.66.16/zabbix 按提示一步步next,其中Step 3 Check of pre-requisites 必须全部项目OK后
  2. 才能继续配置,如有提示fail,去server上检查是否安装这个包或配置是否按上述更改。共需6步,如下图:
  1. a) 进入安装界面点击Next

  1. b) 确保所有的监测项都是OK,点击Next

  1. c) 填写zabbix数据库的用户名、密码、地址等信息,点击Test connection,OK后点击Next

  1. (上图中 Database name 为前面创建的数据库名,User为前面创建的连接MySQL的数据库用户zabbixPassword为前面创建的连接MySQL数据库所使用的密码,本实验所使用的密码为123456Test connection必须OK 才能进行下一步)
  1. d) 填写zabbix服务器的信息,主机名,server程序监听的的端口,主机IP地址等,如果serverweb在一台服务器上保持默认即可,点击Next

  1. e) 确认前面几部填写的信息没有问题的话点击Next

  1. f) 检查web程序的config文件,如果没问题会显示OK,直接点击finish即可完成安装(如果此处有问题一般是zabbix虚拟主机目录文件的权限问题,上面已经有设置的过程一般不会出现问题)

  1. 如果出现下图的错误,则按照其提示操作即可(点击

  1. 按钮下载配置文件,将下载后的文件拷贝到/var/www/html/zabbix/conf/下,改名为zabbix.conf.php,在修改文件的相关拥有者为zabbix{命令 chown zabbix.zabbix /var/www/html/zabbix/conf/zabbix.conf.php},在点击Retry按钮,变成上图所示后点击Finish即安装成功了)

  1. 如果因为手误,数据库密码或者用户名等的填写错了,后面会一直报错,我们可以手动的去编辑配置文件vim /var/www/html/zabbix/conf/zabbix.conf.php 手动定义相关的参数即可
   g) 进入登录界面点击登录,默认账号密码为admin / zabbix
h) 添加监控项
     进入Configuration -》Hosts 选择 Zabbix Server 然后 Activate Select,Zabbix Server (本机)的监控激活。进入 Monitoring Dashboard,可以看到 Zabbix Server 的监控结果(这必须保持zabbix_agentd.conf配置文件为默认才会生效);有一点要注意:agent端配置好之后,添加host,需要添加模板才会显示绿色成功连接哟。
新建监控项:
1) 进入Configuration -》Hosts 选择按钮
2)执行第一步操作后,会进入下图所示界面,修改红色部分的内容为agent端的ip地址,其中Host name处的值必须与agent端zabbix_agentd.conf里面的值相同
3)添加模板(必须添加相关模板后,才能获取到监控数据),点击上图中的选项,会进入到下图所示界面
4)点击上图中的select选项就会将zabbix所有的模板列出来,选择需要添加的模板后,在点击add选项添加模板,最后点击Update按钮即完成了监控的添加。
 
 
 
zabbix客户端的配置:
最好保持服务器时间同步

通过root用户解压、编译及安装

  1. tar -xvf /nfs/pkg/zabbix-2.0.3.tar.gz;cd zabbix-2.0.3
  2. ./configure --prefix=/usr/local/zabbix/ --sysconfdir=/etc/zabbix/ --enable-agent
  3. make
  4. make install

为了便于监控IO,安装上sysstat,执行如下命令:

  1. yum install sysstat -y
  1. sed -i s/10.71.xx.xx/$HOST_IP/g /etc/zabbix/zabbix_agentd.conf
  2.  
  3. 将配置文件/etc/zabbix/zabbix_agentd.conf中的
  4. Hostname= 10.71.xx.xx
  5. 修改成现在主机的IP,例如241
  6. Hostname=$HOST_IP
  7. DisableActive=0修改为#DisableActive=0
  8. ServerPort=10051修改为#ServerPort=10051

添加计划任务,收集监控数据:

  1. 执行命令:
  2. crontab -e -u zabbix
  3. 加入:
  4. # run zabbix data gathering for custom checks every min
  5. */3 * * * * /usr/bin/sudo /etc/zabbix/scripts/zabbix_tomcat_cron.sh > /dev/null 2>&1
  6. * * * * * /etc/zabbix/scripts/zabbix_vmstat_cron.sh > /dev/null 2>&1
  7. * * * * * /etc/zabbix/scripts/zabbix_iostat_cron.sh > /dev/null 2>&1
  8. * * * * * /etc/zabbix/scripts/zabbix_tcpConStat_cron.sh > /dev/null 2>&1
  9. * * * * * /usr/bin/sudo /etc/zabbix/scripts/zabbix_fileSocket_cron.sh > /dev/null 2>&1
  10. * * * * * /etc/zabbix/scripts/zabbix_DbConnStat_cron.sh > /dev/null 2>&1
  1. 设置一些特殊脚本的权限:
  1. 执行如下命令:
  2. visudo
  3. 修改
  4. Defaults requiretty

  5. #Defaults requiretty
  6.  
  7. 并加入:
  8. Cmnd_Alias SU = /bin/su -
  9. Cmnd_Alias SUWWW = /bin/su - www
  10. xujing ALL=(root) NOPASSWD: SU,SUWWW,SERVICES
  11. Cmnd_Alias FILESOCKET = /etc/zabbix/scripts/zabbix_fileSocket_cron.sh,/etc/zabbix/scripts/zabbix_tomcat_cron.sh,/etc/zabbix/scripts/file_socket.sh,/usr/bin/sudo,/bin/su,/bin/kill
  12. zabbix ALL=(root) NOPASSWD: FILESOCKET
  1. 设置开机启动服务:
  1. 执行如下命令:
  2. cp /nfs/script/zabbix_agentd /etc/init.d/
  3. chmod +x /etc/init.d/zabbix_agentd
  4. chkconfig --add zabbix_agentd
  5. chkconfig zabbix_agentd on
  1. 启动zabbix_agentd:
  1. 执行如下命令:
  2. /etc/init.d/zabbix_agentd start
  1. 检查日志确认启动无异常:
  1. tail -100 /tmp/zabbix_agentd.log
  2. 220.web.lg-9-8.zwc.com<2013-04-21 01:26:10> ~/zabbix-2.0.3
  3. root># tail -100 /tmp/zabbix_agentd.log
  4. 19506:20130421:012610.832 Starting Zabbix Agent [10.0.0.220]. Zabbix 2.0.3 (revision 30485).
  5. 19507:20130421:012610.832 agent #0 started [collector]
  6. 19509:20130421:012610.833 agent #1 started [listener]
  7. 19510:20130421:012610.833 agent #2 started [listener]
  8. 19511:20130421:012610.834 agent #3 started [listener]
  1.  

Zabbix Proxy服务器安装配置

zabbix支持分布式监控,通过zabbix_proxy部署,将一集中区域的监控数据收集并转发到Zabbix Server。原理如图:

  1.  

安装前准备

创建zabbix用户:

  1. groupadd zabbix -g 504;useradd zabbix -u 504 -g zabbix

安装依赖软件包:

  1. yum install -y net-snmp-devel curl-devel mysql-devel traceroute net-snmp-utils OpenIPMI-devel

创建运行时需要的相关目录,并配置好权限:

  1. mkdir /var/log/zabbix;chown -R zabbix.zabbix /var/log/zabbix/mkdir /var/run/zabbix; chown -R zabbix.zabbix /var/run/zabbix/

另外还需要准备一个mysql数据库以存储zabbix_proxy收集的监控数据。

安装

编译安装fping

  1. 参考编译安装fping

编译安装zabbix_proxy

  1. tar -zxvf zabbix-1.8.10.tar.gz;cd zabbix-1.8.10./configure --prefix=/usr/local/zabbix --enable-agent --with-mysql --with-libcurl --with-net-snmp --with-openipmimake make install

配置

启动脚本

常见问题

zabbix 图片乱码解决

  1. 1.上传本地windown系统的C:\WINDOWS\Fonts\simhei.ttf文件到zabbixweb目录的zabbix/fonts下.
  2. 2.vi zabbix/include/defines.inc.php把所有的DejaVuSans替换成simhei
  1.  

zabbix 模版

  1. 官方配置有很多的模版,参考http://www.zabbix.com/

Centos 源码安装zabbix 2.4.5的更多相关文章

  1. 源码安装zabbix

    源码安装zabbix 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.     欢迎加入:高级运维工程师之路 598432640 前言:参考网上多篇源码安装的连接,自己把安装过程丢在这 ...

  2. CentOS源码安装QT

    在VirtualBox上的CentOS下安装qt-everywhere-opensource-src-4.8.4 ,执行 ./confiure时失败,失败信息为:Basic XLib function ...

  3. 以源码安装的lamp环境为依托,源码安装zabbix监控系统

    1.源码安装lamp环境 1)安装httpd, 以源码httpd-2.4.33为基础,解压后,执行./configure --prefix=/usr/local/ --sysconfdir=/etc/ ...

  4. CentOS Linux release 7.3源码安装zabbix

    CentOS Linux release 7.3安装zabbix 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 前言: 我去年用用centos6的环境搭建了一下 zabbix3.0 ...

  5. 简单说明CentOS源码安装程序

    第一步.安装依赖包.一般官网会有依赖关系,没有就网上搜索一下. 第二步.下载源码包,上传至CentOS服务器 第三步.解压缩 第四步.进入源码文件夹 第五步.执行./configure,这一步主要是为 ...

  6. CentOS 源码安装MySQL5.7

    一.安装方式源码安装,源码包名称mysql-boost-5.7.27.tar.gz,此版本包含boost库,在解压后的boost路径下.安装时,可以-DDOWNLOAD_BOOST=1 -DWITH_ ...

  7. CentOS源码安装Wireshark

    (2019年2月19日注:这篇文章原先发在自己github那边的博客,时间是2016年8月25日) Wireshark为网络管理员常用的一个网络管理工具,通过使用这个软件,我们可以对本机网卡上的经过的 ...

  8. CentOS6源码安装zabbix服务器

    1.下载安装包并解压 2.预环境搭建 3.创建zabbix用户,编译安装zabbix 4.配置mysql 5.配置zabbix-server 6.配置apache和php 7.添加开机自启动 1 yu ...

  9. linux(centos)源码安装git

    最近使用一个开源库,部署的的时候需要用git克隆依赖库.刚好系统没安装git.就尝试了源码安装git. 源码下载地址:http://codemonkey.org.uk/projects/git-sna ...

随机推荐

  1. 从零开始山寨Caffe·陆:IO系统(一)

    你说你学过操作系统这门课?写个无Bug的生产者和消费者模型试试! ——你真的学好了操作系统这门课嘛? 在第壹章,展示过这样图: 其中,左半部分构成了新版Caffe最恼人.最庞大的IO系统. 也是历来最 ...

  2. matlab 求解线性方程组之范数

    1.赋范线性空间和内积空间 在线性代数的初级教材里,一般是在向量空间中定义内积,然后再由内积来导出范数,比如在n维实向量空间中: |x||=√<x,x> 在线性代数的高级教材中,一般是将内 ...

  3. tomcat -ROOT 与webapps 的关系,关于部署的一些问题

    现象:之前遇到很奇怪的问题,发完版之后没有效果,页面还是读取上一版的. 反复查找原因发现  http://localhost:8080/mobie 这个路径下的页面是正常的, 而  http://lo ...

  4. IIS 连接 oracle报Oracle.DataAccess版本错误解决办法

    通过IIS连接oracle时报“Could not load file or assembly 'Oracle.DataAccess, Version=2.112.3.0, Culture=neutr ...

  5. 【Python】引用计数

    一.概述 要保持追踪内存中的对象,Python使用了引用计数这一简单的技术. 二.引用计数的增减 2.1 增加引用计数 当对象被创建并(将其引用)赋值给变量时,该对象的引用计数被设置为1. 对象的引用 ...

  6. 1001. A+B Format (20)

    原题连接:https://www.patest.cn/contests/pat-a-practise/1001 题目如下: Calculate a + b and output the sum in ...

  7. Devexpress treeList

    1.数据绑定最基本的两个属性:KeyFieldName和ParentFieldName. SELECT OfficeID,OfficeName,ParentOfficeID FROM tOffice ...

  8. 下载判断Android和iOS

    //下载 function down(){ var url = ''; var u = navigator.userAgent, app = navigator.appVersion; var isA ...

  9. 协议分析 - DHCP协议解码详解

    协议分析 - DHCP协议解码详解 [DHCP协议简介]         DHCP,全称是 Dynamic Host Configuration Protocol﹐中文名为动态主机配置协议,它的前身是 ...

  10. App测试

    (1)App独特测试点: 客户端兼容性测试:系统版本.不同深度定制的rom.屏幕分辨率.中断测试.安装.卸载.升级.对其他程序的干扰等 需要的一些工具: appnium / lr /  jmeter ...