zabbix监控部署与设置报警发送邮件

zabbix监控介绍与部署

  • zabbix介绍
    • zabbix组件及功能
  • zabbix功能与特点
    • zabbix功能
    • zabbix特点
  • zabbix配置文件
  • 部署zabbix

zabbix介绍

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

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

zabbix组件及功能

1、zabbix server与可选组件zabbix agent。

2、zabbix server:通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Windows,Linux等平台上。

3、zabbix agent:需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。

4、zabbix server可以单独监视远程服务器的服务状态;同时也可以与zabbix agent配合,可以轮询zabbix agent主动接收监视数据(agent方式),同时还可被动接收zabbix agent发送的数据(trapping方式)。
另外zabbix server还支持SNMP (v1,v2),可以与SNMP软件(例如:net-snmp)等配合使用。

zabbix功能与特点

zabbix功能

CPU负荷监控
内存使用监控
磁盘使用监控
网络状况监控
端口监视
日志监视

zabbix特点

安装与配置简单,学习成本低
支持多语言(包括中文)
免费开源
自动发现服务器与网络设备
分布式监视以及web集中管理功能
可以无agent监视
用户安全认证和柔软的授权方式
通过WEB界面设置或查看监视结果
email等通知功能

zabbix配置文件

1、服务器端配置文件zabbix_server.conf常用配置参数:

LogFile:设置服务端日志文件存放路径
ListenIP:设置服务端监听IP
ListenPort:设置服务端监听的端口号
PidFile	:置服务端进程号文件存放路径
DBHost:指定zabbix的数据库服务器IP
DBName:指定zabbix使用的数据库库名
DBUser:指定zabbix数据库登录用户
DBPassword:指定zabbix数据库登录密码
DBPort:指定zabbix数据库端口号
User:设置zabbix以什么用户的身份运行
AlertScriptsPath:设置告警脚本存放路径
ExternalScripts:外部脚本存放路径

2、客户端配置文件zabbix_agentd.conf常用配置参数:

Server	指定zabbix服务器的IP或域名
ServerActive	指定zabbix服务器的IP或域名
Hostname	指定本机的主机名,此项必须与web界面配置项一致
UnsafeUserParameters	是否启用自定义监控项,可选值为{1
UserParameter	指定自定义监控脚本参数
LogFile	设置客户端日志文件存放路径

部署zabbix

一、环境

- IP 安装的服务
服务器(监控端) 20.0.0.13 lamp、zabber-server、zabber-agent
客户端(被监控端) 20.0.0.14 zabber-agent

二、部署lamp架构(服务器上)

#修改apache和php配置文件
vi /etc/httpd/conf/httpd.conf
ServerName www.aa.com:80
DirectoryIndex index.html index.php
vi /etc/php.ini
date.timezone = PRC
#关闭防火墙和核心防护
systemctl stop firewalld.service
setenforce 0
#开启apache和mariadb
systemctl start httpd.service
systemctl start mariadb.service
#验证服务的开启
netstat -anpt | grep 80
netstat -anpt | grep 3306
#初始化数据库
mysql_secure_installation 
回车,Y,密码,重复密码,Y,n,YY
#验证php网页是否可以开启
vi /var/www/html/index.php
<?php
phpinfo();
?>

验证:http://20.0.0.14
zabbix监控部署与设置报警发送邮件_第1张图片

#连接数据库,对zabbix用户授权
mysql -u root -p
CREATE DATABASE zabbix character set utf8 collate utf8_bin;
GRANT all ON zabbix.* TO 'zabbix'@'%' IDENTIFIED BY 'admin123';
flush privileges;
#验证php与mysql的联动性
<?php
$link=mysql_connect('192.168.1.11 ','zabbix','admin123');
if($link) echo "

Success!!

"
; else echo "Fail!!"; mysql_close(); ?>

验证:http://20.0.0.14
zabbix监控部署与设置报警发送邮件_第2张图片
三、部署zabbix服务器

#添加zabbix源
[root@zabbix-server ~]# cd /etc/yum.repos.d/    #导入epel.repo和 CentOS7-Base-163.repo
[root@zabbix-server yum.repos.d]# ls
backup  CentOS7-Base-163.repo  epel.repo  local.repo  repos.bak
[root@zabbix-server yum.repos.d]# yum clean all
[root@zabbix-server yum.repos.d]# yum makecache  #建立缓存

#添加必要插件
[root@zabbix-server yum.repos.d]# yum install -y php-mbstring php-bcmath

#下载zabbix源,安装zabbix服务端软件
[root@zabbix-server yum.repos.d]# rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-2.el7.noarch.rpm
[root@zabbix-server yum.repos.d]# yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent  --nogpgcheck

#导入zabbix监控数据库
[root@zabbix-server yum.repos.d]# zcat /usr/share/doc/zabbix-server-mysql-4.0.27/create.sql.gz | mysql -uzabbix -padmin123 zabbix    
grep -n '^'[a-Z] /etc/zabbix/zabbix_server.conf        //查看zabbix未注释的生效行
vi /etc/zabbix/zabbix_server.conf
38:LogFile=/var/log/zabbix/zabbix_server.log
49:LogFileSize=0
72:PidFile=/var/run/zabbix/zabbix_server.pid
82:SocketDir=/var/run/zabbix
100:DBName=zabbix
116:DBUser=zabbix
125:DBPassword=admin123      //修改此行即可
356:SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
473:Timeout=4
516:AlertScriptsPath=/usr/lib/zabbix/alertscripts
527:ExternalScripts=/usr/lib/zabbix/externalscripts
563:LogSlowQueries=3000

vi /etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Shanghai      //修改时区,将此行注释去掉修改即可

vi /usr/share/zabbix/include/defines.inc.php     //下面操作是修改图表中文乱码
113:define('ZBX_FONT_NAME', 'kaiti');
从微软系统C:\Windows\Fonts下复制相应的字体文件到 /usr/share/zabbix/assets/fonts 目录中注意字体名称要对应配置文件改为kaiti.ttf,且注意大小写

[root@zabbix-server yum.repos.d]# systemctl enable zabbix-server
[root@zabbix-server yum.repos.d]# systemctl start zabbix-server
[root@zabbix-server yum.repos.d]# netstat -anpt | grep zabbix   //监听在10051端口上
[root@zabbix-server yum.repos.d]# systemctl restart httpd.service

四、安装登录
http://20.0.0.14/zabbix/
1、状态检查
zabbix监控部署与设置报警发送邮件_第3张图片
2、连接数据库(输入密码:admin123)
zabbix监控部署与设置报警发送邮件_第4张图片
3、zabbix服务器起名称(zabbix)
zabbix监控部署与设置报警发送邮件_第5张图片
4、信息总览
zabbix监控部署与设置报警发送邮件_第6张图片
5、完成
zabbix监控部署与设置报警发送邮件_第7张图片
6、修改zabbix的监控语言
zabbix监控部署与设置报警发送邮件_第8张图片
zabbix监控部署与设置报警发送邮件_第9张图片
zabbix监控部署与设置报警发送邮件_第10张图片
五、设置zabbix-agent(客户端)

1、设置yum源
[root@zabbix-client ~]# cd /etc/yum.repos.d/
[root@zabbix-client  yum.repos.d]# ls
backup local.repo
[root@zabbix-client  yum.repos.d]# vim zabbix.repo

[zabbix]
name=Zabbix Official Repository - $basearch
baseurl=http://repo.zabbix.com/zabbix/4.0/rhel/7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591

[zabbix-non-supported]
name=Zabbix Official Repository non-supported - $basearch
baseurl=http://repo.zabbix.com/non-supported/rhel/7/$basearch/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
gpgcheck=1


2、安装zabbix-agent
[root@zabbix-client  ~]# yum install -y zabbix-agent --nogpgcheck


3、修改客户端配置
[root@zabbix-client  ~]# vim /etc/zabbix/zabbix_agentd.conf 
98 Server=20.0.0.14 #服务器ip
123 StartAgents=3 ##如果为0 表示禁用
139 ServerActive=20.0.0.14
150 Hostname=client  ##设置客户端在服务端上的名字

4、关闭防火墙和核心防护
[root@zabbix-client  ~]# systemctl stop firewalld
[root@zabbix-client  ~]# setenforce 0


5、启动服务
[root@zabbix-client  ~]# systemctl enable zabbix-agent.service 
[root@zabbix-client  ~]# systemctl start zabbix-agent.service 
[root@zabbix-client  ~]# netstat -anpt | grep zabbix //默认监听在10050端口
tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      65552/zabbix_agentd 
tcp6       0      0 :::10050                :::*                    LISTEN      65552/zabbix_agentd 

六、设置zabbix-agent(服务器上)

[root@zabbix-server ~]# vim /etc/zabbix/zabbix_agentd.conf 
98 Server=20.0.0.14
139 ServerActive=20.0.0.14
150 Hostname=server 

[root@zabbix-server ~]# systemctl enable zabbix-agent.service 
[root@zabbix-server ~]# systemctl start zabbix-agent.service 
[root@zabbix-server ~]# netstat -anpt | grep zabbix
tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      23839/zabbix_agentd 
tcp        0      0 0.0.0.0:10051           0.0.0.0:*               LISTEN      22089/zabbix_server 
tcp6       0      0 :::10050                :::*                    LISTEN      23839/zabbix_agentd 
tcp6       0      0 :::10051                :::*                    LISTEN      22089/zabbix_server 

七、服务器端创建被监控主机与客户机
1、创建主机
zabbix监控部署与设置报警发送邮件_第11张图片
2、配置主机信息
zabbix监控部署与设置报警发送邮件_第12张图片

3、(同理,创建与配置客户机)
zabbix监控部署与设置报警发送邮件_第13张图片

4、给主机配置模板
zabbix监控部署与设置报警发送邮件_第14张图片

zabbix监控部署与设置报警发送邮件_第15张图片
zabbix监控部署与设置报警发送邮件_第16张图片
5、(同理)客户机配置模板
zabbix监控部署与设置报警发送邮件_第17张图片
八、邮箱报警(服务器上)

[root@zabbix-server ~]# yum -y install mailx
[root@zabbix-server ~]# vi /etc/mail.rc
#末尾添加
set bsdcompat
set from=604783724@qq.com
set smtp=smtp.qq.com
set smtp-auth-user=604783724@qq.com
set smtp-auth-password=xlbmkltxlhuhbfaa #授权码
set smtp-auth=login

[root@zabbix-server ~]# cd /usr/lib/zabbix/alertscripts/
[root@zabbix-server alertscripts]# vi mailx.sh

#!/bin/bash
#send mail
messages=`echo $3 | tr '\r\n'  '\n'`
subject=`echo $2 | tr '\r\n'  '\n'`
echo "${messages}" | mail -s "${subject}" $1 >>/tmp/mailx.log 2>&1
[root@zabbix-server alertscripts]# touch /tmp/mailx.log
[root@zabbix-server alertscripts]# chown -R zabbix.zabbix /tmp/mailx.log
[root@zabbix-server alertscripts]# chmod +x /usr/lib/zabbix/alertscripts/mailx.sh 
[root@zabbix-server alertscripts]# chown -R zabbix.zabbix /usr/lib/zabbix
[root@zabbix-server alertscripts]# ./mailx.sh 604783724@qq.com "爆炸新闻" "隔壁的猫生了四胞胎"

zabbix监控部署与设置报警发送邮件_第18张图片
八、网页上配置邮件报警
1、管理→报警媒体类型→创建媒体类型
zabbix监控部署与设置报警发送邮件_第19张图片
2、管理→用户→点击Admin→报警媒介
zabbix监控部署与设置报警发送邮件_第20张图片
3、配置→动作→创建动作
#添加动作触发条件
zabbix监控部署与设置报警发送邮件_第21张图片
#添加操作内容
zabbix监控部署与设置报警发送邮件_第22张图片
#添加恢复操作的内容
zabbix监控部署与设置报警发送邮件_第23张图片
九、测试
#把客户端的网卡禁用
[root@zabbix-client ~]# ifconfig ens33 down
#等几分钟后,查看zabbix网页的监控信息,发现并未更新报错信息
zabbix监控部署与设置报警发送邮件_第24张图片
#此时,不要慌,去看下报警媒介是否有问题
zabbix监控部署与设置报警发送邮件_第25张图片
#果然!报警媒介没加载上,重新添加下
zabbix监控部署与设置报警发送邮件_第26张图片
#此时,再刷新下zabbix网页的报错信息,发现问题出来了
zabbix监控部署与设置报警发送邮件_第27张图片
#再回到客户机上,重启网卡,再刷新下zabbix网页的报错信息,发现问题已解决!
zabbix监控部署与设置报警发送邮件_第28张图片
十、逃不过的排错之路
当我以为大功告成之时,细细一想,不对啊!邮件呢???
不要慌!!有错误,看日志!
zabbix监控部署与设置报警发送邮件_第29张图片
报错信息:No media defined for user.
翻译一下:没有为用户定义媒体

还是用户的问题…在历经半小时的摸索后,发现了问题:
刚才添加报警媒介时,选错了类型:默认是Email,而我们前面配的一值是mail!
zabbix监控部署与设置报警发送邮件_第30张图片
最终,我迎来了心心念念的报错邮件了~
zabbix监控部署与设置报警发送邮件_第31张图片

你可能感兴趣的:(zabbix,监控类,监控程序,zabbix部署,报警邮件)