开发者社区> 技术小阿哥> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Zabbix(一):server,agent端 安装配置及主机,监控项,触发器,动作,媒介配置步骤

简介:
+关注继续查看

zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。

zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供柔软的通知机制以让系统管理员快速定位/解决存在的各种问题。


 Zabbix的逻辑组件:

  - 主机(host):被监控的网络设备,通常可以使用IP或DNS名称来指定;

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

  - 监控项(item):一个特定的监控指标的相关数据,这些数据都来自于被监控设备;item是zabbix进行数据收集的核心,因此如果未定义item,就没有数据,每个item都由特定的key进行标识;

key:实现获取监控目标上的数据的命令或脚本的名称;

  - 触发器(trigger):一个条件表达式,即用于评估某个监控对象的某特定item所接收到的数据是否在合理范围内,即:定于阈值;如果接收到的数据在合理范围之外,则触发器的状态将从OK转换为Problem;当接收的数据重新回归到合理范围时,触发器的状态将会从Problem转换为OK;

  - 事件(event):即发生了一个值得关注的事情;

  - 动作(action):指对于特定事件事先定义好的处理方法;通常是由条件和操作组成;

  - 媒介(media):发送通知消息的手段或通道,如:Email,Jabber,微信,SMS等;

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

  - 远程命令(remote command):预定义的命令或脚本,可以在被监控主机处于特定条件时自动执行;

  - 报警升级(escalation):发送报警信息或执行远程命令的自定义方案;

  - 模版(template):用于快速定义被监控主机的各项item的预设项目集合,通常可以包含:item、trigger、graph、screen、application以及low-level discover rule等;模版可以直接链接到单个主机;

  - 应用(application):同一类监控项的结合;

  - web场景(web scennario):用于检测web站点的可用性的一个或多个http协议的请求;

  - 前端(frontend):Zabbix的web接口

  - 图形(graph):用于展示历史数据或趋势数据的图像;

  - 屏幕(screen):由多个graph组成;


下面进行简单的zabbix配置

--------------------------------------------------------------------


服务器端


1.安装Zabbix的web GUI及其他:

yum install httpd php php-mbstring php-gd php-mysql php-bcmath php-ldap php-xml mariadb-server -y


2.安装zabbix

rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm

yum install zabbix-server-mysql zabbix-web-mysql zabbix-web zabbix-agent zabbix-get -y


3.启动MariaDB并创建数据库及授权用户;

1
2
3
4
5
6
systemctl start mariadb
mysql
myslq> create database zabbix charset 'utf8';
mysql> grant all on zabbix.* to zbxuser@'127.0.0.1' identified by 'zbxpass';
mysql> grant all on zabbix.* to zbxuser@'localhost' identified by 'zbxpass';
mysql> grant all on zabbix.* to zbxuser@'172.16.%.%' identified by 'zbxpass';



4.数据库的初始化:

如果是2.x版本的zabbix则有三个SQL脚本,如果是3.x版本的zabbix只有1个SQL脚本,下面这个。


1
2
3
cp /usr/share/doc/zabbix-server-mysql-3.4.4/create.sql.gz /root
gunzip create.sql.gz
mysql -uroot -hlocalhost -p zabbix < create.sql


5.Zabbix服务端的配置文件:/etc/zabbix/zabbix_server.conf


全局通用配置参数:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 ListenPort=10051
 SourceIP=172.16.1.2
 LogType=file
 LogFile=/var/log/zabbix/zabbix_server.log
 LogFileSize=0
 DebugLevel=3
 PidFile=/var/run/zabbix/zabbix_server.pid
 DBHost=172.16.1.2
 DBName=zabbix
 DBUser=zbxuser
 DBPassword=zbxpass
 DBSocket=/tmp/mysql.sock | /var/lib/mysql/mysql.sock
 DBPort=3306
 StartPollers=5
 StartPreprocessors=3
 StartPollersUnreachable=1
 StartTrappers=5
 StartPingers=1
 StartDiscoverers=1
 StartHTTPPollers=1
 StartTimers=1
 StartEscalators=1
 StartAlerters=3


6.配置zabbix-web:

 配置php的时区设定,下面两个任意一个即可,也可两个都配置。

  1./etc/php.ini

date.timezone = Asia/Shanghai

  2./etc/httpd/conf.d/zabbix.conf

php_value date.timezone Asia/Shanghai



7.重启httpd服务,并启动zabbix-server服务

 systemctl restart httpd.service

 systemctl start zabbix-server.service


8.访问URL:


http://172.16.1.2/zabbix

1.png

看到php相关应用都是OK即可

2.png

输入数据库相关内容,再输入以下相关内容

3.png

输入默认用户名/密码:admin/zabbix

刚搭建好.png


------------------------------------------------------------------------------------------

agent端


1.安装zabbix

 rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm

 yum install -y zabbix-agent zabbix-sender


2.改主机的名字

 hostname

 hostnamectl set-hostname zrs2.zrs.com


3.配置一下配置文件:/etc/zabbix/zabbix_agentd.conf


1
2
3
4
5
6
7
8
9
10
[root@zrs2 ~]# egrep -v '^$|#' /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=172.16.1.2
ListenPort=10050
StartAgents=3
ServerActive=172.16.1.2
Hostname=zrs2.zrs.com
Include=/etc/zabbix/zabbix_agentd.d/*.conf


4.启动并查看,没有问题

[root@zrs2 ~]# systemctl start zabbix-agent.service

[root@zrs2 ~]# systemctl status zabbix-agent.service

----------------------------------------------------------------------------------

1.创建主机组

在Configuration中的Host groups中添加主机组,自定义主机组名字,点击add即可。

主机组.png

2.创建主机

在Configuration中的Host groups中找到刚才创建的test group 点击后面的Hosts,然后Create host。

第一个是主机名字,即被监控的主机的名字,务必填写正确,第二个是可视化名字,第三个是所属的主机组,右边的框中如果没有,可自己创建,最后是被监控的主机IP,也可以填写DNS name,二选一,因为是进行简单的配置,所以到这就行了,点击最下面的Add即可。

主机.png

3.创建应用和监控项: Applications + Items

在Configuration中的Hosts中的zrs2后面点击Applications,进入后点击Create application,自定义Name的名字即可,创建三个如下

三个监控.png

在Configuration中的Hosts中的zrs2后面点击Items,进入后点击Create item,自定义Name的名字,key的值从select中选择需要监测的即可,为了采集更多的样本,更新数据的时间设置短一些,applications选择对应的,点击最下面的Add。cpu的上下文切换监控就创建好了。

item.png

下面再创建两个item,监控入站流量和出站流量。可以在Preprocessing中选择Preprocessing steps:Change per second 来监控数据每秒变化量。

item2.png

item3.png

4.Trigger触发器


定义一个traffic too fast当入站流量达到100时,报警

触发器1.png

触发器的表达式:

{Server:key[parameters].function(arguments)}<operator><constant>

Server:被监控的主机名称

key:选中的item对应的key;

parameters:key要求的参数,如果key需要则必须给出;

function:评估采集到的数据是否在合理范围内时所使用的函数;

评估过程:

1.可以根据采集数据的次数;

2.可以指定在一定时间范围内采集到的数据;

常用的函数:

last、avg、max、min、sum、count、change、delta、diff、iregexp、nodata、date、dayofweek、...

arguments:函数的参数

大多数的数值函数可以进行数值计算,也可以接收时间为参数进行计算;如果在数值参数之前使用"#"作为前缀,如:"#NUM"表示NUM次的取值;如果在数值参数之前不使用"#"作为前缀,如"NUM"表示NUM秒的时间内的所有数值取值;

如:

sum(100):表示在100秒内取得的所有数据的和;

sum(#100):表示在最近100次取值之和;

last(100):表示最近的100秒时间内的取值;

last(#1):表示最近一次的取值,相当于last(0)

此外,avg,count,last,max,min等函数还支持第二参数,用于指定时间;

如:max(1h,7d)

operator:操作符,表达式运算的运算符;

比较运算:>, <, =, #(Not Equal)

算术运算:+, -, *, /

逻辑运算:&, |


为了触发器被触发需要定义动作actions

动作1.png

执行动作后的的操作:发送一个消息给管理员

动作2.png


这时需要定义Administration中users下面的media

媒介1.png

再定义media types中的email中的media type

媒介2.png

当入站流量过大超过100时就会触发警报,发邮件给管理员。



本文转自 Runs_ 51CTO博客,原文链接:http://blog.51cto.com/12667170/2044254,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
zabbix监控外网地址-使用zabbix icmp-ping监控网络状态
    公司使用了三线接入,联通.电信.移动最近发现一个问题,有时候网站经常打不开,或者打开的速度很慢,查找原因发现三线之中的一条线路丢包很严重,打客服电话官方回答“线路受到非法攻击,技术人员正在解决”。
3752 0
PostgreSQL的监控三(zabbix)
3  共通的监控工具 前面介绍的PostgreSQL监控工具都偏向于性能分析,没有告警功能。而且它们只是针对PostgreSQL的监视,有时需要监控整个业务相关的系统,这时候就要考虑通用的监控工具了。
2001 0
zabbix监控之自定义监控项目
zabbix搭建好后,除了调用默认的模板,还要监控其它常用的进程,有redis,rsync,nginx,gunicorn,mysql等等都要进行监控。   自定义监控的配置过程如下: 1、编写进程监控脚本,获取监控项的具体值 2、在zabbix_agentd.conf文件中定义UserParameter 3、在界面配置item,通过键值来控制传参 4、查看监控数据情况 5、配置触发器,用来报警 6、宕服务测试   对于zabbix的安装与邮件报警设置,可参考两篇文章。
1083 0
zabbix监控之同时向多人邮件报警 推荐
zabbix做为一款监控软件,报警是必不可少的,该文章主要介绍zabbix向多人邮件报警的配置过程。   zabbix邮件报警配置步骤说明:    1、  准备一个发送邮件的脚本    2、  修改zabbix配置文件中指定的脚本路径 3、关联脚本名称 4、用户设置收件邮箱与报警时间 5、配置报警触发器 6、添加多个用户,同时给多个人发邮件 7、邮件接收测试   1、准备一个发送邮件的脚本 发送邮件有很多方法,自己写脚本的话,只要遵循zabbix传参的格式即可。
1526 0
zabbix linux被监控端部署
测试使用agentd监听获取数据。   服务端的安装可以查看http://blog.chinaunix.net/space.php?uid=25266990&do=blog&id=3380929   下载 http://www.
833 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
Deep Reinforcement Learning fo
立即下载
《Zabbix 监控常用手册》
立即下载
《Nginx 代理系统常用手册》
立即下载