excel表格基于某条件进行求和的教程
593
2022-05-29
理论部分
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.com/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.com/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地址)
将页面改为中文版
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.com/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.com/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.com
查看时间
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.com/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.com/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.com/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.com/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.com/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服务在加上
Zabbix 分布式 鲲鹏
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。