1.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 对⽬标进 ⾏监督。 Zabbbix⾃带的Item⾜够满⾜一般⼩公司的监控需求,关于⼤公司也能够设定⾃界说 的Item,⾃动⽣成报表,也有API能够和其他体系集成

zabbix便是能够满⾜理想化的监控体系需求

⽀持⾃界说监控脚本,供给需求输出的值即可 zabbix存储的数据库表结构稍有复杂可是逻辑明晰 zabbix存在模板的概念,能够⽅便的将⼀组监控项进⾏布置 zabbix每⼀个item也便是监控项,都能够看到历史记录,且web界⾯友爱 zabbix有强⼤的Trigger(触发器)界说规则,能够界说复杂的报警逻辑 zabbix供给了ack报警确认机制 zabbix⽀持邮件,短信,微信等告警 zabbix在触发告警后,能够远程执⾏体系指令 zabbix有原⽣的PHP绘图模块

1)根底装备

预备三台虚拟机,建立zabbix的服务器的装备要在2h2g+,别的两台无所谓

虚拟机称号 虚拟机ip 虚拟机装备
zabbix_server 192.168.200.131 2H2G100G
zabbix_agent1 192.168.200.132 无要求
zabbix_agent2 192.168.200.133 无要求

三台虚拟机都进行如下操作:修正称号——关闭防火墙——装备yum源x

1.1修正虚拟机称号

将三台虚拟机修正成指定称号

Zabbix搭建与基础

1.2关闭防火墙

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

1.3装备yum源

rm -rf /etc/yum.repos.d/CentOS-*					#删去默许yum源
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo		#设置阿里云yum源
rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm				#获取阿里云官方的zabbix包
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo			#增加repo源
yum clean all && yum repolist			#检查yum源是否装备成功

2)yum装置zabbix

此操作只需求在装置zabbix的server端即可。

yum install zabbix-server-mysql zabbix-agent -y		#装置zabbix
yum install centos-release-scl -y					#装置rh插件

注意:装置 Software Collections,便于后续装置⾼版别的 php,默许 yum 装置的 php 版别为 5.4 过低。 SCL(Software Collections)能够让你在同⼀个操作体系上装置和使⽤多个 版别的软件,⽽不会影响整个体系的装置包。 软件包会装置在/opt/rh⽬录下 为了防止体系⼴泛冲突,/opt/rh包装置在⽬录中,例如,这答应你在CentOS 7机器上装置Python 3.5,⽽不会删去或⼲扰Python 2.7. /etc/opt/rh/软件包的一切装备⽂件都存储在⽬录中相应的⽬录中,SCL包 供给了界说使⽤所包括应⽤程序所需的环境变量的shell脚本,例如,PATH, LD_LIBRARY_PATH和MANPATH ,这些脚本存储在⽂件体系中,作为 /opt/rh/package-name/enable 。

3)装备前端

3.1修正zabbix前端yum源

vim /etc/yum.repos.d/zabbix.repo		#进入repo装备文件

Zabbix搭建与基础

3.2装置zabbix前端环境

yum install zabbix-web-mysql-scl zabbix-nginx-conf-scl -y	#前端环境
yum install mariadb-server -y		#装置mariadb数据库
systemctl enable --now mariadb		#设置mariadb开机自启

3.3装备数据库

装置数据,创立用户,给予权限,导入zabbix的表。

mysql_secure_installation			#初始化数据库
Enter current password for root (enter for none): 	
#输入暗码,因为没有暗码直接回车
Set root password? [Y/n] y			#是否设置暗码
Remove anonymous users? [Y/n] y		#删去其他数据库用户
Disallow root login remotely? [Y/n] n	#是否禁止远程登录办理员账号
Remove test database and access to it?[y/n]	#是否删去test数据库
Reload privilege tables now? [Y/n] y	#是否重载权限表

登录数据库,使⽤root⽤户登录mariadb,建⽴zabbix数据库,这⾥的编码设置,⾮常重要,否则zabbix⽆法装置。

create database zabbix character set utf8 collate utf8_bin;
#创立zabbix库,字符设置为uft8,区分大小写
create user zabbix@localhost identified by 'zabbix';
#创立用户zabbix,本地登录,暗码为zabbix
grant all privileges on zabbix.* to zabbix@localhost;
#在zabbix库中一切表,一切的权限给zabbix用户
flush privileges;
#改写用户
quit;
#退出

导入表。默许数据库没有任何文件,在yum装置时,给咱们下载了zabbix的一些sql文件,咱们自己导入才干运用他的网页和组件。

zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -pzabbix zabbix
#zcat: 不翻开压缩包检查其间文件
#-uzabbix: 用户
#-pzabbix: 暗码
#zabbix: 库

修正数据库暗码和时刻。

vim /etc/zabbix/zabbix_server.conf	#设置数据库暗码
DBPassword=zabbix

4)装备zabbix

#设置区域
vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf	
listen.acl_user = apache,nginx		#咱们这儿用nginx来发动网页,因为没有装置apache服务,所以这儿要增加nginx
php_alue[date.timezone] = Asia/Shanghai
#记得将前面的 ; 去掉
#设置网站服务器
vim /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf
listen 80;		#监听nginx的80端口
server_name 192.168.200.131;		#设置ip

5)设置自启

systemctl restart zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm

拜访网页

http://192.168.200.131/zabbix

6)网页装备

出现该界面就算成功

Zabbix搭建与基础

检查先决条件。检查你php装备是否有问题

Zabbix搭建与基础

装备连接数据库

Zabbix搭建与基础

Zabbix搭建与基础

后面的下一步就能够了。

登录账号为 Admin,暗码:zabbix,注意⼤⼩写

Zabbix搭建与基础

Zabbix搭建与基础

2.zabbix根底运用

进入界面后,设置页面为中文

Zabbix搭建与基础

1)根底装备

zabbix便是监控体系,所以咱们需求增加一些机器。

zabbix_agent1和zabbix_agent2已经装备好了yum源,所以直接yum装置即可。

1.1装置所需的东西

装置时刻同步东西

yum install ntpdate -y		#装置时刻同步东西
ntpdate -u ntp.aliyun.com	#时刻源设置为阿里云的
mv /etc/localtime{,.bak}
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

装置所需求的东西包

yum install zabbix-agent2 -y	#装置agent2,绑定zabbix监控机所需求的东西
netstat -tunlp|grep zabbix		#检查是否敞开

1.2修正装备文件

修正装备文件

vim /etc/zabbix/zabbix_agent2.conf	#修正装备文件
#将下面三行修正
Server=192.168.200.131				#修正为zabbix_server的ip
ServerActive=192.168.200.131		#修正为zabbix_server的ip
Hostname=zbz-agent01				#修正为当时主机的称号
#保存退出
systemctl restart zabbix-agent2		#重启服务

1.3检测server机器的连通性

在zabbix_server进行如下操作

yum install zabbix-get -y		#装置所需的东西
zabbix_get -s '192.168.200.132' -p 10050 -k "agent.ping"
#1
zabbix_get -s '192.168.200.132' -p 10050 -k "system.hostname"
#zabbix_agent1

能够看到,zabbix默许监控了server主机。而且可用性的ZBX也显示了。就代表监控成功。而且能够经过点击 “图形” 来检查图形化界面。

Zabbix搭建与基础

Zabbix搭建与基础

处理乱码问题

zabbix是国外公司编写的,其间的ttf文字关于一些页面的中文不兼容,所以需求咱们进行替换修正。

yum -y install wqy-microhei-fonts		#装置字体
cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf	#替换字体文件

2)增加客户端主机

Zabbix搭建与基础

增加监控模板

Zabbix搭建与基础

增加客户端主机1

Zabbix搭建与基础

增加完后,ZBX显示了,即为增加成功。尝试给zabbix_agent2。

Zabbix搭建与基础

3)zabbix检查客户机cpu动态

点击进入图形化界面

Zabbix搭建与基础

下拉检查

Zabbix搭建与基础

4)自界说

zabbix⾃带模板 Template OS Linux (Template App Zabbix Agent) 供给CPU、内存、磁 盘、⽹卡等惯例监控,只需新加主机相关此模板,就可⾃动增加这些监控项。

4.1制造模板

需求:约束登录⼈数不超越三个,超越三⼈则宣布报警

服务器不希望有太多⼈在操作,除了办理员以外的⼈,⼈数超了,我就怀疑有问题, 需求看看是谁,防⽌他乱操作服务器,给咱们运维背锅呀。

自界说key

#zabbix⾃带的key
zabbix_get -s '192.168.200.132' -p 10050 -k "system.uname"
zabbix_get -s '192.168.200.132' -p 10050 -k "system.hostname"
#如果写错了key,会报错

Zabbix搭建与基础

咱们能够经过检查监控项,看看都有哪些key

Zabbix搭建与基础

自行检查键值

Zabbix搭建与基础

自界说监控语法

who |wc -l		#显示登录人数
vim /etc/zabbix/zabbix_agent2.d/userparameter_login.conf
UserParameter=login.user,who|wc -l
systemctl restart zabbix-agent2		#重启agent
zabbix_get -s '192.168.200.132' -p 10050 -k "login.user"
#经过指令检测是否成功

5)创立模板

5.1检查服务器有多少在线用户

Zabbix搭建与基础

增加模板

Zabbix搭建与基础

找到创立的模板

Zabbix搭建与基础

点击,增加使用集

Zabbix搭建与基础

Zabbix搭建与基础

Zabbix搭建与基础

Zabbix搭建与基础

创立触发器

Zabbix搭建与基础

Zabbix搭建与基础

创立图形

Zabbix搭建与基础

装备——主机——客户机——增加模板

Zabbix搭建与基础

检查仪表盘数据

检查客户机1的图形化界面

Zabbix搭建与基础

检查仪表盘

Zabbix搭建与基础

\

5.2检查nginx状态

生成状态监控界面

./configure --with-http_stub_status_module	#装置状态监控模块
vim /usr/local/nginx/conf/nginx.conf	#进入装备文件
#增加字段
locahost /nginx_status {
  stub_status on;
}
systemctl restart nginx	#重启nginx
curl http://192.168.218.156/nginx_status

Zabbix搭建与基础

装备脚本

yum install -y zabbix_agent2	#装置agent2
mkdir /etc/zabbix/scripts/		#创立存储脚本的文件夹
vim /etc/zabbix/scripts/nginx_status
#!/bin/bash
function active {  
/usr/bin/curl "http://192.168.218.156/nginx_status" 2>/dev/null| grep 'Active' | awk '{print $NF}'  
} 
function reading {  
/usr/bin/curl "http://192.168.218.156/nginx_status" 2>/dev/null| grep 'Reading' | awk '{print $2}'  
} 
function writing {  
/usr/bin/curl "http://192.168.218.156/nginx_status" 2>/dev/null| grep 'Writing' | awk '{print $4}'  
} 
function waiting {  
/usr/bin/curl "http://192.168.218.156/nginx_status" 2>/dev/null| grep 'Waiting' | awk '{print $6}'  
} 
function accepts {  
/usr/bin/curl "http://192.168.218.156/nginx_status" 2>/dev/null| awk NR==3 | awk '{print $1}'  
} 
function handled {  
/usr/bin/curl "http://192.168.218.156/nginx_status" 2>/dev/null| awk NR==3 | awk '{print $2}'  
} 
function requests {  
/usr/bin/curl "http://192.168.218.156/nginx_status" 2>/dev/null| awk NR==3 | awk '{print $3}'  
}
$1
vim /etc/zabbix/zabbix_agent2.d/nginx_zabbix.conf		#创立监控文件
UserParameter=nginx[*],/etc/zabbix/scripts/nginx_status $1
chmod 755  /etc/zabbix/scripts/nginx_status	#设置权限
systemctl restart zabbix_agent2
#此时就能够经过server节点检查该节点的脚本
zabbix_get -s 192.168.218.156 -k 'nginx[accepts]'

装备zabbix模板

  1. 创立模板——模板称号(自界说)——设置群组
  2. 使用集——创立使用集——称号(自界说)
  3. 监控项——创立监控项——将7个函数增加进去

Zabbix搭建与基础

  1. 触发器——创立触发器——根据自己情况增加
  2. 图形——创立图形——将7个监控项增加进去

Zabbix搭建与基础

3.zabbix进阶

1)邮件报警

Zabbix搭建与基础

Zabbix搭建与基础

qq的详细操作方法能够百度

Zabbix搭建与基础

设置收件人——记得点击更新

Zabbix搭建与基础