小Q: 工欲行其事,必先筑其路;工欲善其事,必先利其器;


今天学习了最后一个监控软件,不过却是我目前来说比较喜欢的软件,第一他有中文支持;第二他可以在web页面对客户端进行操作;就因为他大部分操作都是windows下的,所以要

学习的内容不是很多,主要是理解软件的各种选项,多操作就好;

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

一:简介
二:服务端安装配置
    1.服务器安装
    2.服务启动不了故障
    3.网页安装
三:添加要监控的主机
四:自定义监控服务
    1.自定义网卡监控
五:配置邮件告警
    1.服务器端
    2.web界面
六:扩展文档


一:简介

zabbix基于web的开源软件,可以分布式监控系统服务以及监控网络设备,zabbix由2部分构成,zabbix server与可选组件zabbix agent。 server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能;

支持邮件和短信告警

支持大多配置都可以在web界面配置完成

支持自动发现主机和网络设备,nagios与cacti不支持

不支持数据库支持,需要配置数据库,nagios支持自身数据存储 

官网  http://www.zabbix.com/    


二:服务端安装配置

因为zabbix需要数据库和网络通信的支持,而且这几个软件都是通过php解析,所以我们要搭建LAMP;关于网络们可选的是nginx或httpd,但是yum不支持nginx安装,而如果源码包安装的话还要进行各种配置文件的结合,很麻烦;

1.服务器安装

先安装扩展源epel

rpm -ivh  http://www.lishiming.net/data/p_w_upload/forum/month_1211/epel-release-67.noarch.rpm

搭建LAMP

yum install -y  httpd mysql mysql-libs php php-mysql mysql-server php-bcmath php-gd php-mbstring

安装zabbix服务端:

yum install  zabbix20 zabbix20-agent zabbix20-server  zabbix20-server-mysql zabbix20-web zabbix20-web-mysql net-snmp-devel

创建zabbix的数据库

mysql -uroot -p -e  "create database zabbix"
mysql -uroot -p --default-character-set=utf8 zabbix < /usr/share/zabbix-mysql/schema.sql
mysql -uroot -p --default-character-set=utf8 zabbix < /usr/share/zabbix-mysql/p_w_picpaths.sql
mysql -uroot -p --default-character-set=utf8  zabbix < /usr/share/zabbix-mysql/data.sql

启动服务:

/etc/init.d/zabbix-server start;  /etc/init.d/zabbix-agent start

/etc/init.d/httpd start;  /etc/init.d/mysqld start

查看端口或进程:

netstat  -lnp      ps  aux

2.服务不启动问题

发现zabbix-server没启动起来;查看日志文件vim  /var/log/zabbix/ zabbix_server.log  

有一个问题,是不能连接到数据库,解决方式:

mysql -uroot -e "grant all on *.* to 'zabbix'@'localhost' identified by 'zabbix'" 


vim  /etc/zabbix/zabbix_server.conf  更改

DBname   DBuser  和 DBpsswd                     手动连接上该用户的数据库

重启:/etc/init.d/zabbix-server restart

查看:netstat -lnp |grep zabbix

3.进入网页安装界面

浏览器访问 http://ip/zabbix, 默认会有“It is not safe to rely on the system‘s timezone settings ”这样的警告信息

进入服务器vim /etc/php.ini 

设置 date.timezone=“Asia/Shanghai”     浏览器刷新点next


此时界面中会有一些警告信息,需要我们去更改配置文件

vim /etc/php.ini 

搜索到出现警告的选项,然后更改为提供的数值,

保存退出重启Apache  >>>  浏览器点retry  >>>  next  >>>   输入刚才创建的用户名和密码,其他默认即可    >>>  next  >>>  name自定义IP即可,随意  >>>   next  >>>  finsh

默认登录管理员账号为 admin  ;密码zabbix


三:添加要监控的主机(服务器)

客户端安装

yum  install  -y  zabbix20-agent
vim  /etc/zabbix_agentd.conf        #更改
Server=192.168.1.113;
ServerActive=0.0.0.0:10050;         #支持所有IP连接     
Hostname=teng                       #自定义,但要唯一

启动客户端 :/etc/init.d/zabbix-agent start


服务端检测通信:zabbix_get  -s 客户端ip  -p 10050 -k "system.hostname"          

客户端查看自己的hostname,一样的话证明通信成功;

进入web界面:

点”configuration” --> “host” --> 右上角点”Create Host”  其中host name,  visible name自定义,可以选择groups,这里默认即可,ip address 写入客户端ip

选监控项目模板:点“templates”, 点add, 在弹出的小窗口中选择Template OS Linux, 然后点select, 最后点save


四:自定义监控服务

Zabbix自带了很多模板,模板中有很多监控项目,比如CPU、网卡、内存、进程等等。使用系统自带模板有点太多了,所以我们可以自定义模板。点configuration 选择 templates,点右上角的create templateTemplate name和Visible name  自定义,Groups 选择templates, 点save

然后我们去挑选一些项目拷贝到该模板下:

比如我们找到Template OS Linux 点一下items,选择我们想要的项目,然后在下面选择copy 

selected to … 然后点go Group 选择templates, 找到刚才我们自定义的templates,点copy

点configuration 选择 templates可以看到新建的templates中已经有刚刚我们copy的items了我们可以使用和上面相同的方法自定义拷贝Triggers(触发器 ),它用来设置告警的阀值,当然我们也可以自定义编辑它。

【使用自定义脚本监控网卡流量】

http://beibing.blog.51cto.com/10693373/1702587 


五:配置邮件告警

1.服务器端

发送邮件需要相应的收发软件,比如sendmail或postfix等

yum install -y sendmail  

编写邮件脚本:

mkdir -p /home/zabbix/bin

vim   /home/zabbix/bin/baojing.sh    //内容:

#! /bin/bash

echo "$3" |/bin/mail -s "$2" $1    $321代表内容主题收件人


更改权限:chmod +x /home/zabbix/bin/baojing.sh 

在zabbix_server.conf配置文件中,有参数AlertScriptsPath和ExternalScripts

AlertScriptsPath=/home/zabbix/bin/  ---用户自定义的media types脚本

ExternalScripts=/home/zabbix/bin/   ---用户自定义的检查的脚本(item)

这样才能找到你的脚本,因为你在frontend中只是输入脚本的名称,没有路径。

2.web界面

创建mediea types: “Administration" -->”Media types",点击右上角“Create Media Type"其中Description填"baojing” 或其它自定义名称,Type选择"Script",Script填”baojing.sh”然后点”Save”.  

创建user: “Adimistration” --> “Users”在右上角,选择”Users”,点击”Create User”, alias: test1,自定义name和lastname password:123456;group 选择guest,回到上面点一下media,type 选择baojing,send to 写要发送邮件的邮箱,点add, 最后点save

创建action: “configuration” --> actions,右上角“Create Actions”, Name自定义,我这里写”baojing”,其他默认,然后点右侧的“Operations”下的“New”按钮,“Operation Type”选择“Send message”,“Send Message to”选择一个或多个要发送消息的用户组,Send to Users选择我们之前新增的test1, “Send only to”选择baojing , 点一下add最后点save


好文章 :http://waringid.blog.51cto.com/65148/955939/ 

字符集的问题:http://beibing.blog.51cto.com/10693373/1702634 

各种zabbix扩展 : http://xianglinhu.blog.51cto.com/5787032/d-6 

zabbix agent所有key  http://www.iyunv.com/thread-22959-1-1.html  

仅安装详解:http://www.360doc.com/content/12/0229/17/834950_190596945.shtml 



wKioL1YttSCgRb83AAHwlr012to451.jpg

wKiom1YttO-zEhIvAAHnBHgbLOE978.jpg

wKioL1YttSHzb2EsAAE_Nh6sKwg831.jpg

wKiom1YttPDgGFlxAADHLrju2Ws347.jpg

wKioL1YttSGTMnwnAAFcDDsD0DQ315.jpg