zabbix入门指导+安装配置+邮件报警+短信报警.docx
《zabbix入门指导+安装配置+邮件报警+短信报警.docx》由会员分享,可在线阅读,更多相关《zabbix入门指导+安装配置+邮件报警+短信报警.docx(17页珍藏版)》请在冰豆网上搜索。
zabbix入门指导+安装配置+邮件报警+短信报警
zabbix从入门到精通之—zabbix初体验
进入新公司将近2个月以来,公司领导分配我一个最重要的任务就是给我们的客户做一套监控系统,而且要求最好是开源的。
就我目前所知道的监控软件,主要有如下几个,cacti,nagios,zenoss,zabbix,其中cacti和nagios以前我就听说过,zenoss多少也有耳闻,zabbix就几乎一点也不清楚了,在网上输入zabbix关键字的时候发现搜索出来的中文资料相比其它的一些开源软件,可谓是大海捞针,凤毛麟角,而且大部分都是英文资料,对于我这种英文能力极其差的人也只是望洋兴叹了,但是任务在身也实在没办法。
我琐碎直接把官网里推荐一本电子书籍《zabbix1.8networkmonitoring》直接给打印了出来,以表达我誓于英文死扛到底的决心。
而今天我给大家讲的内容是通过对zabbix的一次简单的配置以便大家对zabbix有一次直观的了解。
首先什么是zabbix:
zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
Zabbix相比其他监控软件有如下优点:
-安装与配置简单,学习成本低
-支持多语言(包括中文,系统自带不需要额外安装插件)
-自动发现服务器与网络设备
-分布式监视以及WEB集中管理功能(这一点相比其他监控软件有明显优势)
-用户安全认证和柔软的授权方式(如ldap认证)
-通过WEB界面设置或查看监视结果(图像化配置)
-email等通知功能()
关于zabbix的安装我们将通过单独的小结讲,下面的展示主要是为了方便大家对zabbix有一次直观的认识。
下图所示:
zabbix主要有5个主菜单栏:
Moniting,Inventory,reports,configuration,Adminstration每个主菜单栏下面又多个二级菜单.
Moniting:
主要是对监控对象的一些相关展示,比如说对web应用的展示。
Inventory:
资产管理,类似于公司里的资产管理,比如一个硬件设备,这里可能会标识设备的名称,操作系统,mac地址,资产编号等
Reports; 这里主要展示了zabbix服务的状态,比如主机数,报警数。
还有就是展示了一些设备的可用性报表等相关信息。
Congfiguration; 这里主要用来对系统的配置,比如创建主机,创创建模版,创建报警,创建流量图片等相关应用基本的配置主要通过这里来实现。
Adminstration:
这里也是用了对系统进行配置,可configuration相比,这里的配置主要实现对zabbix本身的一些相关的配置工作,比如登录zabbix的用户的创建等工作主要通过这里来配置。
下面让我们双击Configurtion,然后双击下面的host菜单如下所示:
从左到右依次是:
host(主机名)application(相关应用)item(监控对象)trigger(触发器)dns(主机的dns)ip(主机的ip地址)Templates(主机所用到的主机模版)Status(主机的状态)availablity。
下面我将对application,item,trigger,graphs,等相关概念进行一一的解释。
Item:
主机监控的对象,比如主机的cpu利用率,这里cpu的利用率就可以成为一个item。
比如我监控的一个服务也可以成为一个item,我们可以这样理解,我们说监控的东西就可以简单的被成为一个item。
Triiger:
triiger被称为触发器,可以理解为促成警报的一个阀值,比如,当d盘的剩余空间只剩下百分之十时,我们可以把这个条件做为一个triger。
Graphs:
图表,我们监控一个设备时,有时候希望以更加直观的图表的形式显示出来的时候往往可以通过graphs来设置,比如我们监控的一个item对象是etho网卡出口的流量和一个itemeetho网卡进口的流量,并且我们想把eth0网卡进出流量以曲线图的形式显示出来的话往往就需要在graphs里面来设置。
下面我们通过创建一个主机的事例让大家有个初步的认识。
首先:
双击最上面的configuration下的host按钮出现如下图所示。
然后我们双击右上角:
createHost按钮。
当我们双击createhost按钮后会出现如下的对话框,为了大家看起来方便我只截取了左边半部分。
其实不用我多讲相比大家也能明白个大概意思,大家只要按照说明填写相关的内容就可以了,然后单击save按钮进行保存。
下面我们就要进行监控项目的添加了双击item按钮,出现下图所示
图中列出了我已经创建好的监控对象,下面我们讲新建一个监控项目以便大家能够更好的理解创建的过程,单击右上角的createitem进行监控对象的创建。
接下来会出现如下所示的对话框。
其中type:
代表的意思是被监控但代理的类型,比如snmp类型ssh类型,monitagent类型等。
Key代表了一种关键字,这里也可以自己定义,具我的理解如果是用agent类型的话就必须用系统自带的一些固定的格式去填写,比如:
net.if.in[eth0,bytes],代表的意思是:
etho里,进口的流量,但是是bytes,具体这方面的内容我们以后会单独的进行介绍。
由于这章我们主要是以体验为主,所以我们不会讲的那么详细。
下面我们双击graphs按钮,同样的creategraphs
大家可以看出来,item后面有五个不同的颜色来代表不同的监控对象,然后把这5个监控对象汇成一张图来展示给大家,这样其不是很方便哦。
最后我讲通过几张监控图让大家对zabbix有个直观的了解。
zabbix安装使用总结
今年的维护合同中,客户明确要加入zabbix监控。
开始交给两名实习生去搞定,一个月没有成果。
只好自己去搞。
起初是在虚拟中安装的。
rhel5.4+本地yum源,借鉴了不少网上的资料。
下面开始介绍安装与使用步骤:
一.服务端环境准备
A.基本环境
(1).下载最新的Zabbix安装包(官网:
)到本地。
我下载的最新版本1.8.7.放到了/tools(自己新建的)目录下。
#tar-zxvfzabbix-1.8.7.tar.gz
(2).增加zabbix用户和组
#groupaddzabbix
#useradd-gzabbix-mzabbix
(3).安装mysql、Apace、PHP
#yuminstallmysql-serverhttpdphp
#yuminstallmysql-develgccnet-snmp-develcurl-develperl-DBIphp-gdphp-mysqlphp-bcmathphp-mbstringphp-xml
B.Mysql
启动MySQL数据库:
#servicemysqldstart
修改MySQLroot用户密码(默认密码为空)
#mysqladmin–uroot–ppasswordroot
输入原来密码新密码才生效
测试能否正常登陆数据库
#mysql–uroot–proot
创建Zabbix数据库
Mysql>createdatabasezabbixcharactersetutf8;
导入数据库sql脚本
#cdzabbix-1.8.7
#cat./create/schema/mysql.sql|mysql-uroot-prootzabbix
#cat./create/data/data.sql|mysql-uroot-prootzabbix
#cat./create/data/images_mysql.sql|mysql-uroot-prootzabbix
C.Zabbix编译安装
#./configure--with-mysql--with-net-snmp--with-libcurl--enable-server--enable-agent--enable-proxy--prefix=/usr/local/zabbix1.8
#makeinstall
D.配置文件修改
在service加入以下内容
#vi/etc/services
zabbix-agent10050/tcp#ZabbixAgent
zabbix-agent10050/udp#ZabbixAgent
zabbix-trapper10051/tcp#ZabbixTrapper
zabbix-trapper10051/udp#ZabbixTrapper
添加配置文件
#mkdir-p/etc/zabbix
#cp/tools/zabbix1.8.7/misc/conf/*/etc/zabbix
#chown-Rzabbix:
zabbix/etc/zabbix
修改Server配置文件
基本不用修改,用默认配置即可,只需修改一项DBPassword=你的密码
#vi/etc/zabbix/zabbix_server.conf
修改Agentd配置文件,更改HOSTNAME为本机的hostname或者IP,建议直接写hostname,不然以后换了环境还要修改IP地址
#vi/etc/zabbix/zabbix_agentd.conf
添加web前端php文件
#cdfrontends/
#cp-rfphp/var/www/html/
#cd/var/www/html
#mvphpzabbix
#chown-Rzabbix:
zabbixzabbix
E.web前端安装配置
修改php相关参数
#vi/etc/php.ini找到如下几项,改成下面的值,前面有;号的要删掉
max_execution_time=300
date.timezone=Asia/Shanghai
post_max_size=32M
memory_limit=128M
mbstring.func_overload=2
重启apache
#servicehttpdrestart
在本地浏览器上访问ZabbisServe地址开始web前端配置,http:
//127.0.0.1/zabbix
按提示一步步next,其中Step3Checkofpre-requisites必须全部项目OK后才能继续配置,如有提示fail,去server上检查是否安装这个包或配置是否按上述更
上传本地系统的C:
\WINDOWS\Fonts\simhei.ttf文件到zabbixweb目录的zabbix/fonts下.
#vizabbix/include/defines.inc.php把所有的DejaVuSans替换成simhei.
以上是为了解决图片中中文乱码的问题
F.启动zaabixserver
安装完成后的server程序在/usr/local/zabbix/sbin/目录下,可以直接启动
#/usr/local/zabbix/sbin/zabbix_server
为了便于启停Server,我们做一些小配置
复制控制程序
#cp./misc/init.d/redhat/zabbix_*/etc/init.d/
修改配置目录,将如下两个文件中的BASEDIR=改为/usr/local/zabbix,下面两个配置中的bin改为sbin,ZABBIX_AGENTD,ZABBIX_SUCKERD
#vi/etc/init.d/zabbix_server_ctl
#vi/etc/init.d/zabbix_agentd_ctl
#!
注意权限问题
#basezabbixdir
BASEDIR=/usr/local/zabbix1.8
#PIDfile
PIDFILE=/tmp/zabbix_server.pid
#binaryfile
ZABBIX_SUCKERD=$BASEDIR/sbin/zabbix_server
加入开机启动
#echo'/etc/init.d/zabbix_server_ctlstart&'>>/etc/rc
#echo'/etc/init.d/zabbix_agentd_ctlstart&'>>/etc/rc
创建快键方式
#ln-s/etc/init.d/zabbix_server_ctl/usr/bin/zabbix_server_ctl
#ln-s/etc/init.d/zabbix_agentd_ctl/usr/bin/zabbix_agentd_ctl
启动Server和Agentd(可以通过startstoprestart来操作)
#zabbix_agentd_ctlstart
#zabbix_server_ctlstart
检查启动是否正常,查看进程是否起来,分server和agentd
#ps–ef|grepzabbix
如果进程没起来,可以查看对应的日志错误,默认在/tmp/zabbix-*.log
至此ZabbixServer的安装已完成.
Zabbix配置email报警
一、 注释:
在home下面脚本 不一定执行,所以尽量放到别处。
使用msmtp这个命令行MUA
(1)./configure--prefix=/usr/local/msmtp
(2)make
(3)makeinstall
(4)mkdir/usr/local/msmtp/etc
(5)touch/usr/local/msmtp/etc/msmtprc
(6)在/usr/local/msmtp/etc/msmtprc中写入如下内容:
defaults
accountmichael_zhou
host
domain
frommichael_zhou@
authlogin
usermichael_zhou@
passwordyour_password
accountdefault:
michael_zhou
logfile/var/log/maillog
(7)测试一下:
/usr/local/msmtp/bin/msmtpi@,输入内容后按ctrl+D发出。
二、在实际测试中发现直接使用msmtp命令发出去的邮件会看不到发件人和主题,只能看到邮件内容,所以我使用mutt挂接在msmtp上,mutt默认会安装,如果没有安装请yuminstallmutt*
(1)修改mutt的配置文件/etc/Muttrc,不是/etc/muttrc,M要大写
1.setsendmail="/usr/local/msmtp/bin/msmtp"
2.setuse_from=yes
3.setrealname=michael_zhou@#发件人邮箱地址
4.seteditor="vi"
5.保存退出
(2)测试一下:
echo"邮件报警测试"|mutt-s"测试"i@#收件人地址
三、创建 zabbix用于发送邮件的脚本,脚本放在什么位置随便,但是要保证zabbix能找到!
(1)vim/usr/bin/baojing,并写入如下内容:
#!
/bin/bash
echo"$3"|mutt-s"$2"$1#$3表示邮件内容、$2表示邮件标题、$1表示收件人
(2)chmoda+x/usr/bin/baojing
四、zabbix配置
(1)创建meidatypes
1.登录到zabbix,进入“Administration">>”Mediatypes",点击右上角“CreateMediaType"。
Description填"mediatype-baojing"或其它名称,Type选择"Script",Script填”baojing”。
2.点击save保存
(2)创建actions
1.登录到zabbix,进入"Configation">>"Actions",点击右上角"CreateActions"。
输入Name“action-baojing”,其它都默认点击右侧“ActionOperations"下的"New"按钮,"OperationType"选择"Sendmessage","SendMessageto"选择一个或多个要发送消息的用户组,”Sendonlyto"选择我们之前新增的mediatype-baojing。
2.点击save保存
(3)zabbix用户配置
登录到zabbix,进入"Adimistration">>"Users",在之前选定要发送消息的组里的Members栏位里选择一个用户,例如选择Admin用户.
在用户信息修改界面最下方的”Media"处点击"Add"按钮。
Type选择"mediatype-baojing",Sendto填入收件人地址,点击Add添加。
点击"Save"保存配置。
至此配置完成,测试!
不光是zabbix,nagios等监控平台的邮件报警都可以这样配置。
当然转到139邮箱的话可以收到短信的,会更加及时的收到报警。
本文出自“周天琪”博客,请务必保留此出处
zabbix配置飞信报警
最近在公司部署了一个zabbix对公司里的所有服务器、路由器进行实时监控,效果超过预期,大大提高了网络管理的工作效率。
不过貌似国内使用zabbix的用户不多,介绍使用fetion来做为报警介质的文章google下来只有一篇而且基本上是瞎掰完全看不明白。
1、环境说明:
(CentosLinux环境)
#uname-a
LinuxCrob2.6.34-gentoo#1SMPMonMay3115:
45:
25CST2010x86_64Intel(R)Core(TM)2DuoCPUE7500@2.93GHzGenuineIntelGNU/Linux
#emerge-pvzabbix
Thesearethepackagesthatwouldbemerged,inorder:
Calculatingdependencies...done!
[ebuildR]net-analyzer/zabbix-1.8.2USE="agentcurlfrontendjabbermysqlopenipmiproxyserversnmp-ipv6-ldap-oracle-postgres-sqlite3"0kB
2、下载飞信机器人
http:
//www.it-
#wgethttp:
//www.it-
3、安装测试飞信机器人
安装
#tar-zxvffetion20091117-linux.tar.gz-C/usr/local/
测试
#/usr/local/fx/fetion--mobile=159009XXXXX--pwd=XXXXX--to=15900959XXXXX--msg-utf8="这是一条测试消息"
检查手机是否收到消息
4、创建sendsms.sh短信发送脚本
#vim/usr/bin/sendsms.sh
文件内容为如下:
#!
/bin/sh
#sendsmsbyfetion
#$1,$2,$3meanRecipient,SubjectandMessage
/usr/local/fx/fetion--mobile=138176XXXXX--pwd=risghdhdn1--to=$1--msg-utf8="$2,$3"
保存后测试脚本:
#chmod+x/usr/bin/sendsms.sh
#/usr/bin/sendsms.sh138176XXXXXhelloworld
检查手机是否收到消息
5、新增zabbix的MediaType
登录到zabbix,进入“Administration">>”Mediatypes",点击右上角“CreateMediaType"。
Description填"Fetion"或其它名称,Type选择"Script",Script填”sendsms.sh"。
点击"Save"保存配置。
#vim/etc/zabbix/zabbix_server.conf
找到AlertScriptsPath参数并修改成AlertScriptsPath=/usr/bin/
重启zabbix-server服务
6、新增zabbix的Actions配置
登录到zabbix,进入"Configation">>"Actions",点击右上角"CreateActions"。
输入”Name",其它都默认
点击右侧“ActionOperations"下的"New"按钮,"OperationType"选择"Sendmessage","SendMessageto"选择一个或多个要发送消息的用户组,”Sendonlyto"选择我们之前新增的Fetion。
点击"Save"保存配置。
7、zabbix用户配置
登录到zabbix,进入"Adimistration">>"Users",在之前选定要发送消息的组里的Members栏位里选择一个用户,例如选择Admin用户。
在用户信息修改界面最下方的”Media"处点击"Add"按钮。
Type选择"Fetion",Sendto填入收信手机号码,其它参数按需修改,点击Add添加。
点击"Save"保存配置。
至此配置完成,触发一个警报试下手机是否收到讯息。
Zabbix汇总
创建一个模板——模板图形显示————创建条目————图形类型————
Zabbix监控apacheserverstatus
服务器上模板-------插入模板(importTemplate)xml——插入后模板名字为Template