zabbix学习笔记

一、安装zabbix

在用zabbix监控软件之前,需要运维人员登录服务器,用top free命令查看服务器状态,很麻烦。

192.168.239.141  zabbix-server   主机名:zbx-server    同步更改SecureCRT名字
192.168.239.143  zabbix-agent	 主机名:zbx-agent01   同步更改SecureCRT名字

安装zabbix,这台服务器主监控机,zbx-server,是汇总的专门用来监控其他服务器的

1.初始化:关闭selinux和防火墙
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
systemctl disable --now firewalld
systemctl stop firewalld

2.更改主机名
hostnamectl set-hostname zbx-server

然后logout,再重新连接,看看改成功没有

3. 获取zabbix的下载源
rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm

4. 更换zabbix.repo源,为阿里的
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo

5.更换源之后,清空缓存
yum clean all

6.安装zabbix server和agent
yum install zabbix-server-mysql zabbix-agent -y

7.安装SCL工具包,可以在机器上使用多个版本的软件,并且不会影响整个系统的依赖环境
yum install centos-release-scl -y

8.修改zabbix前端源
vim /etc/yum.repos.d/zabbix.repo
在zabbix-frontend 把enable改成1  
Esc键 输入“:wq” 保存修改并退出

9.安装zabbix前端环境
yum install zabbix-web-mysql-scl zabbix-apache-conf-scl -y

10.安装zabbix所需数据库,直接用centos7自带的mariadb
yum install mariadb-server -y

11.配置数据库,开机自启动
systemctl enable --now mariadb

12.初始化数据库,设置密码,1234
mysql_secure_installation
回车+y+1234+1234+y+n+y+y

13.创建zabbix数据库,添加数据库用户,授予所有权限,刷新授权表
mysql -uroot -p              
输入密码1234
create database zabbix character set utf8 collate utf8_bin;
create user zabbix@localhost identified by '1234';
grant all privileges on zabbix.* to zabbix@localhost;
flush privileges;
exit;

14.导入数据库信息
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
输入1234  等待一会就行了

15.修改数据库密码
vim /etc/zabbix/zabbix_server.conf
直接输入/DBPassword   在DBPassword=   这输入1234 + 前面#号去掉
Esc键 输入“:wq” 保存修改并退出

16.修改zabbix的php配置文件
vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
直接输入/timezone   改成Asia/Shanghai  再把前面分号去掉   
Esc键 输入“:wq” 保存修改并退出

17.启动zabbix相关服务器
systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm

18.ifconfig  看ip地址
然后用360浏览器,输入ip地址可以看到httpd
输入ip地址/zabbix,可以看到zabbix页面

19.next step ==> next step ==> 密码1234 ==> next step ==>next step ==> finish==> 
用户名Admin  密码zabbix  成功

20.修改zabbix语言

左侧列表User Settings==>找到语言 选择中文==>Update

21.解决乱码问题

zabbix页面==左侧列-监测-主机==点击:图形==看到方框乱码,这是因为改成中文字体的缘故

在主监控机子上输入2行命令

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

刷新zabbix页面

22.临时关闭selinux,然后zabbix不会报错,正常运行

setenforce 0

==============================================================================

被监控的服务器,zbx-agent01

1.在另一台centos上部署zabbix客户端,先更新时间和时区统一
yum install ntpdate -y
ntpdate -u ntp.aliyun.com
mv /etc/localtime{,.bak}
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

2.获取zabbix的下载源
rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm

3. 更换zabbix.repo源,为阿里的
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo

4.更换源之后,清空缓存
yum clean all

5.安装agent2
yum install zabbix-agent2 -y

6.设置zabbix开机自启动,并且现在立即启动
systemctl enable --now zabbix-agent2

7. 更改主机名
hostnamectl set-hostname zbx-agent01
然后logout,再重新连接,看看改成功没有

8.修改agent2配置文件
vim /etc/zabbix/zabbix_agent2.conf  输入/Server回车,输入n
在127.0.0.1改成监控主机IP地址+在ServerActive也改成监控主机ip地址+Hostname改成zbx-agent01
Esc键 输入“:wq” 保存修改并退出

9.重启agent2
systemctl restart zabbix-agent2

10.关闭防火墙
systemctl stop firewalld

======================================================================================

在主监控机子上,测试是否连通被监控机子

1.在监控主机上
yum install zabbix-get -y

2.测试与被控服务器的连通性,下面ip地址,是被监控服务器的ip地址
zabbix_get -s '192.168.239.143' -p 10050 -k "agent.ping"    1代表成功
zabbix_get -s '192.168.239.143' -p 10050 -k "system.hostname"    看看返回的主机名 

二、添加被监控主机

zabbix页面==左侧列:配置==主机==创建主机==
======================================================================================
主机名称:zbx-agent01  (与linux服务器hostname保持一致)
可见的名称:zbx-agent01-192.168.239.143   (hostnmae+被监控的ip地址)
群组:选择linux servers群组
Interface:ip地址选择被监控的ip地址,dns不用填,连接到选择ip,端口10050
描述:这是linux机器,zbx-agent01
无agent代理程序+已启用√
点击添加
=======================================================================================
再对着刚才创建的,点进去,找到第二个,模板
Link new templates 选择 Template OS Linux by Zabbix agent 点击更新

找到第一个,主机,点击更新

随后看左侧-配置-主机那,ZBX有没有亮

三、自定义监控内容

  1. 先在linux写命令行的配置文件
要求:自定义监控服务器登录的人数,如果超过三个就发出报警
======================================================================================
在zbx-agent01服务器上,做以下操作

1.明确需要执行的linux命令
who | wc -l

2.手动创建zabbix的配置文件,用于自定义key
cd /etc/zabbix/zabbix_agent2.d/
vim userparameter_login.conf
输入以下内容
UserParameter=login.user,who|wc -l
Esc键 输入“:wq” 保存修改并退出

3.重启服务
systemctl restart zabbix-agent2
=======================================================================================
在主监控机上,ip地址是被监控机子的ip地址

zabbix_get -s '192.168.239.143' -p 10050 -k "login.user" 
  1. 去zabbix页面,创建模板+应用集+监控项+触发器+图形+关联主机
======================================================================================
zabbix页面==左侧列:配置==模板==创建模板==
模板名称:Template Login User
可见的名称:Template Login User
群组:选择Templates
描述:用于监测服务器登录用户数的模板

点击添加,并在一堆模板里,找到他,点进去
======================================================================================
应用集相当于文件夹,存放很多监控项
点击应用集==右上创建应用集==名称:Server security==点击添加
======================================================================================
点击监控项==右上创建监控项==
名称:Number of logged-in users
类型:zabbix客户端
键值:login.user
更新间隔:30s
历史数据保留时长:Storage period + 30d
趋势存储时间:Storage period + 365d
应用集:选择刚创建的Server security
描述:用于检测服务器登录的用户数量

点击添加
======================================================================================
点击触发器==右上创建触发器==
名称:Number of logins is greater than 3
严重性:一般严重
表达式:点击添加  
     点击选择:Template Login User:Number of logged-in users
	 功能:last - 最后的t值
	 结果:> 3
	 点击插入
点击添加
======================================================================================
点击图形==右上创建图形==
名称:Number of logged-in users
宽:900
高:200
监控项:点击添加+勾选,功能选择最大
点击添加
======================================================================================
zabbix页面==左侧列:配置==主机==点击zbx-agent01-192.168.239.143==

点击模板==Link new templates 选择 Template Login User 点击更新

四、邮件报警

======================================================================================
zabbix页面==左侧列:管理==报警媒介类型==右上创建媒体类型
名称:zabbix_Email
SMTP服务器:smtp.qq.com
SMTP HELO:qq.com
SMTP电邮:2664650221@qq.com
认证:用户名和密码
用户名称:2664650221@qq.com
密码:使用邮箱授权码
描述:这是zabbix使用的发邮件的邮箱配置信息

点击添加

找到zabbix_Email,最右边有测试,可以给自己其他邮箱发一封测试邮件
======================================================================================
备注:这是上一步没做完

zabbix页面==左侧列:管理==报警媒介类型==找到zabbix_Email,点进去==Message templates==点击添加
Message type:问题
主题:Problem:{EVENT.NAME}
消息:默认一大串英文

点击添加
点击更新
======================================================================================
zabbix页面==左侧列:User settings==报警媒介==点击添加
类型:zabbix_Email
收件人:这是给实际运维发的
当启用时:这是时间段,默认全天
把未分类和信息,去掉这两个勾,代表这两个等级不用通知

点击添加
点击更新
======================================================================================
zabbix页面==左侧列:配置==动作==最前面方框勾选上==点击启用
====================================================================================
然后secureCRT,再开三个终端,用监控主机输入命令,看一下登录数量,然后等30秒后的zabbix报警
zabbix_get -s '192.168.239.143' -p 10050 -k "login.user" 

五、批量服务器监控

zabbix页面==左侧列:配置==主机==先把两台被监控服务器删除
=====================================================================================
自动发现(agent2是被动模式)
zabbix server主动的去发现所有的客户端,然后将客户端的信息,登记在服务端的机器上
缺点是,zabbix-server压力会较大
如果说你定义了一个网段,100-200网段,耗时较久,且压力大

zabbix页面==左侧列:配置==自动发现==点击Local network
名称:Local network
IP范围:192.168.239.1-254
更新间隔:60s
勾上已启用

点击更新

zabbix页面==左侧列:配置==动作==点击Trigger actions改成discovery actions
左侧勾选上,点击启用
=====================================================================================
自动注册(agent2是主动模式)
zabbix server2主动上报自己的信息,发给zabbix-server
缺点是agent2可能找不到server,一般是配置文件写错了,或者网络不通

需要改配置文件,由于自动发现已经可以找到虚拟机,就不做自动注册操作了

六、proxy代理服务器

分布式监控,解决网络延时和server压力过大情况
一般每个地区IDC机房内部都有一台proxy代理服务器,再由每个地区的proxy发给总部的server

1.确保之前的自动发现和自动注册已经关闭,我不用我直接三台重装
配置==自动发现==禁用
配置==动作==禁用
配置==主机==删除
2.先zabbix-server照之前安装,再proxy如下安装,最后装agent配置文件ip与之前不一样

192.168.239.138 zabbix-server   主机名:zbx-server 
192.168.239.139 zabbix-proxy	主机名:zbx-proxy
192.168.239.140 zabbix-agent	主机名:zbx-agent

proxy安装过程
1.初始化:关闭selinux和防火墙
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
systemctl disable --now firewalld
systemctl stop firewalld

2.获取zabbix的下载源
rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm

3.更换zabbix.repo源,为阿里的
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo

4.更换源之后,清空缓存
yum clean all

5.安装proxy,以及数据库
yum install zabbix-proxy-mysql zabbix-get -y

6.启动数据库,配置数据库用户,存储zabbix-agent2信息数据
yum install mariadb-server mariadb -y
systemctl start mariadb
mysql回车
create database zabbix_proxy character set utf8 collate utf8_bin;
grant all privileges on zabbix_proxy.* to zabbix@'localhost' identified by 'zabbix';
flush privileges;
exit;

7.导入数据库信息
rpm -ql zabbix-proxy-mysql    #查询schema.sql.gz文件路径

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

8. 更改主机名
hostnamectl set-hostname zbx-proxy
输入密码root 然后exit  再hebe登录看看改成功没有

9.修改zabbix-proxy的配置文件,连接数据库的信息
#第二行第二个Server换成主监控机的ip地址,第三行第二个Hostname是proxy的主机名

sed -i.ori '162a DBPassword=zabbix' /etc/zabbix/zabbix_proxy.conf
sed -i 's#Server=127.0.0.1#Server=192.168.239.138#' /etc/zabbix/zabbix_proxy.conf
sed -i 's#Hostname=Zabbix proxy#Hostname=zbx-proxy#' /etc/zabbix/zabbix_proxy.conf

10.临时关闭selinux
setenforce 0

11.启动服务
systemctl restart zabbix-proxy

12.
zabbix页面==左侧列:管理==agent代理程序==右上创建代理==
agent代理程序名称:zbx-proxy
系统代理程序模式:主动式
代理地址:proxy的ip地址

点击添加==勾选最前面方框==启用主机
最近出现,有2s,代表连接上了
==================================================================================
agent安装过程

1.在另一台centos上部署zabbix客户端,先更新时间和时区统一
yum install ntpdate -y
ntpdate -u ntp.aliyun.com
mv /etc/localtime{,.bak}
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

2.获取zabbix的下载源
rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm

3. 更换zabbix.repo源,为阿里的
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo

4.更换源之后,清空缓存
yum clean all

5.安装agent2
yum install zabbix-agent2 -y

6.设置zabbix开机自启动,并且现在立即启动
systemctl enable --now zabbix-agent2

7. 更改主机名
hostnamectl set-hostname zbx-agent 
输入密码root 然后exit  再hebe登录看看改成功没有

8.修改agent2配置文件
vim /etc/zabbix/zabbix_agent2.conf  输入/Server回车,输入n
在127.0.0.1改成proxy的IP地址+在serveractive也改成proxy的ip地址+Hostname改成zbx-agent
Esc键 输入“:wq” 保存修改并退出

9.重启agent2
systemctl restart zabbix-agent2

10.关闭防火墙
systemctl stop firewalld

11.zabbix页面==左侧列:配置==主机==右上创建主机==
主机名称:zbx-agent  (与linux服务器hostname保持一致)
可见的名称:zbx-agent   
群组:选择linux servers群组
Interface:ip地址选择agent的ip地址,dns不用填,连接到选择ip,端口10050
描述:这是zabbix客户端的配置
代理程序选择zbx-proxy+已启用√

点击添加

12.点击刚才的主机,添加模板
Link new templates 选择 Template OS Linux by Zabbix agent 点击更新

13.在proxy服务器上,修改发送请求30秒内都可以收到数据,并重启服务
vim /etc/zabbix/zabbix_proxy.conf   483行 Timeout=30
systemctl restart zabbix-proxy

随后看主机那,ZBX有没有亮

七、设置SNMP监控

SNMP是给无法安装agent客户端的监控的,比如监控打印机、路由器等等

1.systemctl stop zabbix-proxy   先把上一步proxy代理给停了

2.在server端,安装snmp监控程序
yum -y install net-snmp net-snmp-utils

3.开启snmp的配置
sed -i.ori '57a view systemview  include  .1' /etc/snmp/snmpd.conf 

systemctl start snmpd.service

4.使用snmp命令,监控本地地址127.0.0.1,命令输完应该会识别出主机名
snmpwalk -v 2c -c public 127.0.0.1 sysname

5.netstat -tunlp  查看snmpd的端口,是199

zabbix页面==左侧列:配置==主机==点击zabbix server
在interface这点击添加,选择snmp,修改端口,点击更新
点击zabbix server,点击模板,把原有2个模板都取消并清理
Link new templates 选择 Template OS Linux SNMP 点击更新

看到snmp灯亮了就对了
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值