Centos7 安装部署Zabbix及邮件告警

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Centos7 安装部署Zabbix及邮件告警相关的知识,希望对你有一定的参考价值。

一、CactiNagios Zabbix监控介绍

1.1Cacti:一套基于php,mysql,SNMPRRDTool开发的网络流量监测图形分析工具

1.1.1、构件(步骤)

net_snmp:负责数据采集

rrdtool:数据存储以及绘图

mysql:保存模板和主机对应的信息

数据采集:cacti使用poller(轮询器)收集数据,主要使用snmp协议从远端的设备上收集数据。

数据存储:cacti使用rrdtool(环形数据库)存储收集到的数据(时间序列数据)。rrd会将原始数据与整合到的数据进行合并,以使得历史数据的存储节省空间。

数据展示:rrdtool绘图功能。

1.1.2、工作原理:

net_snmp协议定时采集数据,保存到rrd,当用户需要查看某个主机对应的监控信息的时候可以在MySQL中寻找对应的主机ip等信息,然后在命令rrd绘制出图形

1.1.3、监控对象:网络流量、cpu使用率、硬盘使用率等 


1.2nagios:一款开源的免费网络监视工具

1.2.1、构件:

主程序(Nagios Daemon:Nagios的主部件,实现了监控,性能,通知,事件处理功能。这些功能都是抽象的逻辑和调度,并没有实际的与设备交互的监控实现,与设备的交互都是在下面一层的Plugin种实现的,这些就是Nagios认为可变部分。

Web Interface: NagiosWeb页面,NagiosWeb容器是Apache HTTPDNagios开发了一个HTTPD模块,并提供Web页面。Web InterfaceNagios Daemon之间通过文件接×××互,Web逻辑读取Nagios的状态文件(status.dat),展示其监控信息。

插件程序(nagios-plugins):四个可选的附件(NRPENSCANSClient++NDOUtils)

NDOUtils:用来将Nagios的配置信息和各event产生的数据存入数据库,以实现这些数据的减速和快速处理

NRPENSClient:工作在客户端

NSCA:被动(让被监控的主机主动将监控信息发送给服务器)需要同时安装在服务端和客户端NSCA---send-nsca

1.2.2、原理:

基于状态的改变来实现报警,当状态改变之后会先不警告(软状态),当两次采集之后状态都改变了再通知(硬状态)

1.2.3、监控对象:注重主机和服务的监控;自带监控项比较少

 

1.3zabbix:基于WEB界面的提供分布式系统监视及网络监视功能的企业级的开源解决方案,基于C/S架构

1.3.1、构造:

agent:被监控对象

server:负责数据收集

proxy:代理

1.3.2、原理:

主被动模式:主被动模式是相对于客户端来说的,主动就是客户端主动将采集的数据发送给server,而被动模式是server过来告诉agent自己需要什么东西,agent采集;zabbixnagios的报警机制一样,通过插件模板来实现

1.3.3、监控对象:网络状态、自带监控项比较多

二、网络拓扑图

技术分享图片

三、部署的环境

zabbix-server:

[[email protected] ~]# cat /etc/redhat-release

CentOS Linux release 7.4.1708 (Core)

[[email protected] ~]# uname -r

3.10.0-693.el7.x86_64

[[email protected] ~]# ifconfig ens32|sed -nr 's#^.*inet (.*)  netmask.*$#\1#gp'

10.0.0.102

[[email protected] ~]# systemctl stop firewalld

[[email protected] ~]# getenforce

Disabled

zabbix-agent1:

[[email protected] ~]# cat /etc/redhat-release

CentOS Linux release 7.4.1708 (Core)

[[email protected] ~]# uname -r

3.10.0-693.el7.x86_64

[[email protected] ~]# ifconfig ens32|sed -nr 's#^.*inet (.*)  netmask.*$#\1#gp'

10.0.0.101

[[email protected] ~]# systemctl stop firewalld

[[email protected] ~]# getenforce

Disabled

zabbix-agent2:

[[email protected] ~]# cat /etc/redhat-release

CentOS Linux release 7.4.1708 (Core)

[[email protected] ~]# uname -r

3.10.0-693.el7.x86_64

[[email protected] ~]# ifconfig ens32|sed -nr 's#^.*inet (.*)  netmask.*$#\1#gp'

10.0.0.103

[[email protected] ~]# systemctl stop firewalld

[[email protected] ~]# getenforce

Disabled

 四、zabbix安装部署(具体过程参照官方文档):

zabbix-server:

4.1安装源码库配置部署包

[[email protected] ~]# rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm

Retrieving https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm

Preparing...                   ################################# [100%]

Updating / installing...

   1:zabbix-release-3.4-1.el7.centos  ################################# [100%]

[[email protected] ~]# rpm -ql zabbix-release  ##查看安装的内容

/etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX

/etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591

/etc/yum.repos.d/zabbix.repo

/usr/share/doc/zabbix-release-3.4

/usr/share/doc/zabbix-release-3.4/GPL

[[email protected] ~]# yum makecache

4.2安装Zabbix部署包

[[email protected] ~]# yum install zabbix-server-mysql zabbix-web-mysql zabbix-server zabbix-agent mariadb-server -y

4.2.1安装初始化数据库

[[email protected] ~]# systemctl start mariadb

[[email protected] ~]# mysql -uroot -p

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

MariaDB [(none)]> show databases;

+----------------------+

| Database        |

+----------------------+

| information_schema  |

| mysql          |

| performance_schema |  

| test          |

| zabbix         |

+-------------------+

MariaDB [(none)]> quit

Bye

[[email protected] ~]# cd /usr/share/doc/zabbix-server-mysql-3.4.8

[[email protected] zabbix-server-mysql-3.4.8]# ls

AUTHORS  ChangeLog  COPYING  create.sql.gz  NEWS  README

[[email protected] zabbix-server-mysql-3.4.8]# zcat create.sql.gz | mysql -uroot zabbix

4.2.2启动Zabbix Server进程

[[email protected] zabbix-server-mysql-3.4.8]# sed -i "s|# DBPassword=|DBPassword=zabbix|g" /etc/zabbix/zabbix_server.conf

[[email protected] zabbix-server-mysql-3.4.8]# systemctl start zabbix-server

[[email protected] zabbix-server-mysql-3.4.8]# netstat -lntup|grep 10051

tcp     0   0 0.0.0.0:10051     0.0.0.0:*    LISTEN     16581/zabbix_server

tcp6    0    0 :::10051         :::*       LISTEN     16581/zabbix_server

4.2.3编辑Zabbix前端的PHP配置

[[email protected] zabbix-server-mysql-3.4.8]# sed -i "s|# php_value date.timezone Europe/Riga|php_value date.timezone Asia/ShangHai|g" /etc/httpd/conf.d/zabbix.conf

[[email protected] zabbix-server-mysql-3.4.8]# systemctl start httpd

Zabbix前端可以在浏览器中通过 http://zabbix-frontend-hostname/zabbix 进行访问。默认的用户名/密码为 Admin/zabbix

如本次实例:http://10.0.0.102/zabbix/setup.php

Step1:

技术分享图片

Step2:

技术分享图片

Step3:

技术分享图片

Step4:

技术分享图片

Step5:

技术分享图片

Step6:

技术分享图片

Step7:

技术分享图片

Step8:

技术分享图片

4.3、优化和添加主机

登陆和配置用户:修改管理员密码

技术分享图片

添加监控主机(配置-->主机-->创建主机):

Step1:

技术分享图片

Step2:

技术分享图片

Step3:

技术分享图片

zabbix-agent1:

安装源码库配置部署包

[[email protected] ~]# rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm

Retrieving https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm

Preparing...                    ################################# [100%]

Updating / installing...

   1:zabbix-release-3.4-1.el7.centos  ################################# [100%]

[[email protected] ~]# rpm -ql zabbix-release

/etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX

/etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591

/etc/yum.repos.d/zabbix.repo

/usr/share/doc/zabbix-release-3.4

/usr/share/doc/zabbix-release-3.4/GPL

[[email protected] ~]# yum install -y zabbix-agent

[[email protected] ~]# sed -i 's#^Server=127.0.0.1#Server=10.0.0.102#g' /etc/zabbix/zabbix_agentd.conf

[[email protected] ~]# cat /etc/zabbix/zabbix_agentd.conf|grep '^Server=1'

Server=10.0.0.102

[[email protected] ~]# systemctl start zabbix-agent

zabbix-agent2:

安装源码库配置部署包

[[email protected] ~]# rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm

Retrieving https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm

Preparing...                    ################################# [100%]

Updating / installing...

   1:zabbix-release-3.4-1.el7.centos  ################################# [100%]

[[email protected] ~]# rpm -ql zabbix-release

/etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX

/etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591

/etc/yum.repos.d/zabbix.repo

/usr/share/doc/zabbix-release-3.4

/usr/share/doc/zabbix-release-3.4/GPL

[[email protected] ~]# yum install -y zabbix-agent

[[email protected] ~]# sed -i 's#^Server=127.0.0.1#Server=10.0.0.102#g' /etc/zabbix/zabbix_agentd.conf

[[email protected] ~]# cat /etc/zabbix/zabbix_agentd.conf|grep '^Server=1'

Server=10.0.0.102

[[email protected] ~]# systemctl start zabbix-agent

五、查看告警主机终端数实例

zabbix-agent1:

[[email protected] ~]# vim /etc/zabbix/zabbix_agentd.conf

UserParameter=log_user,/usr/bin/w|sed -nr 's#^.*,  (.*) users.*$#\1#gp'  ##296

UserParameter=log_user,/usr/bin/w|awk 'NR==1 {print$4}'  ##用这条命令

[[email protected] ~]# systemctl restart zabbix-agent

zabbix-server:

[[email protected] ~]# yum install -y zabbix-get

[[email protected] ~]# zabbix_get -s 10.0.0.101 -k log_user

2

Step1:

技术分享图片

Step2:

技术分享图片

Step3(添加监控项):

技术分享图片

Step4(填完信息再保存):

技术分享图片

Step5(添加图形):

技术分享图片

Step6(填完信息再保存):

技术分享图片

Step7(添加触发器):

技术分享图片

Step8(填完信息再保存):

技术分享图片

Add部分

技术分享图片

Step9(添加图形):

技术分享图片

Step10(填完信息再保存):

技术分享图片

添加一个动作(Configuration-->Actions)

Step1:

技术分享图片

Step2:

技术分享图片

Step3:

技术分享图片

Step4(Administration-->Users):

技术分享图片

Step5(Administration-->Users-->Admin):

技术分享图片

Step6(Administration-->Media types-->Email):注意登录第三方邮件客户端时使用授权码

技术分享图片

Step6多开两个终端验证(Reports-->Action log)

技术分享图片

小结:

1、自定义key-items监控项

我们需要监控什么(用户登录终端数),怎么监控(w|awk)

2zabbixweb页面

  2.1、在监控主机上面添加一个items(agent端定义的key  log_user)

  2.2、画一个图形(数据实际从key-->shell捕获)

  2.3、定义触发器,多少用户登录终端就报警

参照:

https://www.zabbix.com/documentation/3.4/start

http://blog.51cto.com/12118369/1968090

........

以上是关于Centos7 安装部署Zabbix及邮件告警的主要内容,如果未能解决你的问题,请参考以下文章

Zabbix安装配置及邮件报警

linux环境下部署zabbix3.2模板邮件告警详细过程

最新Zabbix通过QQ消息的方式接收告警的部署

Zabbix部署监测及邮件报警机制(实战!)

zabbix_QQ邮件告警部署(待续。。。。。。)

Zabbix4配置邮件告警通知