基于鲲鹏用华为云源zabbix5.0安装部署,监控邮件报警,自动发现,注册,分布式等,一整套详细操作(理论加实操)

举报
QGS 发表于 2021/02/17 21:21:35 2021/02/17
【摘要】 理论+实操(超详细)

理论部分

Zabbix是一个基于Web页面的企业级开源监控软件,提供了分布式系统监控与网络监控功能。具备主机的性能监控,网络设备性能监控,数据库性能监控,多种告警方式,详细报表,图表的绘制等功能。例如:华为云提供了以鲲鹏云服务ECS为基础结合EVS,EIP实现zabbix监控系统云端搭建方案。

1,企业上云后的运维挑战
加速企业IT设施发展
降低IT成本
提升系统稳定性
提升开发部署敏感性
以云平台为基础
技术创新

企业上云挑战
现有IT基础框架亟需优化->新业务建设周期长,投资大->数据管理与业务分析求凸显->数据安全和业务可控存在威胁

企业云上运维特点
开源工具,DevOps特征,全API的体系,数据化运维

主流监控平台
Open-falcon
优点1,自动发现,支持falcon-agent,snmp支持用户主动push,用户自定义插件
优点2,支持单周期亿次的数据采集,告警,判定,历史数据存储和查询;

Nagios
优点1,适合复杂IT环境的企业
优点2,配置灵活,可自定义shell脚本,分布式监控模式
优点3,支持一冗
Zabbix余方式进行主机监控,报警设置多样;

zabbix
优点1,85%以上的泛用互联网企业使用;
优点2,支持多平台的企业级分布式开源监控软件
优点3,可实现复杂多条件告警监控
优点4,提供多种API接口,支持调用脚本

zabbix监控系统功能介绍
zabbix是云数据中心监控解决方案
zabbix是开源分布式监控系统,支持多种采集方式和采集客户端,有专用Agent(代理),也支持SNMP,IPMI,JMX,Telnet,SSH 等多种协议,它将采集到的数据存放在数据库,然后对其进行分析整理,达到条件出发告警,zabbix具备丰富的功能和灵活的扩展性。

控制中心(zabbix)->通知-邮箱告警
控制中心(zabbix)->通过ping或端口检查监控->被监控设备(没有安装Zabbix-Agent的服务器)
控制中心(zabbix)->通过Zabbix-Agent监控->被监控设备(安装了Zabbix-Agent的服务器)
控制中心(zabbix)->通过SNMP监控->被监控设备(网络设备如windows主机设备)
控制中心(zabbix)->配置&状态检查

zabbix监控平台的定位
zabbix是基于web页面的提供分布式系统监控及网络监视功能的企业级的开源解决方案
zabbix能监控各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
可通过SNMP,Zabbix-agent,ping,端口监视等方法提供对/网络状态的监视,数据收集等功能,可以运行在多种平台上。

zabbix监控平台功能介绍-指标收集
指标收集方法:
多平台zabbix代理
SNMP和PMI代理
用户服务无代理监控
自定义方法
计算和聚合
终端用户web监控

zabbix监控平台功能介绍-问题检测
高度灵活的自定义选项
独立的问题条件和解决条件
多个严重等级
跟故障分析
异常检测
趋势预测

zabbix监控平台功能介绍-告警和修复
发送信息
让zabbix自动修复问题
用户自定义的服务级别
根据收件人的角色自定义邮件
基于运行时间和资产信息自定义

zabbix监控平台功能介绍-分布式监控
集中管理,分布式监控
从数千个被监控的设备中采集数据
防火墙,DMZ后监控
即使网络异常,也可以持续采集数据
在受监控的主机上远程运行自定义脚本

zabbix监控系统的部署载体
在整个zabbix监控系统的搭建,维护中,磁盘I/O性能,数据库性能是系统良好运行的关键因素

操作部分

先准备虚拟机

虚拟机准备几台后续陆续用时,并且ping通后建议选择快照,安装出错时还可以复原

第一步,创建虚拟机

命名没有多大要求,我这样命名比较好分辨

给多少内存量,看需求

根据自己的需求选择

根据实际需求选择

选择自己的镜像文件添加即可

关闭,点击完成,开启虚拟机,进行下一步设置设置网卡类型

net.ifnames=0 biosdevname=0

回车等待

先删除/ 和home 在添加/

设置密码等

登入成功后

先ping一下百度

如图,若没有ping成功说明网关没有设置成功

那就手动设置一下

cat /etc/resolv.conf

vi /etc/resolv.conf

将8.8.8.8改为自己的网关

nameserver 8.8.8.8

那就可以进行一下步了,安装部署

zabbix 5.0 版本于 5 月 11 日正式发布,是最新的 LTS(长期支持)版本,5.0 带来很多功能和特性.详见官网文档:https://www.zabbix.com/cn/whats_new_5_0




官网推荐安装步骤
https://www.zabbix.com/cn/download?zabbix=5.0&os_distribution=centos&os_version=7&db=mysql&ws=apache

关闭防火墙和 selinux 并重启

 sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
 systemctl disable --now firewalld

安装 zabbix rpm 源(使用华为云zabbix源)

#用华为云zabbix源

 rpm -Uvh https://mirrors.huaweicloud.cn/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm

 sed -i 's#http://repo.zabbix.com#https://mirrors.huaweicloud.cn/zabbix#' /etc/yum.repos.d/zabbix.repo

 yum clean all

安装 zabbix server 和 agent

yum install zabbix-server-mysql zabbix-agent -y

安装zabbix 前端源

yum install centos-release-scl -y

启用 zabbix 前端源,将[zabbix-frontend]下的 enabled 改为 1
修改/etc/yum.repos.d/zabbix.repo

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

安装 zabbix 前端和相关环境

yum install zabbix-web-mysql-scl zabbix-apache-conf-scl -y

 

使用 yum 安装 centos7 默认的 mariadb 数据库

yum install mariadb mariadb-server mariadb-devel -y
systemctl enable --now mariadb          #启动数据库,并配置开机自动启动
mysql_secure_installation          #初始化 mariadb 并配置 root 密码

其他都y

 

创建初始数据库

# mysql -uroot -p
password

mysql> show databases;         查看默认数据库
mysql> create database zabbix character set utf8 collate utf8_bin;   我们的电脑自带的编码就是utf8

执行成功
mysql> create user zabbix@localhost identified by 'password';    (密码可以自行修改)

mysql> grant all privileges on zabbix.* to zabbix@localhost;

mysql>flush privileges;     更新
mysql> quit;

zabbix 数据库用户为 zabbix,密码为 password(可以自行修改)

导入 zabbix 数据库信息 ,(mysql -u用户名 -p数据库名)

zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix

为Zabbix server配置数据库

编辑配置文件 /etc/zabbix/zabbix_server.conf

vim /etc/zabbix/zabbix_server.conf

DBPassword=password

设置完成后,检查一下

grep '^DBPa' /etc/zabbix/zabbix_server.conf

密码对应即可

为Zabbix前端配置PHP文件里的时区

编辑配置文件 /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf

vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
php_value[date.timezone] = Asia/Shanghai

启动相关服务,并配置开机自动启动

systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm

http://EIP/zabbix/zabbix.php?action=dashboard.view (将EIP改为自己的IP地址)

将页面改为中文版

以及完成部署那就进行下一步吧~_~

实现监控

出现覆盖询问时输入 y 回车即可

准备好几台被监控的虚拟机

部署zabbix-agent2和验证,采集数据,检测其他虚拟机(服务器),在其他虚拟机上安装azbbix-agent2(go语言)

关闭防火墙

sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

systemctl disable --now firewalld

 

yum install ntpdate -y

同步时间,和时区

ntpdate -u ntp.huaweicloud.cn

查看时间

date

时区统一

mv /etc/localtime{,.bak}

ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

部署azbbix-agent2(go语言)

在操作一遍,安装 zabbix rpm 源(使用华为云zabbix源)

#用华为云zabbix源

 rpm -Uvh https://mirrors.huaweicloud.cn/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm

 sed -i 's#http://repo.zabbix.com#https://mirrors.huaweicloud.cn/zabbix#' /etc/yum.repos.d/zabbix.repo

安装azbbix-agent2

yum install zabbix-agent2

提示后输入y回车即可

ls -l /etc/zabbix/zabbix_agent2.conf

开机启动  zabbix-agent2

systemctl enable --now zabbix-agent2


yum -y install net-tools

查看端口


netstat -tnlp|grep zabbix

查看验证zabbix-agent2.service文件

ls /lib/systemd/system/zabbix-agent2.service

需要详细也可以cat查看

配置并修改文件

clear

grep -Ev '^#|^$' /etc/zabbix/zabbix_agent2.conf

cat /var/run/zabbix/zabbix_agent2.pid  (源的不同,可能有些变化)

ps -ef|grep zabbix

vi /etc/zabbix/zabbix_agent2.conf

是自己监控端是ip地址哦~,如192.168.1.1

:wq  退出保存

查看本机主机名或重新命名

比如重新命名c1

hostnamectl set-hostname c1

找到,并修改主机名,如下图

检查并查看修改了什么

grep -Ev '^#|^$' /etc/zabbix/zabbix_agent2.conf

重启zabbix_agent2

systemctl restart zabbix-agent2

试试zabbix-agent2是否接通监控端

方式1(监控端) 主动获取被监控端数据

yum install zabbix-get -y

zabbix_get -s 'IP' -p 10050 -k 'agent.ping'

zabbix_get -s 'IP' -p 10050 -k 'system.hostname'

http://EIP/zabbix/zabbix.php?action=dashboard.view (将EIP改为自己的IP地址)

配置主机

客户端地址修改被监控的虚拟机

解决zabbix-server查看的乱码问题(中文乱码问题)

服务端(监控端)安装wqy-microhei-fonts

yum -y install wqy-microhei-fonts

alias

\cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share//fonts/dejavu/DejaVuSans.ttf

更新页面

根据自己的需求创建聚合图形

聚合图形检测指定的详细信息

如下图操作即可

点击更改,然后添加

添加key模板和邮箱报警(邮箱报警很有作用哦~)

远程登入ssh rot@IP

在客户端(被监控端)配置

设置并监控服务器登入的人数

假设(限制登入人数不超过4个,超过4个就报警信息)

查看zabbix自带的

(IP是自己的地址)比如

zabbix_get -s 'IP' -p 10050 -k 'agent.ping'

zabbix_get -s 'IP' -p 10050 -k 'system.hostname'

zabbix_get -s 'IP' -p 10050 -k 'system.uname'

who

查看本机有几个人登入 who | wc -l

在zabbix创建配置文件,使用于自定义key,找到扩展目录

vi /etc/zabbix/zabbix_agent2.conf

可以用户自定义

cd /etc/zabbix/zabbix_agent2.d

验证配置文件是否写错

systemctl restart zabbix-agent2

systemctl status zabbix-agent2

正确

在(监控端)服务端输入代码验证新配置的文件

zabbix_get -s 'IP' -p 10050 -k 'login.user'       IP为被监控端(客户端)地址

添加自带我key(键)

进入网页http://EIP/zabbix/zabbix.php?action=dashboard.view (将EIP改为自己的IP地址),

创建模板,应用集,监控项,触发器(是否报警),图形(直观展示),主机与模板链接关联,标记

创建完成,可查看

点击Template login User,进入页面,创建应用集,监控项,触发器等

创建监控项

创建触发器

严重性和表达式根据自己的需求来调整

创建图形

选择后,选择最大值,颜色自选,添加即可

关联

点击主机

邮件报警

其他邮件服务也行

添加后在点击更新

用自己的qq邮箱测试发送,发送成功

添加-更新

测试登入用户数超过4个

下一步,就是添加自动发现自动注册(意思就是自动去发现客户端(监控端)并监控upc等,采集数据必要时报警)

若是新的虚拟机先将客户端(被监控端)配置好

客户端(被监控端)配置详细地址 https://bbs.huaweicloud.cn/blogs/239836

自动添加主机监控

查看zabbix-agent2状态

systemctl is-active zabbix-agent2

systemctl status zabbix-agent2

zabbix_get -s '192.x.x.117' -p 10050 -k 'agent.ping'

自动发现自动注册,

zabbix server主动发现客户端(被监控端)

先拿两台虚拟机来实验,具体操作步骤如下

一台服务端(监控端),一台客户端(被监控端)

服务端(监控端) ,IP地址如192.X.X.115 hostname:jk

客户端(被监控端),IP地址如192.X.X.117 hostname:c117

分别在服务端(监控端)和客户端(被监控端)编辑

vi /etc/hosts

进行自动发现配置,修改已有的自动发现规则,或者创新创建一个自动发现规则

根据实际需求修改IP地址范围,更改为如下配置,点击更新

在服务端(监控端)查看一下日记

zabbix_get -s '192.x.x.117' -p 10050 -k 'agent.ping'

自动注册

客户端(被监控端)修改agent2的配置文件

vi /etc/zabbix/zabbix_agent2.conf

将#号去掉

grep -Ev '^#|^$' /etc/zabbix/zabbix_agent2.conf

systemctl restart zabbix-agent2

查看在服务端(监控端)是否连接的得上(验证肾窦接通)

下一步

添加动作,点击添加

添加操作

点击添加

tail -f /var/log/zabbix/zabbix_agent2.log

下一步,分布式部署和添加代理

zabbix监控架构

通过服务端(监控端)监控多台物理机(客户端,被监控端)获取CPU、内存、硬盘、网卡流量、TPC状态、进程数,邮件报警等数据

部署分布式zabbix-proxy

至少准备好三个虚拟机或 物理机(真机谨慎选择)

一台服务端(监控端),一台zabbix-proxy  ,一台客户端(被监控端)    哈哈自己画得不是很好,看的懂就行

服务端(监控端)-115-service,一台zabbix-proxy-116  ,一台客户端(被监控端)-117

115-service

116-proxy

117-zabbix-zgent2

第一步,三台防火墙都关闭

systemctl disable --now firewalld

停用自动发现和自动注册(完成本次实验后再启动)

删除zabbix-agent2主机

在zabbix-proxy-116关闭agent2服务(若是新的虚拟机可不用关闭,新建的虚拟机还没装agent2)

systemctl stop zabbix-agent2

查看agent2服务

netstat -tunlp

未发现agent2服务

而客户端(被监控端)-117agent2是运行的

配置5.0yum源,修改源地址(为了不出错,只能选择一个固定源)

若已经配置过源,配置5.0yum源步骤可省略 !!

#用华为云zabbix源

 rpm -Uvh https://mirrors.huaweicloud.cn/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm

 sed -i 's#http://repo.zabbix.com#https://mirrors.huaweicloud.cn/zabbix#' /etc/yum.repos.d/zabbix.repo

安装proxy,和数据库

在zabbix-proxy-116 中输入一下代码

yum install zabbix-proxy-mysql zabbix-get -y

完成

启动数据库,配置用户,存储zabbix-agent2数据

yum install mariadb-server mariadb -y

systemctl start mariadb

netstat -tunlp

mysql

mysql> create database zabbix_proxy character set utf8 collate utf8_bin;

mysql>grant all privileges on zabbix_proxy.* to zabbix@'localhost' identified by 'zabbix';

mysql>flush privileges;     更新
mysql> quit;

查看安装zabbix-poroxy-mysql路径

rpm -ql zabbix-proxy-mysql

将chema.sql.gz数据导入到mysql中

zcat /usr/share/doc/zabbix-proxy-mysql-5.0.8/schema.sql.gz |mysql -uzabbix -pzabbix zabbix_proxy

mysql

MariaDB [(none)]> show databases;

MariaDB [(none)]> use zabbix_proxy;

MariaDB [(none)]> use zabbix_proxy;

MariaDB [zabbix_proxy]> quit

修改proxy配置文件,链接数据库

sed -i.ori '162a DBPassword=zabbix' /etc/zabbix/zabbix_proxy.conf

sed -i 's#Server=127.0.0.1#Server=IP115#' /etc/zabbix/zabbix_proxy.conf                                          # IP115改为自己的服务端(监控端)地址

hostname

sed -i 's#Hostname=Zabbix proxy#Hostname=c3#' /etc/zabbix/zabbix_proxy.conf                             # c3改为本机的主机名,不输入修改,自己手动进入文件修改也行

如vi /etc/zabbix/zabbix_proxy.conf

grep '^[a-Z]' /etc/zabbix/zabbix_proxy.conf

启动代理服务

systemctl status zabbix-proxy

systemctl restart zabbix-proxy

wed页面添加代理,创建代理后填入zabbix-proxy-116虚拟机的姓名,和本机的ip地址

服务端(监控端)-115-service上查看日记

tail -f /var/log/zabbix/zabbix_server.log

使用proxy, SNMP监控

切换到第三台虚拟机agent2-c117

vi /etc/zabbix/zabbix_agent2.conf

ServerActive IP地址填写代理服务器IP地址

Hostname填当前主机名

退出保存

:wq

创建客户端(被监控端)agent2 主机

netstat -tunlp

grep '^[z-Z]' /etc/zabbix/zabbix_agent2.conf

重启一下agent2服务

systemctl restart zabbix-agent2

等zbx亮起来就说明成功了

切换到zabbix-proxy116-proxy

查看proxy.log日记

tail -f /var/log/zabbix/zabbix_proxy.log

如果还没亮起来,建议检查一下路由配置,三台路由配置都一样即可

cat /etc/hosts

设置完成之后重启服务

在117-zabbix-zgent2端

systemctl restart zabbix-agent2

在116-proxy端

systemctl restart zabbix-proxy

下一步,

SNMP监控服务,监控路由器,打印机等

服务端(监控端)-115-service服务端安装SNMP监控

yum -y install net-snmp net-snmp-utils

配置SNMP

sed -i.ori '57a view systemview included .1' /etc/snmp/snmpd.conf

启动snmp服务

systemctl start snmpd.service

snmpwalk -v 2c  -c public 127.0.0.1 sysname       #-v协议版本 -c暗号 本地IP  snmp的key键

先去取消zabbix 服务和agent,避免影响,可后续删除snmp服务在加上

 

 

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。