您的位置:首页 > 其它

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

2014-12-08 22:40 751 查看
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 start3.下载zabbix-2.2.6.tar.gz 直接上官网 或者找我要都行4.安装zabbix所需的组件(server,agent)[root@zabbix ~]# yum install -y curl curl-devel net-snmp net-snmp-devel perl-DBI5.创建用户账号(server,agent)[root@zabbix ~]# useradd zabbix[root@zabbix ~]# usermod -s /sbin/nologin zabbix6.创建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 123456mysql> 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> exityum install gcc libgcc7.编译安装,如果是客户端安装选择--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 install8.编辑配置文件
[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.logServer=127.0.0.1ServerActive=127.0.0.1Hostname=Zabbix serverUnsafeUserParameters=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 restartStopping httpd: [ OK ]
Starting httpd: [ OK ]11.安装图示

直接http://IP/zabbix






报错:根据提示修改/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 ]修改后的图





这个是zabbix的数据库 连接的用户名和密码


这个默认就行





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

下面登陆进去


用户名是默认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=监控端的ipServerActive=监控端的ipHostname=自己的主机名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

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


这是添加后的效果




表示监控成功了 大家可以点击图形 在里面看相关内容 这里的详细信息大家点点就会了 我这里就不详细介绍了 Zabbix Proxy 下面我们看看代理 大家知道 这监控端用的是server 但是serve端就一台服务器 如何客户端多了怎么办?如果备监控端在上海有几百台 在北京有几百台 又怎么办?如果这种情况下 在用一个serve端 就会瘫痪 所以我们需要代理 具体效果如图

这样可以大大的提高了服务器的性能 对于分布式的环境来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 123456mysql> 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
# MYSQL的Socket位置
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

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



[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



[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
这里 我说一下 常碰到问题



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



这个错误 请检查 你的机器的主机名

图像添加分布式








这样就成功了
===========================================================================================
接下来 我们讲告警

第一种:使用Zabbix服务端本地邮箱账号发送邮件一、安装sendmail或者postfixyum install sendmail #安装service sendmail start #启动chkconfig sendmail on #设置开机启动yum install postfixservice postfix startchkconfig postfix onCentOS 5.x 默认已经安装好sendmailCentOS 6.x 默认已经安装好postfixsendmail和postfix只需要安装一个即可并开启服务即可。二、安装邮件发送工具mailxyum 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.bz2tar 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 #创建mailx到mail的软连接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

系统运维 www.osyunwei.com 温馨提醒:qihang01原创内容版权所有,转载请注明出处及原文链管理-示警媒介类型-Email

名称:Email类型:电子邮件SMTP伺服器:zabbix.sa.huanqiu.comSMTP HELO:zabbix.sa.huanqiu.comSMTP电邮:zabbix@zabbix.sa.huanqiu.com已经用:勾选存档备注:zabbix.sa.huanqiu.com为Zabbix监控主机名称,建议修改,否则使用默认的localhost.localdomain发送邮件会被当做垃圾邮件拦截。2、设置Zabbix用户报警邮箱地址组态-用户-Admin (Zabbix Administrator)

切换到示警媒介

添加

系统运维 www.osyunwei.com 温馨提醒:qihang01原创内容版权所有,转载请注明出处及原文链类型:Email收件人:xxx@163.com其他默认即可,也可以根据需要设置状态:已启用存档3、设置Zabbix触发报警的动作组态-动作-创建动作



名称: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选择仅送到:Email存档四、测试Zabbix报警关闭Zabbix客户端服务service zabbix_agentd stop查看xxx@163.com邮箱,会收到报警邮件
再开启Zabbix客户端服务service zabbix_agentd start查看xxx@163.com邮箱,会收到恢复邮件

使用Zabbix服务端本地邮箱账号发送邮件设置完成。好了 今天就说到这里 下次给大家讲讲用户自定义key值+添加监控Windows主机
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息