您的位置:首页 > 运维架构 > Linux

Linux 之 企业大型监控系统Zabbix应用 初级篇

2016-11-10 17:36 901 查看

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://<ip>/zabbix进入安装界面
根据安装提示,完成安装要求,并做相应排错。


Zabbix基本配置 — Zabbix Web UI

访问http://<ip>/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 xxxx@126.com               #邮箱地址
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 realname=xxxxx@126.com      #发送邮箱
set editor="vim"

测试邮件:
切换到Zabbix用户,执行以下命令:
echo  “hello zabbix” | mutt –s “zabbix” xxxx@qq.com
如果一切正常,你将能够通过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报警配置 — 定义Media和Media types

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: