【一】、zabbix简介

zabbix是一个基于web界面的提供分布式系统监视以及网络监视功能的企业级开元解决方案

zabbix由2部分构成,zabbix_server和可选组件zabbix_agent;

zabbix_server可以通过SNMP、zabbix_agent、ping、端口监视等方法提供对远程

服务器/网络状态的监视,收集数据等功能;

zabbix_server和zabbix_agent支持多种平台 Linux、BSD、Windows、MAC等

》项目(iterm):定义收集被监控的数据的项;如收集被监控机器的内存使用情况。

》集合(application):是一些项目的汇总,目录和文件的关系

》触发器(trigger):通过项目获得的数据来判断主机状态的定义

》图形(graph):通过项目来获得数据,以图形来展示

》模板(template):可以将项目、集合、触发器、图形汇总为一个模板,直接链接到一类主机来实现批量定义

》主机(host):被监控的对象、服务器、其他网络设备

》主机组(host group):一类的主机可以定义到一个主机组

》动作(action):触发器、自动发现或自动注册改变触发的动作

》自动发现(discovery):通过定义自动发现条件,配合动作批量添加主机

》自动注册(auto-registraion):agent想Server发送注册请求,server定义自动注册条件来批量添加主机

》低级自动发现(Low——discovery):简单定义一个类多个项,如:磁盘容量监控,监控磁盘所有的分区

》维护(maintenance):定义主机合适的维护状态

》拓扑图(map):可以主机直接的拓扑

》屏幕(screents):多种类型显示到一个screents里面

》IT服务(IT Service):有时一台主机宕掉可能不会影响到服务,IT服务可以定义容忍的限度

》仪表盘(dashboard):监视整体状态的显示

》总览(overview):显示所有机器的数据和触发器的状态

》web:定义场景监控的web服务器

》最新数据(last data):可查看主机项目获得的最新数据

》事件(Event):触发器状态改变的记录

【二】、安装zabbix_Server 

环境描述:

平台:CentOS6.4+Apache+MySQL+PHP

Zabbix版本:2.0.6

Zabbix_server IP:172.17.0.8

Zabbix_agent IP: 172.17.0.7

1、安装lamp环境

Zabbix Server是通过web界面来管理的,并且Zabbix Server收集到的数据是保存在MySQL中的,下面通过yum安装

  1. yum -y install gcc gcc-c++ autoconf httpd php mysql mysql-server php-mysql httpd-manual mod_ssl mod_perl mod_auth_mysql php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc php-bcmath mysql-connector-odbc mysql-devel libdbi-dbd-mysql net-snmp-devel curl-devel

2、启动服务,设置MySQL的密码

  1. service mysqld restart
  2. service httpd restart
  3. mysqladmin password redhat //设置MySQL的密码为redhat

3、创建zabbix运行所需的用户

  1. groupadd zabbix
  2. useradd zabbix -g zabbix

4、创建所需数据库和授权用户

  1. mysql -uroot -predhat
  2. mysql>create database zabbix character set utf8;
  3. mysql>grant all on zabbix.* to zabbix@localhost identified by 'redhat';
  4. mysql>flush privileges;
  5. mysql>quit

5、下载zabbix源码包编译安装

  1. wget http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.0.6/zabbix-2.0.6.tar.gz
  2. tar zxvf zabbix-2.0..tar.gz
  3. cd zabbix-2.0.
  4. ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl
  5. make && make install

6、导入zabbix定义的表结构和数据

  1. cd /root/zabbix-2.0./database/mysql/
  2. mysql -uzabbix -predhat zabbix < schema.sql
  3. mysql -uzabbix -predhat zabbix < images.sql
  4. mysql -uzabbix -predhat zabbix < data.sql

7、定义服务端口

  1. vim /etc/services ##末尾添加以下内容
  2.  
  3. zabbix-agent /tcp # Zabbix Agent
  4. zabbix-agent /udp # Zabbix Agent
  5. zabbix-trapper /udp # Zabbix Trapper
  6. zabbix-trapper /tcp # Zabbix Trapper

8、修改zabbix_server配置文件

  1. vim /usr/local/zabbix/etc/zabbix_server.conf
  2. LogFile=/tmp/zabbix_server.log //日志位置
  3. PidFile=/tmp/zabbix_server.pid //PID所在位置
  4. DBHost=localhost //本机名字
  5. DBName=zabbix //数据库名字
  6. DBUser=zabbix //数据库用户名
  7. DBPassword=redhat //数据库密码

9、安装拷贝启动脚本,添加可执行的权限

  1. cp misc/init.d/fedora/core/zabbix_server /etc/init.d/
  2. chmod +x /etc/init.d/zabbix_server

10、修改启动脚本,启动zabbix_server

  1. vim /etc/init.d/zabbix_server
  2. BASEDIR=/usr/local/zabbix //zabbix的安装位置
  3. CONFILE=$BASEDIR/etc/zabbix_server.conf //定义zabbix配置文件位置,可以通过"find / -name zabbix_server.conf"来查看
  4. #####搜素start这一项,修改启动选项####
  5. # functions
  6. start() {
  7. if [ $RUNNING -eq ]
  8. then
  9. echo "$0 $ARG: $BINARY_NAME (pid $PID) already running"
  10. else
  11. action $"Starting $BINARY_NAME: " $FULLPATH -c $CONFILE //这一行添加-c $CONFILE
  12. touch /var/lock/subsys/$BINARY_NAME
  13. fi
  14. }
  15.  
  16. wq保存退出,重启zabbix_server服务
  1. echo "/etc/init.d/zabbix_server start" >> /etc/rc.local
  1. service zabbix_server restart
  2.  

11、复制web代码到httpd配置的指定目录,默认是/var/www/html/

  1. cp -rp frontends/php /var/www/html/zabbix
  2. chown -R apache:root /var/www/html/zabbix/

12、修改php配置文件

  1. vim /etc/php.ini
  2. date.timezone = Asia/Chongqing //这里时间定义已重庆为主
  3. post_max_size =16M
  4. max_execution_time =
  5. max_input_time =

13、关闭Selinux开启防火墙端口

  1. setenforce //临时关闭
  2. iptables -I INPUT -p tcp --dport -j ACCEPT
  3. iptables -I INPUT -p tco --dport -j ACCEPT
  4. iptables -I INPUT -p tcp --dport -j ACCEPT
  5. iptables -I INPUT -p tcp --dport : -j ACCEPT
  6. service iptables save
  7.  
  8. 查看iptables
  9. [root@localhost create]# iptables -L -n --line
  10. Chain INPUT (policy ACCEPT)
  11. num target prot opt source destination
  12. ACCEPT tcp -- 0.0.0.0/ 0.0.0.0/ tcp dpts::
  13. ### //zabbix端口为10050/10051 可以通过netstat -antp | grep zabbix 查看 ###
  14. ACCEPT tcp -- 0.0.0.0/ 0.0.0.0/ tcp dpt:
  15. ACCEPT tcp -- 0.0.0.0/ 0.0.0.0/ tcp dpt:
  16. ACCEPT all -- 0.0.0.0/ 0.0.0.0/ state RELATED,ESTABLISHED
  17. ACCEPT icmp -- 0.0.0.0/ 0.0.0.0/
  18. ACCEPT all -- 0.0.0.0/ 0.0.0.0/
  19. ACCEPT tcp -- 0.0.0.0/ 0.0.0.0/ state NEW tcp dpt:
  20. REJECT all -- 0.0.0.0/ 0.0.0.0/ reject-with icmp-host-prohibited
  21.  
  22. Chain FORWARD (policy ACCEPT)
  23. num target prot opt source destination
  24. REJECT all -- 0.0.0.0/ 0.0.0.0/ reject-with icmp-host-prohibited
  25.  
  26. Chain OUTPUT (policy ACCEPT)
  27. num target prot opt source destination

14、访问http://serverip/zabbix 通过web界面来安装zabbix

  1. http://172.17.0.8/zabbix

#########zabbix安装完成后默认User:admin Password:zabbix#########

15、Web界面更改语言

###########这里是编译安装zabbix,如果嫌弃麻烦的话,此链接是跳转到yum安装zabbix的,相比下来yum还是比较简单的~!

CentOS 6.4 yum快速搭建Zabbix 2.2版本(中文)

URL:http://www.cnblogs.com/yangxiaofei/p/5434190.html

CentOS 6.4 yum快速搭建Zabbix 2.2版本(中文)

【三】、Linux安装zabbix_agent

Linux下安装zabbix_agent是在另一台被监控端安装的 IP:172.17.0.7

1、下载源码包

  1. wget http://www.zabbix.com/downloads/2.0.6/zabbix_agents_2.0.6.linux2_6.amd64.tar.gz
  2. mkdir /usr/local/zabbix
  3. tar zxvf zabbix_agents_2.0.6.linux2_6.amd64.tar.gz -C /usr/local/zabbix/
  4. cd /usr/local/zabbix/

2、编辑配置文件

  1. find / -name zabbix_agentd.conf
  2. cd conf/
  3. vi zabbix_agentd.conf
  4. LogFile=/tmp/zabbix_agentd.log
  5. Server=172.17.0.8 //zabbix_server服务器IP
  6. ServerActive=172.17.0.8 //主动模式服务器IP
  7. Hostname=172.17.0.7 //设定主机名,本机IP

3、安装修改启动脚本

备注:这里的源码包里面是没有启动脚本的,在我们zabbix_server服务器端源码包是包含的有的,需要上传过来

  1. zabbix_server: ##这里操作是在服务器端操作的
  2. scp /root/zabbix-2.0./misc/init.d/fedora/core/zabbix_agentd 172.17.0.7:/etc/init.d ##提示输入zabbix_agent的root密码就可以了
  3.  
  4. vim /etc/init.d/zabbix_server
  5. BASEDIR=/usr/local/zabbix //zabbix的安装位置
  6. CONFILE=$BASEDIR/etc/zabbix_agentd.conf //定义zabbix配置文件位置,可以通过"find / -name zabbix_agentd.conf"来查看
  7. #####搜素start这一项,修改启动选项####
  8. # functions
  9. start() {
  10. if [ $RUNNING -eq ]
  11. then
  12. echo "$0 $ARG: $BINARY_NAME (pid $PID) already running"
  13. else
  14. action $"Starting $BINARY_NAME: " $FULLPATH -c $CONFILE //这一行添加-c $CONFILE
  15. touch /var/lock/subsys/$BINARY_NAME
  16. fi
  17. }
  18.  
  19. wq保存退出重启zabbix_agentd服务
  20. 首先需要创建一个zabbix用户,不然会提示没有zabbix用户是启动不起来的
  21. useradd zabbix
  22. service zabbix_agentd restart

【四】、Windows客户端安装zabbix_agent

1、下载客户端解压缩:

  1. http://www.zabbix.com/downloads/2.0.6/zabbix_agents_2.0.6.win.zip

2、建立文件夹

我这里创建在了D盘下,根据你的Windows系统版本来把/bin下的版本文件Copy过去,再把conf下的配置文件拷贝到zabbix文件夹下,更名为zabbix_agent.conf

2、修改配置文件zabbix_agentd.conf

  1. LogFil=C:\zabbix_agentd.log
  2. Server=172.17.0.8
  3. ServerActive=172.17.0.8
  4. Hostname=Windows_2003_0. // Win的名字

3、安装zabbix_agentd服务

打开cmd

-c 指定配置文件的所在位置

-i 安装客户端

-s 启动客户端

-x 停止客户端

-d 卸载客户端

############以上第四节写的是zabbix_agent客户端的Win/Lin模式下安装#########

 【四】、配置监控

1、配置--主机--创建主机

主机名称:这里是agent配置文件里面定义的Hostname,不然agent的主动模式收不到数据。

可见名称:这里就只是一个显示名称,自定义即可

组:将主机归类到那个组里面

代理接口:就是主机上安装的Agent

SNMP接口:通过SNMP来监控的

JMX接口:监控JAVA程序的接口

IPMI接口:通过IPMI接口来监控硬件

有代理节点监测:通过Proxy来监控

状态:致命是否可以立即监控该主机

2、定义模板

 

我们通常是将项目、触发器、图形等等定义在模板上,然后由模板链接到主机上,来实现监控

添加模板   配置---模板---创建模板

模板名称:自定义一个模板名称,可以通过该名字来引用模板。

可见名称:在模板中看到的名称;

:定义模板属于哪个组里面;

新的组:如果没有合适的组可以新建一个组;

主机/模板:链接该模板的模板或者主机

其他|组:没有链接该模板的主机或者模板;可以通过<<添加进来

3、添加监控项

在主机中添加监控项和在模板中添加是一样的,这里是在模板中直接添加的

这里添加的监控项是内存使用情况

主机:如果在模板中定义就是模板名字,如果在主机中定义那就是主机的名字;

名称:定义该项目的名称;

类型:选择监控方式,这里是用的Agent代理模式;

键值:也就是key,通过key来获得agent的代理模式,SNMP为了以后引用可以自定义,agent内置了很多key,这里的vm.memory.size是内存相关的key,所有的key地址:https://www.zabbix.com/documentation/1.8/manual/config/items

数据类型:定义key返回的数据类型

单位:定义单位有2个用途:1;为了单位涣算,2;为了方便查看;

自定义倍数:将获得的数据乘以自定义的倍数来作为项的值;

数据更新间隔:设置多少时间更新一下子数据;

保留历史:保留过去多少时间的数据;

保留趋势:保留多少时间的趋势数据;

 

4、添加触发器

选择主机或者模板---添加触发器

5、添加图形

在模板上或者在主机上---添加图形

6、将模板链接到主机

点击主机名称----选择模板----添加

7、选择监测中---最新数据可以查看最新数据

备注:这里可能会出现乱码;作为中国人肯定是中文看起来比较方便了,可是咱们前提安装的时候不是已经修改过语言是中文了,为什么我这里还会出现乱码呢;原因分析:因为zabbix的前端没有中文语言的支持,说一下乱码的解决办法,只需将Windows下的中文字体上传到/var/www/html/zabbix/fonts上就可以了;操作如下

  1. wget 'http://downloads.sourceforge.net/project/wqy/wqy-microhei/0.2.0-beta/wqy-microhei-0.2.0-beta.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fwqy%2Ffiles%2Fwqy-microhei%2F0.2.0-beta%2F&ts=1365584502&use_mirror=jaist' -O wqy-microhei-0.2.-beta.tar.gz
  2. tar zxvf wqy-microhei-0.2.-beta.tar.gz
  3. scp wqy-microhei/wqy-microhei.ttc /var/www/html/zabbix/fonts/DejaVuSans.ttf
  1. //应该还有其他办法,但是我喜欢简单,不搞了,可以正常显示了就ok 我下图是拿我的CPU监控为例子贴进来的。

这里我的CPU已经修改了触发器为大于5就会警告。看下面图:

【五:配置邮件报警】

1、安装邮件发送工具

CentOS 5.x 编译安装mailx,直接yum安装的mailx版本太旧,使用外部邮件发送会有问题。

  1. yum remove mailx -y

下载安装mailx

  1. wget http://nchc.dl.sourceforge.net/project/heirloom/heirloom-mailx/12.4/mailx-12.4.tar.bz2
  2. tar jxvf mailx-12.4.tar.bz2
  3. cd mailx-12.4
  4. make //这里会碰到make不成功 ~
  5. 解决办法:
  6. wget http://www.linuxfromscratch.org/patches/blfs/7.6/mailx-12.4-openssl_1.0.0_build_fix-1.patch
  7. mv mailx-12.4-openssl_1.0.0_build_fix-1.patch mailx-12.4/
  8. yum install patch -y
  9. patch -Np1 -i mailx-12.4-openssl_1.0.0_build_fix-1.patch
  10. ##########OK这样子就可以继续make了###########
  11. make
  12. make install UCBINSTALL=/usr/bin/install
  13. ln -s /usr/local/bin/mailx /bin/mail
  14. ln -s /etc/nail.rc /etc/mail.rc
  15. whereis mailx
  16. mailx -V

2、配置zabbix服务端外部邮箱

  1. vi /etc/nail.rc
  2. ##最后面添加##
  3. set from=xxx@.com smtp=smtp..com
  4. set smtp-auth-user=xxx@.com
  5. smtp-auth-password=
  6. set smtp-auth=login

3、测试

#测试发送邮件,标题zabbix,邮件内容:zabbix test mail,发送到的邮箱:yyy@163.com

  1. echo "zabbix test mail" |mail -s "zabbix" yyy@.com

4、配置zabbix服务器邮件报警

管理-示警媒介类型-创建媒体类型

5、配置zabbix用户邮件报警地址

6、创建动作

名称:Action-Email

默认接收人:故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!

默认信息:

告警主机:{HOSTNAME1}

告警时间:{EVENT.DATE} {EVENT.TIME}

告警等级:{TRIGGER.SEVERITY}

告警信息: {TRIGGER.NAME}

告警项目:{TRIGGER.KEY1}

问题详情:{ITEM.NAME}:{ITEM.VALUE}

当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}

事件ID:{EVENT.ID}

恢复信息:打钩

恢复主旨:恢复{TRIGGER.STATUS}, 服务器:{HOSTNAME1}: {TRIGGER.NAME}已恢复!

恢复信息:

告警主机:{HOSTNAME1}

告警时间:{EVENT.DATE} {EVENT.TIME}

告警等级:{TRIGGER.SEVERITY}

告警信息: {TRIGGER.NAME}

告警项目:{TRIGGER.KEY1}

问题详情:{ITEM.NAME}:{ITEM.VALUE}

当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}

事件ID:{EVENT.ID}

已启用:打钩

切换到操作选项

新的

操作类型:送出信息

送到用户:添加

默认信息:打钩

选择用户:Admin

选择

仅送到:Sendmail

存档

7、添加zabbix服务端发送脚本

  1. cd /usr/local/zabbix/share/zabbix/alertscripts
  2. vi sendmail.sh
  3. #!/bin/sh
  4.  
  5. echo "$3" | mail -s "$2" $
  6.  
  7. :wq! #保存退出
  8. chown zabbix.zabbix /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh #设置脚本所有者为zabbix用户
  9. chmod +x /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh #设置脚本执行权限

8、测试报警成功

CentOS 6.4编译安装和部署Zabbix 2.0版本监控(中文)的更多相关文章

  1. 阿里云centos7.4安装并部署svn1.10.0版本(配置多仓库,加入开机自启动)

    如何安装最新版本 1.10.0: 如果已安装旧版本,先卸载 yum remove subversion* 查看当前可安装的版本 yum list | grep subversion 可以去官网下载安装 ...

  2. CentOS 6.4 yum快速搭建Zabbix 2.2版本(中文)

    1.安装zabbix官方epel包 rpm -ivh http://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/zabbix-release-2.2-1.el6. ...

  3. CentOS 6.6编译安装Nginx1.6.2+MySQL5.6.21+PHP5.6.3

    http://www.osyunwei.com/archives/8867.html 一.配置防火墙,开启80端口.3306端口 vi /etc/sysconfig/iptables #编辑防火墙配置 ...

  4. CentOS 6.2编译安装Nginx1.2.0+MySQL5.5.25+PHP5.3.13

    CentOS 6.2编译安装Nginx1.2.0+MySQL5.5.25+PHP5.3.132013-10-24 15:31:12标签:服务器 防火墙 file 配置文件 written 一.配置好I ...

  5. CentOS 6.2编译安装Nginx1.2.0+MySQL5.5.25+PHP5.3.13+博客系统WordPress3.3.2

    说明: 操作系统:CentOS 6.2 32位 系统安装教程:CentOS 6.2安装(超级详细图解教程): http://www.osyunwei.com/archives/1537.html 准备 ...

  6. CentOS 6.4编译安装淘宝web服务器Tengine

    Tengine 是由淘宝核心系统部基于Nginx开发的Web服务器,它在Nginx的基础上,针对大访问量网站的需求,添加了很多功能和特性.Tengine的性能和稳定性已经在大型的网站如淘宝网,淘宝商城 ...

  7. CentOS 6.8编译安装httpd2.2.31+MySQL5.6.31+PHP5.3.27

    CentOS 6.8编译安装httpd2.2.31+MySQL5.6.31+PHP5.3.27   说明:   操作系统:CentOS 6.8 32位 准备篇: 一.系统约定    软件源代码包存放位 ...

  8. Centos 6.8编译安装LNMP环境

    Centos 6.8编译安装LNMP环境 参考资料: http://www.jb51.net/article/107429.htm https://phperzh.com/articles/1360 ...

  9. CentOS 7.x编译安装Nginx1.10.3+MySQL5.7.16+PHP5.2 5.3 5.4 5.5 5.6 7.0 7.1多版本全能环境

    准备篇 一.防火墙配置 CentOS 7.x默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop firewalld.se ...

随机推荐

  1. 本人亲测-Setup Factory打包教程(整理并优化)

    Setup Factory 9 总结 一:安装完毕立刻启动 result = Shell.Execute(SessionVar.Expand("%AppFolder%\\消息助手.exe&q ...

  2. Altium Designer 只导出PCB元器件及标号的PDF文件的方法

    版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明. 作者:struct_mooc 博客地址:https://www.cnblogs.com/stru ...

  3. JDBC1

    ---恢复内容开始--- create table `account` ( `id` ), `name` ), `balance` ) ); insert into `account` (`id`, ...

  4. Raspbian 2019-06-20 发布

    有关新Raspbian的信息是作为今天博客文章的一部分提供的,该帖子宣布了全新的Raspberry Pi 4: 为了支持Raspberry Pi 4,我们发布了一个全新的操作系统,基于即将发布的Deb ...

  5. Linux系统文件系统及文件基础篇

    学习Linux,重难点在于掌握不同类别的文件系统及其作用.通过对Linux系统的安装,我们首先来了解下Linux系统里各个目录文件夹下的大致功能:主要的目录树的有/./root./home./usr. ...

  6. tp5实现Redis的简单使用

    方法1: Controller <?php namespace app\index\controller; use think\Controller; use think\session\dri ...

  7. redis3.2 源码安装

    wget http://download.redis.io/releases/redis-3.2.3.tar.gz tar -zxvf redis-.tar.gz cd redis make & ...

  8. npoi c#

    没有安装excel docx的情况下 操作excel docx

  9. [易学易懂系列|rustlang语言|零基础|快速入门|(17)|装箱crates]

    [易学易懂系列|rustlang语言|零基础|快速入门|(17)|装箱crates] 实用知识 装箱crates 我们今天来讲讲装箱技术crates. 什么是crates? 英语翻译是: 英 [kre ...

  10. Spring NamespaceHandlerResolver xml的标签加载的扩展 和 ApplicationContext

    NamespaceHandlerResolver public NamespaceHandler resolver(String namespaceUri); DefaultNamespaceHand ...