zabbix3.4.7搭建及邮件告警

Zabbix3.4.7部署

系统环境:CentOs7.2

1.关闭selinux

1.1 [root@localhost ~]# setenforce 0 #临时关闭

1.2 [root@localhost ~]# vi /etc/selinux/config #将selinux=enforcing改为SELINUX=disabled #永久关闭

 

2.关闭防火墙

2.1 [root@localhost ~]# systemctl stop firewalld.service #停止防火墙

2.2 [root@localhost ~]# systemctl disable firewalld.service #禁止开机自启动

 

3.zabbix3.4程序安装

3.1 配置zabbix的yum源

[root@localhost ~]#rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm

3.2安装zabbix程序包,安装mysql、zabbxi-agent

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

 

3.3启动mariadb并设置开机启动,创建数据库实例,授权

[root@localhost ~]# systemctl start mariadb #启动mariadb

[root@localhost ~]# systemctl enable mariadb #设置开机启动

[root@localhost ~]# mysql #登入数据库

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@'%' identified by 'zabbix';

#授权所有主机访问数据库实例zabbix,用户名/密码:zabbix/zabbix

Query OK, 0 rows affected (0.00 sec)

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

#授权localhost主机名访问数据库实例zabbix,用户名/密码:zabbix/zabbix

Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost.localdomain identified by 'zabbix'; #授权localhost.localdomain主机访问数据库实例zabbix,用户名/密码:zabbix/zabbix

Query OK, 0 rows affected (0.00 sec)

 

4.导入初始模式和数据

4.1 进入create.sql.gz所在目录

[root@localhost ~]# cd /usr/share/doc/zabbix-server-mysql-3.4.4/

4.2 导入出事模式

[root@localhost zabbix-server-mysql-3.4.4]# zcat create.sql.gz |mysql -uroot zabbix

 

5.启动zabbix-server服务 (服务端部署)

5.1 启动zabbix-server服务 (客户端部署)

[root@localhost zabbix-server-mysql-3.4.4]# systemctl start zabbix-server

5.2 设置zabbix-server服务开机自启动

[root@localhost zabbix-server-mysql-3.4.4]# systemctl enable zabbix-server

ou

6.编辑Apache的配置文件,消注释设置正确的时区

[root@localhost zabbix-server-mysql-3.4.4]# vi /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

 

7.启动httpd服务 ,设置开机启动httpd服务

7.1 启动httpd服务

[root@localhost ~]# systemctl start httpd

7.2 设置开机启动httpd服务

[root@localhost ~]# systemctl enable httpd

 

8.zabbix Web网页安装

8.1 在浏览器输入地址http://服务器ip/zabbix/setup.php,出现欢迎界面,点击下一步;

省略一部分

在浏览器输入http://zabbix服务器ip/zabbix/index.php,输入管理员用户名Admin(区分大小写),默认密码zabbix,点击登入即可。

解决图形界面乱码

1. 控制面板-->字体-->选择一种中文字体 例如”楷体“ (simkai.ttf)

 

2. 将我们下载好的字体上传到zabbix server端的/usr/share/zabbix/fonts目录下

3. 修改/usr/share/zabbix/include/defines.inc.php文件中字体的配置,将里面graphfont替换成simkai

zabbix邮件报警

1. 安装软件包

[root@localhost ~]# yum -y install mailx

2. 给/bin目录下设置权限

[root@localhost ~]# Chown -R zabbix.zabbix /bin/mail

3. 编辑/etc/mail.rc

[root@localhost ~]# vim /etc/mail.rc

set from=15810060392@163.com

set smtp=smtp.163.com

set smtp-auth-user=15810060392@163.com #邮箱账号

set smtp-auth-password=cheng12345 #客户端授权码

set smtp-auth=login

4. 测试mailx配置是否有问题

[root@localhost ~]# echo test | mail -s "my name is shanpao" 15810060888@163.com #此收件箱为收邮件

使用TSL加密协议465端口发送邮件

[root@PLAY ~]# mkdir -p /root/.certs/                           ####创建目录,用来存放证书

[root@PLAY ~]# echo -n | openssl s_client -connect smtp.163.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/.certs/163.crt ####向163请求证书

depth=2 C = US, O = GeoTrust Inc., CN = GeoTrust Global CA

verify return:1

depth=1 C = US, O = GeoTrust Inc., CN = GeoTrust SSL CA - G3

verify return:1

depth=0 C = CN, ST = Zhejiang, L = Hangzhou, O = "NetEase (Hangzhou) Network Co., Ltd", OU = MAIL Dept., CN = *.163.com

verify return:1

DONE

[root@PLAY ~]# certutil -A -n "GeoTrust SSL CA" -t "C,," -d ~/.certs -i ~/.certs/163.crt                  ####添加一个证书到证书数据库中

[root@PLAY ~]# certutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.certs -i ~/.certs/163.crt               ####添加一个证书到证书数据库中

[root@PLAY ~]# certutil -L -d /root/.certs                                                                                         ####列出目录下证书

Certificate Nickname Trust Attributes

SSL,S/MIME,JAR/XPI

GeoTrust SSL CA

最后配置/etc/mail.rc

set from=17737******@163.com
set smtp=smtps://smtp.163.com:465
set smtp-auth-user=17737******@163.com
set smtp-auth-password=*********
set smtp-auth=login
set ssl-verify=ignore
set nss-config-dir=/root/.certs

现在发送测试邮件

 

echo "zabbix test mail" | mail -s "zabbix" 1839623234233423@qq.com

 

看起来已经成功了,但是发送完邮件还有报错:证书不被信任,且命令行就此卡住,需要按键才能出现命令提示符

 Error in certificate: Peer's certificate issuer is not recognized.

 于是

[root@PLAY ~]# cd /root/.certs/
[root@PLAY .certs]# ll
total 80
-rw-r--r-- 1 root root 1793 Jul 6 14:36 163.crt
-rw------- 1 root root 65536 Jul 6 14:37 cert8.db
-rw------- 1 root root 16384 Jul 6 14:37 key3.db
-rw------- 1 root root 16384 Jul 6 14:37 secmod.db
[root@PLAY .certs]# certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ./ -i 163.crt
Notice: Trust flag u is set automatically if the private key is present.

问题解决

 

邮件告警配置

管理-->报警媒介类型-->创建媒体类型

三个必要参数:

{ALERT.SENDTO}

{ALERT.SUBJECT}

{ALERT.MESSAGE}

 

 

默认接收人:{TRIGGER.STATUS}: {TRIGGER.NAME}

主机:{HOST.NAME}

IP:{HOST.IP}

Trigger:{TRIGGER.NAME}

Trigger status:{TRIGGER.STATUS}

Trigger severity:{TRIGGER.SERERITY}

Original event ID:{EVENT.ID}

 

恢复操作:

默认接收人:{TRIGGER.STATUS}: {TRIGGER.NAME}

主机:{HOST.NAME}

IP:{HOST.IP}

Trigger:{TRIGGER.NAME}

Trigger status:{TRIGGER.STATUS}

Trigger severity:{TRIGGER.SERERITY}

Original event ID:{EVENT.ID}

(可以自定义)

服务端配置完成后部署客户端

客户端zabbix-agent安装省略

[root@localhost ~]# vim /etc/zabbix/zabbix_agentd.conf

Server=192.168.4.182 #填写Server端IP

ServerActive=192.168.4.182 #填写监控端server端)IP

Hostname=zabbix server #填写监控端创建主机时的用户名(或ip)

5. 设置开机自启动并启动zabbix客户端

systemctl start zabbix-agent

systemctl enable zabbix-agent

#Server端

1.添加被监控主机的身份信息

界面操作:配置-->主机-->创建主机

填写Agent端信息

主机名必须和Agent端的Hostname一致

Agent代理端口必须和Agent端的Server=XXX.XXX.XXX.XXX 一致

Server:  zabbix serverip地址,

ServerActive: zabbix 主动监控serverip地址,

其中ServerServerActive都指定zabbix ServerIP地址,不同的是,前者是被动后者是主动。也就是说Server这个配置是用来允许172.17.22.155这个ip来我这取数据。而ServerActive172.17.22.155的意思是,客户端主动提交数据给他。

Hostname 主机名,必须唯一,区分大小写。Hostname必须和zabbix web上配置的一直,否则zabbix主动监控无法正常工作。因为agent拿着这个主机名去问server,我有配置主动监控项吗?server拿着这个主机名去配置里面查询,然后返回信息。

zabbix agent检测分为主动(agent active)和被动(agent)两种形式,主动与被动的说法均是相对于agent来讨论的。

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

被动:serveragent请求获取监控项的数据,agent返回数据。

posted @ 2018-06-22 09:43  小短腿跑得快  阅读(860)  评论(0编辑  收藏  举报