码迷,mamicode.com
首页 > 其他好文 > 详细

zabbix介绍 安装 运用 配置 代理 告警 的使用

时间:2014-12-09 02:00:57      阅读:479      评论:0      收藏:0      [点我收藏+]

标签:zabbix介绍 安装 运用 配置 代理 告警 的使用

Zabbix 功能

具备常见的商业监控软件所具备的功能(主机的性能监控、网络设备性能监控、数据库

性能监控、FTP 等通用协议监控、多种告警方式、详细的报表图表绘制)

支持自动发现网络设备和服务器(可以通过配置自动发现服务器规则来实现)

支持自动发现(low discovery)key 实现动态监控项的批量监控(需写脚本)

支持分布式,能集中展示、管理分布式的监控点

扩展性强,server 提供通用接口(api 功能) ,可以自己开发完善各类监控(根据相关接

口编写程序实现)

编写插件容易,可以自定义监控项,报警级别的设置。

数据收集等

                                可以监控多达10万个设备


优点:

开源,无软件成本投入

Server 对设备性能要求低

支持设备多,自带多种监控模板

支持分布式集中管理,有自动发现功能,可以实现自动化监控

开放式接口,扩展性强,插件编写容易

当监控的 item 比较多服务器队列比较大时可以采用被动状态,被监控客户端主动从

server 端去下载需要监控的 item 然后取数据上传到 server 端。 这种方式对服务器的负载比较

小。

Api 的支持,方便与其他系统结合

缺点:

需在被监控主机上安装 agent,所有数据都存在数据库里,产生的数据据很大,瓶颈主要

在数据库。


具体的说明 我这里不多介绍 大家百度一下就出来了 我们直接安装吧


准备篇:一、Web环境:Nginx+MySQL+PHP或者Apache+mysql+php

             二、zabbix软件包下载 我这能采用集成的 版本是zabbix-2.2.6.tar.gz 这个汉化过来没乱码 用着挺好

安装篇

一 服务端配置
1.配置前先关闭iptables和SELINUX,避免安装过程中报错。

[root@zabbix ~]# service iptables stop

[root@zabbix ~]# chkconfig iptables off
[root@zabbix ~]# getenforce
Disabled

[root@zabbix ~]#setenforce 0

2.安装LAMP环境

[root@zabbix ~]# yum install -y httpd mysql mysql-server mysql-devel php php-mysql php-common php-mbstring php-gd php-odbc php-xml php-pear

[root@zabbix ~]# service httpd start

[root@zabbix ~]# service mysqld start

3.下载zabbix-2.2.6.tar.gz 直接上官网 或者找我要都行

4.安装zabbix所需的组件(server,agent)

[root@zabbix ~]# yum install -y curl curl-devel net-snmp net-snmp-devel perl-DBI

5.创建用户账号(server,agent)

[root@zabbix ~]# useradd zabbix

[root@zabbix ~]# usermod -s /sbin/nologin zabbix

6.创建zabbix数据库并导入zabbix数据库(server)

[root@zabbix ~]#tar zxf zabbix-2.2.6.tar.gz

[root@zabbix ~]# mysqladmin -u root password 123456

[root@zabbix ~]# mysql -u root -p 123456

mysql> create database zabbix character set utf8; #创建数据库zabbix,并且数据库编码使用utf8
mysql> grant all on zabbix.* to zabbix@localhost identified by ‘123456‘;
mysql> use zabbix;
mysql> source /root/zabbix-2.2.6/database/mysql/schema.sql
mysql> source /root/zabbix-2.2.6/database/mysql/images.sql
mysql> source /root/zabbix-2.2.6/database/mysql/data.sql
mysql> exit

yum install gcc libgcc

7.编译安装,如果是客户端安装选择--enable-agent就行了。

[root@zabbix ~]#cd /root/zabbix-2.0.6
[root@zabbix zabbix-2.0.6]# ./configure --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl (可以用--prefix=/usr/local/ 指定安装目录)
报错: checking for main in -lmysqlclient... no
configure: error: Not found mysqlclient library
解决:[root@zabbix zabbix-2.0.6]# ln -s /usr/lib64/mysql/libmysqlclient.so.16 /usr/lib64/mysql/libmysqlclient.so
***********************************************************
* Now run ‘make install‘ *
* Thank you for using Zabbix! *
* <http://www.zabbix.com> *
***********************************************************
make install

8.编辑配置文件

[root@zabbix zabbix-2.2.6]# cd /usr/local/etc/

[root@zabbix etc]# more zabbix_server.conf #服务端的配置修改如下几个参数 记得先备份
LogFile=/var/log/zabbix_server.log
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=123456

[root@zabbix etc]# more zabbix_agentd.conf #客户端配置 修改如下参数

LogFile=/tmp/zabbix_agentd.log

Server=127.0.0.1

ServerActive=127.0.0.1

Hostname=Zabbix server

UnsafeUserParameters=1 #启用自定义key

[root@zabbix etc]# touch /var/log/zabbix_server.log
[root@zabbix etc]# touch /var/log/zabbix_agentd.log
[root@zabbix etc]# chmod 777 /var/log/zabbix_*

9.启动服务(server,agent)

[root@zabbix zabbix-2.0.6]# cp misc/init.d/tru64/zabbix_server /etc/init.d/
[root@zabbix zabbix-2.0.6]# cp misc/init.d/tru64/zabbix_agentd /etc/init.d/
[root@zabbix zabbix-2.0.6]# chmod +x /etc/init.d/zabbix_*
在文件头部#!/bin/bash下面分别添加两行
#!/bin/sh
#chkconfig: 35 95 95
#description:zabbix Agent server
添加服务
[root@zabbix zabbix-2.0.6]# chkconfig --add zabbix_server
[root@zabbix zabbix-2.0.6]# chkconfig --add zabbix_agentd
设置服务器开机自动启动
[root@zabbix ~]# chkconfig zabbix_server on
[root@zabbix ~]# chkconfig zabbix_agentd on
[root@zabbix ~]# /etc/init.d/zabbix_server start
Zabbix server started.
[root@zabbix ~]# /etc/init.d/zabbix_agentd start
Zabbix agent started.
[root@zabbix ~]# ps -ef |grep zabbix
zabbix 1803 1 0 08:21 ? 00:00:00 /usr/local/sbin/zabbix_agentd
zabbix 1805 1803 0 08:21 ? 00:00:00 /usr/local/sbin/zabbix_agentd
zabbix 1806 1803 0 08:21 ? 00:00:00 /usr/local/sbin/zabbix_agentd
zabbix 1807 1803 0 08:21 ? 00:00:00 /usr/local/sbin/zabbix_agentd
zabbix 1808 1803 0 08:21 ? 00:00:00 /usr/local/sbin/zabbix_agentd
zabbix 1814 1 0 08:21 ? 00:00:00 /usr/local/sbin/zabbix_server
root 2043 2006 0 08:23 pts/0 00:00:00 grep zabbix
[root@zabbix ~]# netstat -lantp |grep 10050
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 1803/zabbix_agentd
[root@zabbix ~]# netstat -lantp |grep 10051
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 2308/zabbix_server

10.安装zabbix web界面(server)
复制php文件,zabbix的终端程序是用php写的,因此需要一个支持php脚本解析的web服务器。然后将frontends/php下面的php文件拷贝到web服务器html文件目录下面。

[root@zabbix zabbix-2.0.6]# cp -r frontends/php /var/www/html/zabbix
[root@zabbix html]#service httpd restart

Stopping httpd: [ OK ]
Starting httpd: [ OK ]

11.安装图示

bubuko.com,布布扣直接http://IP/zabbix

bubuko.com,布布扣 bubuko.com,布布扣

报错:根据提示修改/etc/php.ini文件里的参数

[root@zabbix zabbix]# yum install -y php-bcmath
[root@zabbix zabbix]# /etc/init.d/httpd restart
Stopping httpd: [ OK ]
Starting httpd: [ OK ]

修改后的图

bubuko.com,布布扣bubuko.com,布布扣这个是zabbix的数据库 连接的用户名和密码

bubuko.com,布布扣这个默认就行

bubuko.com,布布扣bubuko.com,布布扣

这一个zabbix server端就搞定了O(∩_∩)O~ 简单吧!!!


下面登陆进去

bubuko.com,布布扣用户名是默认admin 密码 默认zabbix


接下来我们安装 agent

创建用户账号(server,agent)

[root@zabbix ~]# useradd zabbix

[root@zabbix ~]# usermod -s /sbin/nologin zabbix

[root@zabbix ~]#cd /root/zabbix-2.2.6

[root@zabbix zabbix-2.2.6]# ./configure --enable-agent (也可以用--prefix=/usr/local/ 指定安装目录)

[root@zabbix zabbix-2.2.6]# cd /usr/local/etc/

   修改  zabbix_agentd.conf #客户端配置

Server=监控端的ip

ServerActive=监控端的ip

Hostname=自己的主机名

UnsafeUserParameters=1


[root@localhost etc]# touch /var/log/zabbix_agentd.log

[root@localhost etc]# chmod 777 /var/log/zabbix_*

[root@localhost etc]# cd /root/zabbix-2.2.6

[root@localhost zabbix-2.2.6]# cp misc/init.d/tru64/zabbix_agentd /etc/init.d/

[root@localhost zabbix-2.2.6]# chmod +x /etc/init.d/zabbix_*

[root@localhost zabbix-2.2.6]# vi /etc/init.d/zabbix_agentd 



接下来 在浏览器上添加主机就可以了

bubuko.com,布布扣这是添加后的效果

bubuko.com,布布扣

表示监控成功了 大家可以点击图形 在里面看相关内容 这里的详细信息大家点点就会了 我这里就不详细介绍了

下面我们看看代理 大家知道 这监控端用的是server 但是serve端就一台服务器 如何客户端多了怎么办?如果备监控端在上海有几百台 在北京有几百台 又怎么办?如果这种情况下 在用一个serve端 就会瘫痪 所以我们需要代理 具体效果如图

bubuko.com,布布扣

这样可以大大的提高了服务器的性能 对于分布式的环境来

Zabbix Proxy 用于接收Agent的监控数据,暂时保存然后转发给Server;Zabbix Server 会把配置同步给Zabbix Proxy Zabbix Proxy面向Agent 是作为一个Server。

下面介绍具体安装步骤


1.配置前先关闭iptables和SELINUX,避免安装过程中报错。

[root@zabbix ~]# service iptables stop

[root@zabbix ~]# chkconfig iptables off
[root@zabbix ~]# getenforce
Disabled

[root@zabbix ~]#setenforce 0

         yum install -y mysql-*   安装mysqld

          yum -y install lrzsz 

          yum install gcc libgcc安装编译插件

创建用户账号

[root@zabbix ~]# useradd zabbix

[root@zabbix ~]# usermod -s /sbin/nologin zabbix

[root@proxy ~]# service mysqld start

2.上传zabbix

[root@proxy ~]# tar zxvf zabbix-2.2.6.tar.gz  解压

              mysqladmin -u root password 123456

[root@proxy~]# mysql -u root -p 123456

mysql> create database zabbix character set utf8; #创建数据库zabbix,并且数据库编码使用utf8
    mysql> grant all on zabbix.* to zabbix@localhost identified by ‘123456‘;
    mysql> use zabbix;
    mysql> source /root/zabbix-2.2.6/database/mysql/schema.sql

安装zabbix proxy 代理时仅仅需要导入schema.sql即可 注意

yum install -y curl curl-devel net-snmp net-snmp-devel perl-DBI 安装zabbix所需的组件

[root@proxy mysql]# cd /root/zabbix-2.2.6/

[root@proxy zabbix-2.2.6]# ./configure --enable-proxy --enable-agent --with-mysql --with-net-snmp --with-libcurl

[root@localhost zabbix-2.2.6]# cp /usr/local/etc/zabbix_proxy.conf /usr/local/etc/zabbix_proxy.conf.bak 备份

[root@localhost zabbix-2.2.6]# vi /usr/local/etc/zabbix_proxy.conf  修改如下

服务器地址

Server=192.168.0.1

主机名

Hostname=82-proxy

数据库名

DBName=zabbix

数据库用户名

DBUser=zabbix

数据库密码

DBPassword=zabbixpass

# MYSQLSocket位置

DBSocket=/opt/lampp/var/mysql/mysql.sock

多长时间同步一次。

ConfigFrequency=60

# 添加Fping

FpingLocation=/usr/local/sbin/fping

======================================================================================================

修改agentd.conf

vi /usr/local/zabbix/etc/zabbix_agentd.conf

本机IP地址,不是SRVER的。

Server=192.168.0.2

本机IP地址

ServerActive=192.168.0.2

与之前的proxy的配置文件里面的主机名保持一致

Hostname=82-proxy

=========================================================================================

[root@localhost etc]# vi /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 etc]# /usr/local/sbin/zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf

[root@localhost etc]# /usr/local/sbin/zabbix_agentd -c /usr/local/etc/zabbix_agentd.conf


这是我的配置信息 大家可以参照

bubuko.com,布布扣

[root@localhost ~]# grep -Ev ‘^#|^$‘ /usr/local/etc/zabbix_proxy.conf

Server=192.168.0.105

Hostname=proxy.benet.com

LogFile=/tmp/zabbix_proxy.log

DBName=zabbix

DBUser=zabbix

DBPassword=123456

DBSocket=/var/lib/mysql/mysql.sock

ConfigFrequency=60

bubuko.com,布布扣

[root@localhost ~]# grep -Ev ‘^#|^$‘ /usr/local/etc/zabbix_agentd.conf

LogFile=/tmp/zabbix_agentd.log

Server=127.0.0.1,192.168.0.105

ServerActive=127.0.0.1

Hostname=proxy.benet.com

这里 我说一下 常碰到问题

bubuko.com,布布扣

这个是在图 你添加 的时候的名字 要与配置文件的名字相同


bubuko.com,布布扣这个错误 请检查 你的机器的主机名


图像添加分布式

bubuko.com,布布扣bubuko.com,布布扣


bubuko.com,布布扣这样就成功了

===========================================================================================

                                    接下来 我们讲告警


第一种:使用Zabbix服务端本地邮箱账号发送邮件

一、安装sendmail或者postfix

yum install sendmail #安装

service sendmail start #启动

chkconfig sendmail on #设置开机启动

yum install postfix

service postfix start

chkconfig postfix on

CentOS 5.x 默认已经安装好sendmail

CentOS 6.x 默认已经安装好postfix

sendmail和postfix只需要安装一个即可并开启服务即可。

二、安装邮件发送工具mailx

yum install mailx #安装

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

yum remove mailx #卸载系统自带的旧版mailx

下载mailx:

http://nchc.dl.sourceforge.net/project/heirloom/heirloom-mailx/12.4/mailx-12.4.tar.bz2

tar jxvf mailx-12.4.tar.bz2 #解压

cd mailx-12.4 #进入目录

make #编译

make install UCBINSTALL=/usr/bin/install #安装

ln -s /usr/local/bin/mailx /bin/mail #创建mailxmail的软连接

ln -s /etc/nail.rc /etc/mail.rc #创建mailx配置文件软连接

whereis mailx #查看安装路径

mailx -V #查看版本信息

echo "zabbix test mail" |mail -s "zabbix" xxx@163.com

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

三、配置Zabbix服务端邮件报警

1、打开Zabbix

bubuko.com,布布扣

系统运维 www.osyunwei.com 温馨提醒:qihang01原创内容版权所有,转载请注明出处及原文链

管理-示警媒介类型-Email

bubuko.com,布布扣

名称:Email

类型:电子邮件

SMTP伺服器:zabbix.sa.huanqiu.com

SMTP HELO:zabbix.sa.huanqiu.com

SMTP电邮:zabbix@zabbix.sa.huanqiu.com

已经用:勾选

存档

备注:zabbix.sa.huanqiu.com为Zabbix监控主机名称,建议修改,否则使用默认的localhost.localdomain发送邮件会被当做垃圾邮件拦截

2、设置Zabbix用户报警邮箱地址

组态-用户-Admin (Zabbix Administrator)

bubuko.com,布布扣

切换到示警媒介

bubuko.com,布布扣

添加

bubuko.com,布布扣

系统运维 www.osyunwei.com 温馨提醒:qihang01原创内容版权所有,转载请注明出处及原文链

类型:Email

收件人:xxx@163.com

其他默认即可,也可以根据需要设置

状态:已启用

存档

3、设置Zabbix触发报警的动作

组态-动作-创建动作

bubuko.com,布布扣

bubuko.com,布布扣

名称: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}

已启用:打钩

bubuko.com,布布扣

切换到操作选项

新的

bubuko.com,布布扣

操作类型:送出信息

送到用户:添加

默认信息:打钩

bubuko.com,布布扣

用户:勾选Admin

选择

bubuko.com,布布扣

仅送到:Email

存档

四、测试Zabbix报警

关闭Zabbix客户端服务

service zabbix_agentd stop

查看xxx@163.com邮箱,会收到报警邮件

bubuko.com,布布扣

再开启Zabbix客户端服务

service zabbix_agentd start

查看xxx@163.com邮箱,会收到恢复邮件

bubuko.com,布布扣

使用Zabbix服务端本地邮箱账号发送邮件设置完成。

好了 今天就说到这里 下次给大家讲讲用户自定义key值

本文出自 “屌丝人生” 博客,谢绝转载!

zabbix介绍 安装 运用 配置 代理 告警 的使用

标签:zabbix介绍 安装 运用 配置 代理 告警 的使用

原文地址:http://zaizai1573.blog.51cto.com/4515471/1587691

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!