1. Zabbix简介
基于web的开源软件,开源监控系统状态也可以监控网络设备。
和nagios不同的是zabbix会把获取的数据保存在数据库中,所以zabbix需要有数据库支持
Zabbix还可以自动发现主机和网络设备
支持邮件和短信告警
Zabbix大多配置都可以在web界面配置完成
官网http://www.zabbix.com/
服务端安装zabbix
1)安装epel的扩展源 [iyunv@server ~]# yum install -y epel-release 安装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
/etc/init.d/zabbix-server start; /etc/init.d/zabbix-agent start
/etc/init.d/httpd start; /etc/init.d/mysqld start
3)建数据库以及导入数据
[iyunv@server ~]# mysql -uroot -e "create database zabbix" //创建库名为:zabbix [iyunv@server ~]# mysql -uroot -e "grant all on *.* to 'zabbix'@'localhost' identified by '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/images.sql
mysql -uroot -p --default-character-set=utf8 zabbix < /usr/share/zabbix-mysql/data.sql
3.网页安装zabbix
浏览器访问 http://ip/zabbix, 默认会有“It is not safe to rely on the system‘s timezone settings ”这样的警告信息,
说明:
这里最上面提示waring,说未设置timezone,下面我们设置timezone
[iyunv@server ~]# vim /etc/php.ini //找到添加一行 date.timezone='Asia/Chongqing'
重启httpd服务 [iyunv@server ~]# /etc/init.d/httpd restart 刷新页面后,waring提示消失。 2)接着点击next,会出现如下参数Fail。
我们编辑配置php.ini文件 [iyunv@server ~]# vim /etc/php.ini //修改以下参数 post_max_size = 16M max_execution_time = 300 max_input_time = 300 重启httpd服务 [iyunv@server ~]# /etc/init.d/httpd restart 点击Retry,全部显示OK; 接着点击Next,输入账号密码后点击Test connection,显示OK; 3)点击Next,其他默认,只输入Name 为0.115(可以自定义);点next,再点next,最后点finish。
默认管理员账号为:admin,密码为:zabbix 。最后进入到网页服务端。
注意
这时可能会遇到“zabbix server is not running the information displayed may not be current”这样的错误:
解决思路: 1)需要编辑一下 /etc/zabbix/zabbix_server.conf ,配置DBUser, DBPassword
2)一定要关闭selinux 临时关闭:setenforce 0,立即生效 永久关闭:vim /etc/selinux/config,修改SELINUX=disabled,重启Linux才可生效 5、接入要监控的客户端主机
[iyunv@iZ25s9lvbfhZ ~]# yum install zabbix20-agent
2)编辑配置文件
[iyunv@iZ25s9lvbfhZ ~]# vim /etc/zabbix_agentd.conf
Server=192.168.0.115 //服务端IP ServerActive=0.0.0.0:10050 //监听的端口 Hostname=tpp //自定义,但是要唯一 启动客户端 [iyunv@client ~]# /etc/init.d/zabbix-agent start
3)在服务端执行命令 [iyunv@server ~]# zabbix_get -s 192.168.0.114 -p10050 -k "system.hostname" client //显示出了客户端的hostname,说明可以正常通信 4)在web界面下,点”configuration” --> “hosts” --> 右上角点”Create Host” host name为:tpp (自定义) visible name为:tpp (自定义) groups:Linux servers ip address 写入客户端ip:192.168.0.114 其他的默认即可。 配置监控项目模板:点“Templates”, 点 "add", 在弹出的小窗口中选择Template OS Linux, 然后点select, 最后点save 然后我们可以在 "Monitoring" --> "Latest data" 下查看到刚添加的Host "tpp",也可以查看各状态
注意: 5)自定义templates
Zabbix自带了很多模板,模板中有很多监控项目,比如CPU、网卡、内存、进程等等。使用系统自带模板有点太多了,所以我们可以自定义模板。
点configuration 选择 templates,点右上角的create template --> Template 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://www.apelearn.com/bbs/thread-8091-1-1.html
四、zabbix 配置邮件告警
设置触发器的目的是为了让监控的服务实现告警, 那告警如何告呢, 下面我们来配置一下邮件告警。发邮件是服务器通过自己的 sendmail 服务发出的,有时候如果配置不合适或者服务没有启动,我们是发不出邮件的。 1、测试邮件服务 [iyunv@server ~]# yum install -y sendmail [iyunv@server ~]# /etc/init.d/sendmail start [iyunv@server ~]# echo "test mail" |mail -s "test" 1933306137@qq.com [iyunv@server ~]# mailq 说明
"test mail"为邮件内容
"test"为主题 "1933306137@qq.com"为收件人 "mailq"是查看是否发送成功。 如果是虚拟机,很有可能是收不到邮件的,但如果是真机还是可以收到的,只不过很有可能在垃圾邮件箱里。除了sendmail 服务外,我们还可以用 postfix 服务发邮件。
2、配置邮件告警
1) 配置报警脚本 [iyunv@server ~]# mkdir -p /home/zabbix/bin //邮件告警脚本存放目录 [iyunv@server ~]# vim /home/zabbix/bin/baojing.sh //告警脚本,写入以下内容 #! /bin/bash
echo "$3" |/bin/mail -s "$2" $1 //$3为邮件内容,$2为主题,$1为收件人 保存后,修改文件的权限
[iyunv@server ~]# chmod +x /home/zabbix/bin/baojing.sh
2)修改zabbix_server配置文件 [iyunv@server ~]# vim /etc/zabbix_server.conf //修改如下内容 AlertScriptsPath=/home/zabbix/bin/ //用户自定义的 media types 脚本
ExternalScripts=/home/zabbix/bin/ //用户自定义的检查的脚本(item) 3)在浏览器配置
创建 mediea types: "Administration" -->"Media types",点击右上角"Create Media Type"其中 Description 填"baojing" 或其它自定义名称,Type 选择"Script",Script name填"baojing.sh"然后点"Save"。
创建 user:
"Administration"--> "Users" 在右上角,选择"Users",点击"Create User", alias: test1,自定义 name 和 lastname password:123456;groups 选择 guests, 回到上面点一下 media -->type 选择 baojing,send to 写要发送邮件的邮箱,点 add, 最后点 save。
创建 action:
"configuration" --> actions,右上角"Create Actions", Name 自定义,我这里写"baojing",其他默认,然后点右侧的"Operations"下的"New"按钮,"Operation Type"选择"Send message",“Send to User groups”选择一个或多个要发送消息的用户组, Send to Users 选择我们之前新增的 test1, “Send only to”选择 baojing , 点一下 add,最后点 save。
到这里我们的告警服务就配置完成了。
|