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

zabbix 安装和添加监控配置

2017-11-26 16:56 597 查看
zabbix 术语

zabbix 是一款开源免费的监控软件,目前广泛用于企业监控中,可以监控主机、交换机、路由器、UPS等等。

zabbix 可以采用以下方式进行监控

agent:通过专用的代理程序进行监控,与常见的master/agent模型类似,如果被监控对象支持对应的agent,推荐首选这种方式。

ssh/telnet:通过远程控制协议进行通讯,比如ssh或者telnet。

SNMP:通过SNMP协议与被监控对象进行通讯,一般监控网络设备例如交换机路由器防火墙等会采用这种协议。

IPMI:通过IPMI接口进行监控,我们可以通过标准的IPMI硬件接口,监控被监控对象的物理特征,比如电压,温度,风扇状态,电源状态等。

JMX:通过JMX进行监控,JMX(Java Management Extensions,即Java管理扩展),用这个来监控JVM虚拟机。

zabbix 组件: 

zabbix agent:部署在被监控主机上,负责被监控主机的数据,并将数据发送给zabbix server。

zabbix server:负责接收agent发送的报告信息,并且负责组织配置信息、统计信息、操作数据等。

zabbix database:用于存储所有zabbix的配置信息、监控数据的数据库。

zabbix web:zabbix的web界面,管理员通过web界面管理zabbix配置以及查看zabbix相关监控信息,可以单独部署在独立的服务器上。
zabbix proxy:可选组件,用于分布式监控环境中,zabbix proxy代表server端,完成局部区域内的信息收集,最终统一发往server端。

 


zabbix 安装

以centos 7 为例:

zabbix 官方软件包安装地址:http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/

在zabbix server 端:yum install zabbix-server-mysql (server-mysql 是用来连接数据库用的,web 和web-mysql是用来图形化操作用的)

zabbix 被监控端:yum install zabbix-agent  zabbix-sender (sender 是用来主动发送给server端的)

管理zabbix server的客户端:yum install http php zabbix-web zabbix-web-mysql (这个也可以和zabbix server在同一台机器上,需要安装http是因为

要通过http 访问和修改zabbix server 配置,安装php 是因为zabbix 的网页呈现是通过php 写的)

远端的数据库192.168.10.33要对zabbix 进行授权:

MariaDB [(none)]> create database zbxdb character set 'utf8';  

MariaDB [(none)]> grant all on zbxdb.* to zbxuser@'192.168.%' identified by 'centos'; 

在zabbix server端 [root@localhost ~]# rpm -ql zabbix-server-mysql 会发现 生成 /usr/share/doc/zabbix-server-mysql-3.4.4/create.sql.gz

文件,需要把该文件解压缩并导入到数据库中,操作如下:

uzip /usr/share/doc/zabbix-server-mysql-3.4.4/create.sql.gz  

mysql -uzbxuser -pcentos -h192.168.10.33 -Dzbxdb <create.sql   把解压后的文件导入到远端数据库中。

至此 zabbix 的server 和agent 安装已经完成了,注意zabbix server一定要能够访问数据库,否则zabbix 会不能正常启动的!

zabbix 启动

在zabbix server 端 vim /etc/zabbix/zabbix_server.conf 

ListenPort=10051  不需要改默认就是这个端口

SourceIP=         指定源ip 也可以不写

DBHost=192.168.10.33   mysql 服务器ip,如果在同一台机器上就写localhost

DBName=zbxdb  通过DBName指定zabbix数据库对应的名称

DBUser=zbxuser 通过DBUser指定zabbix数据库用户名

DBPassword=centos 

DBPort=3306

配置http ,这里采用虚拟主机

vim /etc/httpd/conf.d/zabbix.conf
#
# Zabbix monitoring system php web frontend
#
<virtualhost 192.168.10.34:80>
documentroot /usr/share/zabbix
Alias /zabbix /usr/share/zabbix

<IfModule mod_php5.c>
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value always_populate_raw_post_data -1
php_value date.timezone Asia/Shanghai   #修改时区

........此处省略一万字

</virtualhost>


配置完成后重启zabbix-server  和httpd  服务 就可以了。确保zabbix-server 10051 存在的 如果没有的话请检查zabbix server 和mysql的连接情况。 
在电脑上输入: http://192.168.10.34/zabbix/setup,会看到如下界面:  

添加zabbix 监控项

1. 点击 配置 -----> 主机-----> 创建主机



2.  如下图所示:  主机名称要和zabbix-agent 配置文件中hostname 保持一致,否则在zabbix agent 主动发送的时候server端无法识别。可见的名称 填你想用来的标识的名称,配置完成后点击最下面的update。



3 。添加监控项,这里以添加接口的带宽为例,键值的选项很多,很复杂,参考 https://www.zabbix.com/documentation/3.4/zh/manual 



4 添加触发器



触发器的语法也较为复杂,这里列举一些触发器的写法。

触发器表达式:

{<server>:<key>.<function>(<parameter>)}<operator><constant>

示例1

{www.zabbix.com:system.cpu.load[all,avg1].last()}>5

它指定了服务器是“www.zabbix.com”,监控项的键值是“system.cpu.load[all,avg1]”。通过使用函数“last()”获取最近一次获取的值。最后,“>5”表示来自主机www.zabbix.com的最后一次获取的负载值大于5时触发器就会进入PROBLEM状态。

示例 2

{www.zabbix.com:system.cpu.load[all,avg1].last()}>5 or {www.zabbix.com:system.cpu.load[all,avg1].min(10m)}>2 

当负载大于5或者最近10分钟内负载大于2,表达式为“TURE”,就会使触发器进入PROBLEM状态。

示例 3

{www.zabbix.com:vfs.file.cksum[/etc/passwd].diff()}=1

当文件/etc/passwd检查的checksum值与最近的值不同时,表达式为“TURE”,就会使触发器进入PROBLEM状态。 同样的表达式还可以用于监控重要的文件,比如文件/etc/passwd、/etc/inetd.conf、/kernel等等。

示例 4

{www.zabbix.com:net.if.in[eth0,bytes].min(5m)}>100K

当网络适配器“eth0”在5分钟内接收的字节大于100KB,表达式为“TURE”,就会使触发器进入PROBLEM状态。

示例 5

{smtp1.zabbix.com:net.tcp.service[smtp].last()}=0 and {smtp2.zabbix.com:net.tcp.service[smtp].last()}=0

当SMTP服务器“smtp1.zabbix.com”和“smtp2.zabbix.com”都停止,表达式为“TURE”,就会使触发器进入PROBLEM状态。

关于触发器更多的语法和说明请参考官方文档:https://www.zabbix.com/documentation/3.4/zh/manual/config/triggers/expression

5 查看告警

点击 检查中  ------>  问题 ----> 会看到有问题的告警



6 告警媒介

选择  管理------> 报警媒介类型  这里以电子邮件为例,填上你想发送的电子邮件信箱,只要邮箱服务器允许接受你的邮件的话 ,发生告警后你的邮箱就会收到告警信息啦!




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