zabbix安装与配置

一、什么是zabbix及优缺点(对比cacti和nagios)

Zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。

agent端:主机通过安装agent方式采集数据。
server端:通过收集agent发送的数据,写入数据库(MySQL,ORACLE等),再通过php+apache在web前端展示.

zabbix = cacti + nagios

  • 优点:基于两款工具优点于一身并更强大,实现企业级分布式监控。
  • 缺点:2.2版本带宽占用大但是升级到2.4版本后更节省了带宽资源,其它再无发现。

二、监控功能

1.主机的性能监控、网络设备性能监控、数据库性能监控、多种告警方式、详细的报表图表绘制。
2.监控主机zabbix有专用的agent,可以监控Linux,Windows,FreeBSD等。
3.监控网络设备zabbix通过SNMP,ssh(不多用)

可监控对象:

  • 设备:服务器,路由器,交换机
  • 软件:OS,网络,应用程序
    主机性能指标监控
    故障监控: down机,服务不可用,主机不可达

三、工作原理

一个监控系统运行的大概的流程是这样的:
zabbix agent需要安装到被监控的主机上,它负责定期收集各项数据,并发送到zabbix server端,zabbix server将数据存储到数据库中,zabbix web根据数据在前端进行展现和绘图。这里agent收集数据分为主动和被动两种模式:

  • 主动:agent请求server获取主动的监控项列表,并主动将监控项内需要检测的数据提交给server/proxy
  • 被动:server向agent请求获取监控项的数据,agent返回数据。

四、zabbix的组件及进程

重要组件
zabbix由以下几个组件部分构成:

1、Zabbix Server:负责接收agent发送的报告信息的核心组件,所有配置,统计数据及操作数据均由其组织进行;

2、Database Storage:专用于存储所有配置信息,以及由zabbix收集的数据;

3、Web interface:zabbix的GUI接口,通常与Server运行在同一台主机上;

4、Proxy:可选组件,常用于分布监控环境中,代理Server收集部分被监控端的监控数据并统一发往Server端;

5、Agent:部署在被监控主机上,负责收集本地数据并发往Server端或Proxy端;

注:zabbix node也是 zabbix server的一种 。

常见进程

五、zabbix监控环境中基本概念

1、主机(host):要监控的网络设备,可由IP或DNS名称指定;

2、主机组(host group):主机的逻辑容器,可以包含主机和模板,但同一个组织内的主机和模板不能互相链接;主机组通常在给用户或用户组指派监控权限时使用;

3、监控项(item):一个特定监控指标的相关的数据;这些数据来自于被监控对象;item是zabbix进行数据收集的核心,相对某个监控对象,每个item都由"key"标识;

4、触发器(trigger):一个表达式,用于评估某监控对象的特定item内接收到的数据是否在合理范围内,也就是阈值;接收的数据量大于阈值时,触发器状态将从"OK"转变为"Problem",当数据再次恢复到合理范围,又转变为"OK";

5、事件(event):触发一个值得关注的事情,比如触发器状态转变,新的agent或重新上线的agent的自动注册等;

6、动作(action):指对于特定事件事先定义的处理方法,如发送通知,何时执行操作;

7、报警升级(escalation):发送警报或者执行远程命令的自定义方案,如每隔5分钟发送一次警报,共发送5次等;

8、媒介(media):发送通知的手段或者通道,如Email、Jabber或者SMS等;

9、通知(notification):通过选定的媒介向用户发送的有关某事件的信息;

10、远程命令(remote command):预定义的命令,可在被监控主机处于某特定条件下时自动执行;

11、模板(template):用于快速定义被监控主机的预设条目集合,通常包含了item、trigger、graph、screen、application以及low-level discovery rule;模板可以直接链接至某个主机;

12、应用(application):一组item的集合;

13、web场景(web scennario):用于检测web站点可用性的一个活多个HTTP请求;

14、前端(frontend):Zabbix的web接口;

六、在centos7.3上安装zabbix4.0

 #安装mariadb10.3数据库
[mariadb]
name=MariaDB
baseurl=http://mirrors.ustc.edu.cn/mariadb/yum/10.3/centos7-amd64/
gpgkey=http://mirrors.ustc.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck=1
#安装mariadb数据库
yum install MariaDB

#安装zabbix4.0的源
rpm -ivh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-
release-4.0-1.el7.noarch.rpm

#安装zabbix所需的组件
yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent

# mysql -uroot -proot
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
mysql> quit;

#导入zabbix服务器所需要的表和数据
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -
p zabbix

#编辑文件/etc/zabbix/zabbix_server.conf
DBPassword=zabbix

#编辑文件设置时区/etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Shanghai(打开注释)

#启动服务和开机自启
systemctl restart zabbix-server zabbix-agent httpd
systemctl enable zabbix-server zabbix-agent httpd

#浏览器访问
http://server_ip/zabbix 

#有乱码方块的解决办法
在windows下的C:\Windows\Fonts下找到宋体字文件simsun.ttc
上传到linux服务器中
cd /usr/share/zabbix/fonts
#将原来的字体备份
mv graphfont.ttf graphfont.ttf.bak
#把windows中的字体改名为graphfont.ttf
mv simsun.ttc graphfont.ttf

添加客户端:
vim /etc/zabbix/zabbix_agentd.conf
修改以下参数:
Server=127.0.0.1(指向server端ip)
ServerActive=127.0.0.1(指向server端ip)
Hostname=Zabbix server

分布式

proxy端:
第一步:安装数据库yum源
[mariadb]
name=MariaDB
baseurl=http://mirrors.ustc.edu.cn/mariadb/yum/10.3/centos7-amd64/
gpgkey=http://mirrors.ustc.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck=1

第二部:安装mariadb数据库
yum install MariaDB

第三步:安装zabbix4.0的源
rpm -ivh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm

第四步:安装zabbix所需的组件
yum install zabbix-proxy

第五步:编辑文件/etc/zabbix/zabbix_proxy.conf
Server=192.168.254.13(proxy指向server ip)
Hostname=Zabbix proxy
DBName=zabbix_proxy
DBUser=zabbix
DBPassword=zabbix

第六步:重启服务
service zabbix-proxy restart

第七步:创建数据库和用户
create database zabbix_proxy character set utf8 collate utf8_bin;
grant all privileges on zabbix_proxy.* to zabbix@localhost identified by 'zabbix';

第八步:解压缩文件到数据库中
zcat /usr/share/doc/zabbix-proxy-mysql-4.0.6/schema.sql.gz | mysql -uzabbix -pzabbix zabbix_proxy

客户端:
第九步:修改agent端配置文件
vim /etc/zabbix/zabbix_agentd.conf
Server=192.168.254.62
ServerActive=192.168.254.62
HostnameItem=system.hostname

第十步:重启客户端
service zabbix-agent restart

第十一步:见word文档分布式

一、关闭sendmail或者postfix

service sendmail stop #关闭
chkconfig sendmail off #禁止开机启动
service postfix stop
chkconfig postfix off

备注:
使用外部邮箱账号时,不需要启动sendmail或者postfix
如果在sendmail或者postfix启动的同时使用外部邮箱发送报警邮件,首先会读取外部邮箱

配置信息。

二、安装邮件发送工具mailx

下载mailx:
yum install mailx

whereis mailx #查看安装路径
mailx -V #查看版本信息

三、配置Zabbix服务端外部邮箱

vi /etc/mail.rc #编辑,添加以下信息
set from=xxx@163.com smtp=smtp.163.com
set smtp-auth-user=xxx@163.com smtp-auth-password=123456
set smtp-auth=login
:wq! #保存退出

echo "zabbix test mail" |mail -s "zabbix" yyy@163.com

测试发送邮件,标题zabbix,邮件内容:zabbix test mail,发送到的邮箱:yyy@163.com 这时候,邮箱yyy@163.com会收到来自xxx@163.com的测试邮件

四、配置Zabbix服务端邮件报警

1、打开Zabbix

image

2、设置Zabbix用户报警邮箱地址

image

3、设置Zabbix触发报警的动作

主题:
Problem: {EVENT.NAME}故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!

内容:
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}

image
image

恢复主题:
恢复{TRIGGER.STATUS}, 服务器:{HOSTNAME1}: {TRIGGER.NAME}已恢复!

恢复信息:
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
已启用:打钩

image

切换到操作选项

新的操作类型:送出信息
送到用户:添加
默认信息:打钩
选择用户:Admin
选择仅送到:Sendmail
存档

image

4、添加Zabbix服务端邮件发送脚本

cd /usr/lib/zabbix/alertscripts #进入脚本存放目录

vi sendmail.sh #编辑,添加以下代码

#!/usr/bin/sh
echo 'start' >> /tmp/zabbix.log
messages=`echo $3 | tr '\r\n' '\n'`
subject=`echo $2 | tr '\r\n' '\n'`
echo "${messages}" | mail -s "${subject}" $1
echo "end" >> /tmp/zabbix.log

:wq! #保存退出

chown zabbix.zabbix sendmail.sh
chown zabbix.zabbix /tmp/zabbix.log

设置脚本所有者为zabbix用户
chmod +x sendmail.sh
设置脚本执行权限

五、测试Zabbix报警
关闭Zabbix客户端服务
service zabbix_agentd stop
查看xxx@163.com邮箱,会收到报警邮件
再开启Zabbix客户端服务
service zabbix_agentd start
查看xxx@163.com邮箱,会收到恢复邮件

自动发现

点击配置--->自动发现

image

创建自动发现的规则

image

然后就可以在检测自动发现里看到扫描出来的主机了

image

如果要监控起来需要添加自动注册,点击配置--->动作

image
image
image

zabbix监控mysql数据库

在客户端的zabbix配置文件中添加HOME=/etc/zabbix/ mysqladmin ping | grep -c alive

image

proxy配置

create database zabbix_proxy character set utf8 collate utf8_bin;
grant all privileges on zabbix_proxy.* to zabbix@localhost identified by 
'zabbix';
zcat /usr/share/doc/zabbix-proxy-mysql-4.0.6/schema.sql.gz | mysql -
uzabbix -pzabbix zabbix_proxy

vim /etc/zabbix/zabbix_proxy.conf
Server=192.168.254.61(zabbix server的ip地址)
Hostname=zabbix-proxy(本机的主机名字)
DBName=zabbix_proxy(数据库名字)
DBUser=zabbix(数据库用户名)
DBPassword=zabbix(数据库密码)

service zabbix-proxy restart

agent端

Server=192.168.254.62
ServerActive=192.168.254.62
HostnameItem=system.hostname

自定义监控

UnsafeUserParameters=1 UserParameter=proc.mysql,ps -ef|grep mysql|wc -l

image
image
image
image

测试命令

image

yum install zabbix-get
zabbix_get -s 127.0.0.1 -p 10050 -k "proc.mysql"

文档里的详细操作

自动注册

自动注册(agent auto-registration)功能主要用于Agent主动且自动向Server注册。与前面的Network discovery具有同样的功能,但是这个功能更适用于特定的环境,当存在一个条件未知(如agent端的IP地址段、agent端的操作系统版本等信息)时,Agent去请求Server仍然可以实现主机自动添加到zabbix web中的功能。比如云环境下的监控,云环境中,IP分配就是随机的,这个功能就可以很好的解决类似的问题

配置步骤如下:


image.png

image.png

image.png

image.png

网络发现由两个步骤组成: 发现和动作(action)
zabbix周期性地扫描在网络发现规则中定义的IP段,根据每一个规则配置自身的检查频率,每一个规则都定义了一个对指定IP段的服务检查集合.
动作是对发现的主机进程相关的设置过程, 常用的动作有添加,或删除主机,启用或停用主机,添加主机到某一个组中,发现通知等等.


image.png

image.png

image.png

image.png

image.png

分布式

image.png

image.png

image.png

image.png

image.png

image.png

自定义监控

image.png

image.png

image.png

image.png

邮件报警

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

Problem: {EVENT.NAME}故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!
内容:
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}

恢复主题:
恢复{TRIGGER.STATUS}, 服务器:{HOSTNAME1}: {TRIGGER.NAME}已恢复!
恢复信息:
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
已启用:打钩

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 161,326评论 4 369
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 68,228评论 1 304
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 110,979评论 0 252
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,489评论 0 217
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,894评论 3 294
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,900评论 1 224
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 32,075评论 2 317
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,803评论 0 205
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,565评论 1 249
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,778评论 2 253
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,255评论 1 265
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,582评论 3 261
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,254评论 3 241
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,151评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,952评论 0 201
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 36,035评论 2 285
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,839评论 2 277

推荐阅读更多精彩内容