Zabbix介绍 — 什么是Zabbix
Zabbix是一个基于Web界面的分布式系统监控的企业级开源软件。可以监视各种系统与设备的参数,保障服务器及设备的安全运营。
Zabbix介绍 — Zabbix的功能和特性
安装与配置简单
可视化Web管理界面
免费开源
支持中文
自动发现
分布式监视
Zabbix介绍 — Zabbix架构体系
Zabbix介绍 — Zabbix组件及工作原理
Zabbix Server:负责接收Agent发送的报告信息,组织所有配置、数据和操作。
Database Storage:存储配置信息以及收集到的数据。
Web Interface:Zabbix的GUI 接口,通常与Server运行在同一台机器上。
Proxy:可选组件,常用于分布式监控环境中。
Agent:部署在被监控主机上,负责收集数据发送给Server。
Agent获取被监控端数据,发送给Server。
Server记录所接收到的数据,存储在Database中并按照策略进行相应操作。
如果是分布式,Server会将数据传送一份到上级Server中。
Web Interface将收集到的数据和操作信息显示给用户
Zabbix安装 — Web服务
Zabbix Server需要LAMP或LNMP环境。
注:推荐使用Ubuntu Server 14.04 LTS系统,通过apt-get命令直接安装Zabbix Server及所需Web环境,大大节省安装时间。
Zabbix安装 — Zabbix服务端安装
# wget http://repo.zabbix.com/zabbix/2.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_2.4-1+trusty_all.deb
# dpkg -i zabbix-release_2.4-1+trusty_all.deb
# apt-get update
# apt-get install -y zabbix-server-mysql zabbix-frontend-php
Zabbix安装 — Zabbix客户端安装
Linux端:
# apt-get install –y zabbix-agent
Windows端:
在Zabbix官网中下载对应的Zabbix Agent软件。
解压后,在cmd中执行zabbix_agentd.exe –install进行安装。
Zabbix安装 — 初始化安装
在浏览器中访问:http:///zabbix进入安装界面
根据安装提示,完成安装要求,并做相应排错。
Zabbix基本配置 — Zabbix Web UI
访问http:///zabbix
使用默认用户名和密码访问Zabbix Web UI
用户名:admin
密码:zabbix
Zabbix基本配置 — 添加Linux主机
在Linux主机中安装Zabbix Agent
apt-get install –y zabbix-agent
编辑/etc/zabbix/zabbix_agentd.conf文件
Sever=x.x.x.x #Zabbix Server ip地址
Hostname=linux #Zabbix Server hostname
重启zabbix-agent服务
service zabbix-agent restart
在Zabbix Web UI中添加host
注意:
1.Hostname要与zabbix-agent中设置的Hostname一致。
2.Templates中一定要设定正确的Tempalte。
比如Linux就要选择Template OS Linux。
Zabbix基本配置 — 添加Windows主机
下载Windows系统下的Zabbix Agent软件并解压。
将zabbix/bin/win(64或32)/中的所有文件拷贝到C盘根目录下。
将zabbix/conf/zabbix_agentd.conf文件拷贝到C盘根目录下并修改内容:
Server=x.x.x.x #Zabbix Server ip地址
Hostname=Windows #Zabbix Agent hostname
LogFile=c:\zabbix_agentd.log #Zabbix Agent日志文件
ListenPort=10050 #Zabbix Agent端口
在cmd命令控制台中,进入C盘根目录:
zabbix_agentd.exe --install #安装
zabbix_agentd.exe --start #启动
在Zabbix Web UI中添加host
Zabbix常用术语 — Host和Host Group
Host(主机):
需要监控的网络设备,可由IP或DNS名称指定。
Host Group(主机组):
主机的逻辑容器,可以包含主机和模板。在主机数量较多的情况下方便管理。
Zabbix常用术语 — Item
Item(监控项):
一个特定监控指标的相关数据,这些数据来自被监控对象。
Item是Zabbix进行数据收集的核心,每个Item都有“key”进行标示
Zabbix常用术语 — Trigger
Trigger(触发器):
一个表达式,用于评估某个监控对象的某个特定Item内所接收到的数据是否在合理范围内,即阀值。
接收到的数据与阀值进行比较,如果不在阀值内,触发器的状态将从OK转变为Problem,当数据回归到合理范围时,其状态将从Problem转换回OK。
Zabbix常用术语 — Action
Action(动作):
指对于特定事件事先定义的处理方法,通过包含操作(如发送通知)和条件(合适执行操作)。
Zabbix常用术语 — Template
Template(模板):
用于快速定义被监控主机的预设条目集合。
通常包含了item、trigger、graph、screen、application以及low-leve discovery rule;模板可以直接链接至单个主机。
Zabbix常用术语 — 其他常用术语
Media(媒介):
发送通知的手段和通道,比如Email、Jabber或短信等。
Notification(通知):
通过选定的媒介向用户发送的有关某事件的信息。
Remote command(远程命令):预定义命令,可在某个特定条件下自动执行。
Application(应用):一组Item的集合。
Event(事件):即发生的一个值得关注的事件,例如触发器的状态转变,自动发现或自动注册等。
Zabbix报警配置 — 报警方式
Zabbix提供的报警方式:
Email、Jabber、SMS
Zabbix报警配置 — Msmtp和Mutt
Msmtp是一个SMTP客户端,它通过你设定好的邮箱账号信息,将邮件发送给负责发送邮件的SMTP服务器(如:126邮箱)。
Mutt是一个Email程序,用来优化msmtp。
安装配置Msmtp
apt-get install –y msmtp
建立msmtp的log文件
touch /var/log/msmtp.log
在Zabbix Server的用户(通常为Zabbix)的家目录下:
touch .msmtprc
并编辑这个文件内容如下:
accourt default
host smtp.126.com #SMTP服务器地址
port 25 #端口号
auth login
tls off
user [email protected] #邮箱地址
password xxxxx #邮箱密码
logfile /var/log/msmtp.log
进行权限修改:
chmod 600 .msmtprc
chown zabbix.zabbix /var/log/zabbix -R
chown zabbix.zabbix /var/log/msmtp.log
chmod 777 /var/log/msmtp.log
安装Mutt
apt-get install -y mutt
mv /etc/Muttrc /etc/Muttrc.back
编辑Mutt配置文件/etc/Muttrc
set sendmail=“/usr/bin/msmtp”#你的msmtp命令路径
set [email protected] #发送邮箱
set editor="vim"
测试邮件:
切换到Zabbix用户,执行以下命令:
echo “hello zabbix” | mutt –s “zabbix” [email protected]
如果一切正常,你将能够通过QQ邮箱接收到126邮箱发送来的主题为“zabbix”内容为“hello zabbix”的邮件。
注:Zabbix Server的所属用户能否使用mutt发送邮件是Msmtp+Mutt能否实现Zabbix报警的关键。
Zabbix报警配置 — 配置Zabbix Email脚本
修改Zabbix的脚本位置路径
vim /etc/zabbix/zabbix_server.conf
AlertScriptsPath=/usr/local/zabbix/scripts/
修改权限
mkdir -p /usr/local/zabbix/scripts/
chown zabbix.zabbix /usr/local/zabbix –R
service zabbix-server restart
建立mail.sh文件
vim /usr/local/zabbix/scripts/mail.sh
#!/bin/shecho "$3" | mutt -s "$2" $1
修改权限
chown zabbix.zabbix mail.sh
chmod 755 mail.sh
Zabbix Web界面通过右上角的Profile中的Media设置发送到的邮箱。
可以设置多个邮箱,这里设置的是当前登录Zabbix Web UI的用户的邮箱。
Zabbix是按照用户进行发送通知的。
Administration -> Media types中设置Email方式为Script。
Script name为mail.sh
Zabbix报警配置 — 定义Action
Configuration->Actions-> Report problems to Zabbix administrators->Conditions
添加一个需要通知的策略,通过Operations设置触发器触发后需要的操作。
Zabbix报警配置 — 测试邮件
模拟一个根目录磁盘可用空间不足的问题来进行测试。
创建一个10GB的大文件:
dd if=/dev/zero of=test.txt bs=1G count=10