Zabbix监控

一、Zabbix介绍

Zabbix简介

  • Zabbix 是由 Alexei Vladishev 开发的一种网络监视、管理系统,基于 Server-Client 架构。可用于监视各种网络服务、服务器和网络机器等状态。
  • 使用各种 Database-end 如 MySQL, PostgreSQL, SQLite, Oracle 或 IBM DB2 储存资料。Server 端基于 C语言、Web 管理端 frontend 则是基于 PHP 所制作的。Zabbix 可以使用多种方式监视。可以只使用 Simple Check 不需要安装 Client 端,亦可基于 SMTP 或 HTTP … 各种协定做死活监视。
  • 在客户端如 UNIX, Windows 中安装 Zabbix Agent 之后,可监视 CPU Load、网络使用状况、硬盘容量等各种状态。而就算没有安装 Agent 在监视对象中,Zabbix 也可以经由 SNMP、TCP、ICMP、利用 IPMI、SSH、telnet 对目标进行监视。另外,Zabbix 包含 XMPP 等各种 Item 警示功能。

重要组件

1.zabbix server:负责接收agent发送的报告信息的核心组件,所有配置、统计数据及操作数据都由它组织进行;
2.database storage:专用于存储所有配置信息,以及由zabbix收集的数据;
3.web interface:zabbix的GUI接口;
4.proxy:可选组件,常用于监控节点很多的分布式环境中,代理server收集部分数据转发到server,可以减轻server的压力;
5.agent:部署在被监控的主机上,负责收集主机本地数据如cpu、内存、数据库等数据发往server端或proxy端;

二、部署Zabbix服务器环境

部署环境

Zabbix服务器:192.168.91.10/24(监控端)
Linux服务器:192.168.91.20/24(被监控端)

部署过程

1.修改主机名,关闭防火墙

[root@localhost ~]# hostnamectl set-hostname zabbix
[root@localhost ~]# su
[root@zabbix ~]# systemctl stop firewalld
[root@zabbix ~]# systemctl disable firewalld.service

2…安装依赖包

[root@zabbix ~]# yum install -y httpd mariadb-server mariadb php php-mysql php-gd libjpeg* php-ldap php-odbc php-pear php-xml php-xmlrpc php-mhash

3.修改apache和php配置文件

[root@zabbix ~]# vi /etc/httpd/conf/httpd.conf
ServerName www.example.com:80
DirectoryIndex  index.php index.html
[root@zabbix ~]# vi /etc/php.ini
date.timezone = PRC

4.开启apache和mariadb

[root@zabbix ~]# systemctl start httpd.service
[root@zabbix ~]# systemctl start mariadb.service

5.验证服务的开启

[root@zabbix ~]# netstat -anpt | grep 80
[root@zabbix ~]# netstat -anpt | grep 3306

6.初始化数据库

[root@zabbix ~]# mysql_secure_installation 
yynyy(选择项)

7.验证php网页是否可以开启

[root@zabbix ~]# vi /var/www/html/index.php
<?php
phpinfo();
?>

8.在浏览器验证验证:
http://192.168.91.10在这里插入图片描述
9.连接数据库,对zabbix用户授权

[root@zabbix ~]# mysql -u root -p
MariaDB [(none)]> CREATE DATABASE zabbix character set utf8 collate utf8_bin;
MariaDB [(none)]> GRANT all ON zabbix.* TO 'zabbix'@'%' IDENTIFIED BY 'admin123';
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit
Bye

10.验证php与mysql的联动性

[root@zabbix ~]# vi /var/www/html/index.php
<?php
$link=mysql_connect('192.168.91.10','zabbix','admin123');
if($link) echo "<h1>Success!!</h1>";
else echo "Fail!!";
mysql_close();
?>

11.在浏览器验证
http://192.168.91.10
在这里插入图片描述

三、部署zabbix服务器

1.添加zabbix源

[root@zabbix ~]# vi /etc/yum.repos.d/CentOS-Base.repo        //添加阿里云源区域
[Ali]
name=CentOS-$releasever - Base
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

[root@zabbix ~]# vi /etc/yum.repos.d/zabbix.repo
[zabbix]
name=Zabbix Official Repository - \$basearch
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/\$basearch/
enabled=1
gpgcheck=0

[zabbix-non-supported]
name=Zabbix Official Repository non-supported - \$basearch
baseurl=https://mirrors.aliyun.com/zabbix/non-supported/rhel/7/\$basearch/
enabled=1
gpgcheck=0

2.清理缓存

[root@zabbix ~]# yum clean all

3.添加缓存

[root@zabbix ~]# yum makecache

4.添加必要插件

[root@zabbix ~]# yum install -y php-mbstring php-bcmath

5.下载zabbix源,安装zabbix服务端软件

[root@zabbix ~]# rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-2.el7.noarch.rpm
[root@zabbix ~]# yum install zabbix-server-mysql zabbix-web-mysql  -y  --nogpgcheck

6.导入zabbix监控数据库

[root@zabbix ~]# zcat /usr/share/doc/zabbix-server-mysql-4.0.27/create.sql.gz | mysql -uzabbix -padmin123 zabbix    
[root@zabbix ~]# grep -n '^'[a-Z] /etc/zabbix/zabbix_server.conf        ##查看zabbix未注释的生效行
[root@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
[root@zabbix ~]# vi /etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Shanghai      ##修改时区,将此行注释去掉修改即可
[root@zabbix ~]# vi /usr/share/zabbix/include/defines.inc.php     //下面操作是修改图表中文乱码
:%s /graphfont/kaiti/g 
从微软系统C:\Windows\Fonts下复制相应的字体文件到 /usr/share/zabbix/assets/fonts 目录中注意字体名称要对应配置文件改为kaiti.ttf,且注意大小写
[root@zabbix ~]# systemctl enable zabbix-server
[root@zabbix ~]# systemctl start zabbix-server
[root@zabbix ~]# netstat -anpt | grep zabbix      ##监听在10051端口上,当客户机也安装好zabbix-agent后才能查询到
[root@zabbix ~]# systemctl restart httpd.service

7.浏览器访问http://192.168.91.10 /zabbix/安装
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
8.登录 用户名Admin 密码:zabbix
9.设置成中文
在这里插入图片描述
在这里插入图片描述

四、配置linux版zabbix客户端

1.修改主机名,关闭防火墙

[root@localhost ~]# hostnamectl set-hostname zabbix
[root@localhost ~]# su
[root@client ~]# systemctl stop firewalld
[root@client ~]# systemctl disable firewalld.service

2.设置yum源

[root@client ~]# vi /etc/yum.repos.d/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

3.安装zabbix-agent

[root@client ~]# yum install -y zabbix-agent --nogpgcheck   ##--nogpgcheck用于解决无密钥安装

4.修改客户端设置

[root@client ~]# vi /etc/zabbix/zabbix_agentd.conf
13:PidFile=/var/run/zabbix/zabbix_agentd.pid
32:LogFile=/var/log/zabbix/zabbix_agentd.log
43:LogFileSize=0
98:Server=192.168.91.10
139:ServerActive=192.168.91.10
150:Hostname=client
268:Include=/etc/zabbix/zabbix_agentd.d/*.conf

5.客户端开启zabbix-agent

[root@client ~]# systemctl enable zabbix-agent.service
[root@client ~]# systemctl start zabbix-agent.service
[root@client ~]# netstat -anpt | grep zabbix  //默认监听在10050端口

6.在浏览器访问http://192.168.91.10 /zabbix/,并添加监控
6.1服务器端创建被监控主机:配置-》主机-》创建主机
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
6.2创建模板:配置-》主机-》名称-》选中主机-》模板
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

五、邮箱报警(zabbix-server上设置)

1.安装邮箱报警的环境及配置文件

[root@zabbix ~]# yum -y install mailx
[root@zabbix ~]# vi /etc/mail.rc
set from=***********@qq.com      ##写入想发送报警邮件的邮箱
set smtp=smtp.qq.com
set smtp-auth-user=***********@qq.com
set smtp-auth-password=***************授权码      ##邮箱 授权码
set smtp-auth=login

2.编写发邮件的脚本

[root@zabbix ~]# cd /usr/lib/zabbix/alertscripts
[root@zabbix ~]# 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
touch /tmp/mailx.log 
[root@zabbix ~]# chown -R zabbix.zabbix  /tmp/mailx.log 
[root@zabbix ~]# chmod +x /usr/lib/zabbix/alertscripts/mailx.sh
[root@zabbix ~]# chown -R zabbix.zabbix /usr/lib/zabbix/

3.脚本测试

[root@zabbix ~]# ./mailx.sh  820717833@qq.com  "主题" "内容"

在这里插入图片描述
4.Zabbix-server网页上配置邮件报警
管理-》报警媒体类型-》创建媒体类型-》
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
管理-用户-点击Admin-报警媒介
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
配置-》动作-》创建动作-》删除默认标签,修改触发条件
在这里插入图片描述
在这里插入图片描述
操作
默认操作步骤持续时间 :60
默认标题:{TRIGGER.STATUS}:{TRIGGER.NAME}

告警主机:{HOST.NAME}
告警IP:{HOST.IP}
告警时间:{EVENT.DATE}-{EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}:{ITEM.VALUE}
时间ID:{EVENT.ID}
在这里插入图片描述
恢复操作
默认标题:{TRIGGER.STATUS}:{TRIGGER.NAME}

恢复主机:{HOST.NAME}
恢复IP:{HOST.IP}
恢复时间:{EVENT.DATE}-{EVENT.TIME}
恢复等级:{TRIGGER.SEVERITY}
恢复信息:{TRIGGER.NAME}:{ITEM.VALUE}
恢复ID:{EVENT.ID}

在这里插入图片描述
添加成功
在这里插入图片描述

七、重启服务,并进行错误测试

1.重启服务

[root@zabbix ~]# systemctl restart zabbix-server

2.测试:
可在客户机端把网卡禁用
[root@client ~]# ifconfig ens33 down
这样可以监控到ICMP项目有问题会邮件报警
将客户端的ssh服务停掉
Systemctl stop sshd
监控端监控到ssh服务有问题也会邮件
在这里插入图片描述
在这里插入图片描述
用ifconfig ens33 up恢复后,邮件也会进行通知
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值