Zabbix3.0安装部署最佳实践

Zabbix3整个web界面做了一个全新的设计。 

1.1Zabbix环境准备

[root@linux-node1 ~]# cat /etc/redhat-release #查看系统版本

CentOS Linux release 7.2.1511 (Core)

[root@linux-node1 ~]# uname -r #查看内核版本

3.10.0-327.18.2.el7.x86_64

[root@linux-node1 ~]# getenforce #检测selinux是否关闭

Disabled

[root@linux-node1 ~]# systemctl stop firewalld #关闭firewall防火墙

[root@linux-node1 ~]# ifconfig eth0|awk -F '[ :]+' 'NR==2{print $3}' #查看IP地址

192.168.90.11

[root@linux-node1 ~]# hostname #查看主机名

linux-node1.com

1.2Zabbix安装

Zabbix存储配置包以及yum配置文件。

[root@linux-node1 ~]# rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm

Zabbix程序包安装,以及MySQL、Zabbix-agent

[root@linux-node1 ~]# yum install -y zabbix-server-mysql zabbix-web-mysql zabbix-agent mariadb-server

1.3初始数据库

创建Zabbix数据库以及用户。对这样的说明,参考MySQL数据库创建脚本

[root@linux-node1 ~]# systemctl start mariadb

[root@linux-node1 ~]# mysql -uroot -p

MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;

Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';

Query OK, 0 rows affected (0.00 sec)

导入初始模式和数据

[root@linux-node1 ~]# cd /usr/share/doc/zabbix-server-mysql-3.0.3/

[root@linux-node1 zabbix-server-mysql-3.0.3]# zcat create.sql.gz |mysql -uroot zabbix

1.4Zabbix服务器进程启动

在Zabbix_server.conf编辑数据库配置

[root@linux-node1 ~]# grep  ^[a-Z]  /etc/zabbix/zabbix_server.conf

LogFile=/var/log/zabbix/zabbix_server.log

LogFileSize=0

PidFile=/var/run/zabbix/zabbix_server.pid

DBHost=localhost

DBName=zabbix

DBUser=zabbix

DBPassword=zabbix

SNMPTrapperFile=/var/log/snmptrap/snmptrap.log

Timeout=4

AlertScriptsPath=/usr/lib/zabbix/alertscripts

ExternalScripts=/usr/lib/zabbix/externalscripts

LogSlowQueries=3000

启动Zabbix服务器进程

[root@linux-node1 ~]#  systemctl start zabbix-server

1.5编辑Zabbix前端PHP配置

Apache的配置文件/etc/httpd/conf.d/zabbix.conf一些PHP设置已经配置好了。取消注释,设置正确的时区

[root@linux-node1 ~]# vim /etc/httpd/conf.d/zabbix.conf

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

通过改变配置文件重新启动Apache Web服务器

[root@linux-node1 ~]# systemctl start httpd

第2章安装Zabbix Web

2.1步骤1

在你的浏览器,打开网址http://Zabbix_server_ip/zabbix。

你应该看到的web安装向导的第一个屏幕,如图2-1


图2-1

2.2步骤2

确保所有软件先决条件。如图2-2


图2-2

2.3步骤3

输入连接到数据库详细信息。Zabbix数据库必须已经创建好。如图2-3


图2-3

2.4步骤4

连接Zabbix服务细节,如果没有改变可选择默认如图2-4


图2-4

2.5步骤5

回顾一个设置概要,如图2-5


图2-5

2.6步骤6

完成安装,会在/etc/zabbix/web/zabbix.conf.php生成配置文件。如图2-6


图2-6

2.7步骤7

Zabbix登陆准备。 默认的用户名/密码为Admin/zabbix。如图2-7

 


图2-7




Zabbix邮件报警设置方法


实现目的:

在Zabbix服务端设置邮件报警,当被监控主机宕机或者达到触发器预设值时,会自动发送报警邮件到指定邮箱。

具体操作:

以下操作在Zabbix监控服务端进行

邮件报警有两种情况:

1、Zabbix服务端只是单纯的发送报警邮件到指定邮箱,发送报警邮件的这个邮箱账号是Zabbix服务端的本地邮箱账号(例如:root@localhost.localdomain),只能发送,不能接收外部邮件。

2、使用一个可以在互联网上正常收发邮件的邮箱账号(例如:xxx@163.com),通过在Zabbix服务端中设置,使其能够发送报警邮件到指定邮箱。

第一种:使用Zabbix服务端本地邮箱账号发送邮件

一、安装sendmail或者postfix

yum install sendmail sendmail-cf #安装

service sendmail start #启动

chkconfig sendmail on #设置开机启动

sendmail和postfix只需要安装一个即可并开启服务即可。

yum install postfix

service postfix start

chkconfig postfix on

CentOS 5.x 默认已经安装好sendmail

CentOS 6.x 默认已经安装好postfix



二、安装邮件发送工具mailx


CentOS 5.x 编译安装mailx,直接yum安装的mailx版本太旧,使用外部邮件发送会有问题。

yum remove mailx #卸载系统自带的旧版mailx

下载mailx:

http://nchc.dl.sourceforge.net/project/heirloom/heirloom-mailx/12.4/mailx-12.4.tar.bz2

tar jxvf mailx-12.4.tar.bz2 #解压

cd mailx-12.4 #进入目录

make #编译

make install UCBINSTALL=/usr/bin/install #安装

ln -s /usr/local/bin/mailx /bin/mail #创建mailx到mail的软连接

ln -s /etc/nail.rc /etc/mail.rc #创建mailx配置文件软连接

whereis mailx #查看安装路径

mailx -V #查看版本信息


CentOS 6.x  yum install mailx #安装


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

#测试发送邮件,标题zabbix,邮件内容:zabbix test mail,发送到的邮箱:xmlgrg@163.com


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

1、打开Zabbix

管理-示警媒介类型-Email


名称:Email

类型:电子邮件

SMTP伺服器:zabbix.xmlgrg.com

SMTP HELO:zabbix.xmlgrg.com

SMTP电邮:zabbix@zabbix.xmlgrg.com

已经用:勾选

存档

备注:zabbix.xmlgrg.com为Zabbix监控端主机名称,建议修改,否则使用默认的localhost.localdomain发送邮件会被当做垃圾邮件拦截。


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

管理-用户-Admin 


切换到示警媒介

添加



类型:Email

收件人:xxx@163.com

其他默认即可,也可以根据需要设置

状态:已启用

添加



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

组态-动作-创建动作




名称:Action-Email

默认接收人:故障{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}

已启用:打钩       不要直接点击添加


切换到操作选项

新的



操作类型:送出信息

送到用户:添加        用户:勾选Admin     选择

默认信息:打钩




仅送到:Email

点击添加按钮



再次点击添加



查看结果



rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/6/x86_64/zabbix-release-3.0-1.el6.noarch.rpm

yum install zabbix-agent -y

 

sed -i 's#Server=127.0.0.1#\Server=103.211.1.29#g' /etc/zabbix/zabbix_agentd.conf

service zabbix-agent start

chkconfig zabbix-agent on

 

iptables -I INPUT -p tcp --dport 10050 -j DROP

 

iptables -I INPUT -s 103.211.1.29 -p tcp --dport 10050 -j ACCEPT

 

service iptables save

service iptables restart