坚持#第272天~zabbix监控(安装、配置、shell脚本自动实现)

# 安装zabbix
# 执行顺序1,监控中心
# 先把zabbix3.2文件夹拷进来,不用cd进去
firstDir=`pwd`
cd zabbix3.2
yum localinstall * -y
yum install mariadb-server httpd -y
systemctl start mariadb
mysql -e "create database zabbix;"
mysql -e "delete from mysql.user where user='';"
mysql -e "grant all on zabbix.* to zabbix@'%' identified by 'zabbix';"
mysql -e "flush privileges;"
cd /usr/share/doc/zabbix-server-mysql-3.2.11
gunzip create.sql.gz
mysql -u zabbix -pzabbix -D zabbix < create.sql
sed -i '115c\DBPassword=zabbix' /etc/zabbix/zabbix_server.conf
sed -i '19c\php_value date.timezone Asia/Shanghai' /etc/httpd/conf.d/zabbix.conf
echo "使用systemctl start httpd和systemctl start zabbix-server启动服务端口是10051"
echo "安装预备工作已完成,请打开浏览器输入本机ip/zabbix进入主页进行zabbix安装"


# 执行顺序2,监控对象
# 先把zabbix-agent-3.2.11-1.el7.x86_64.rpm拷进来,不用解压
read -p "请输入监控中心的ip:" jiankongzhongxin
hostIP=`ifconfig ens33 | grep netmask | tr -s " " | cut -d " " -f3 | cut -d "." -f1,2,3,4`
firstDir=`pwd`
yum install -y zabbix-agent-3.2.11-1.el7.x86_64.rpm
sed -i '95c\Server='${jiankongzhongxin}'' /etc/zabbix/zabbix_agentd.conf
sed -i '136c\ServerActive='${jiankongzhongxin}'' /etc/zabbix/zabbix_agentd.conf
sed -i '147c\Hostname='${hostIP}'' /etc/zabbix/zabbix_agentd.conf
sed -i '293c\UserParameter=boot.used,/usr/bin/df | /usr/bin/grep "boot" | /usr/bin/tr -s " " | /usr/bin/cut -d " " -f5 | /usr/bin/cut -d "%" -f1' /etc/zabbix/zabbix_agentd.conf
echo "使用systemctl start zabbix-agent开启zabbix-agent服务,端口是10050"


nagios安装完成后会出现那些目录?

etc  libexec var里面放日志 

etc 里面有object  htpasswd.users  nagios.cfg resource.cfg  htpasswd.user  cgi里面放控制访问的(control)

 

object里面的contacts.cfg发送到本机邮箱里面,发送到QQ邮箱就需要第三方软件

 

nagios显示状态:0正常 1警告 2严重错误 3未知

 

nagios可以实现远程监控,怎么实现?

通过nrpe插件,check_nrpe,xinetd,SNMP协议?实现结果的反馈

客户端要修改哪些配置?1.在主配置文件里面设置命令的定义

2./etc/services设置端口;3.写脚本在libexec里面

被监控端有nrpe,监控端没有nrpe,不能实现远程监控,必须要同时有nrpe才行

 

linux里面发邮箱、邮件需要打开postfix

mail -s“zhuti” root@localhost dsfaiuhldsif发不了要开启服务

yum install-y postfix

systemctlstart postfix

echo  hell | mail -s “zhuti” root@localhost

查看用mail输入最新一条

 

cacti对数据的展示做的很好,但是对数据的反馈做的不好

nagios对数据的反馈做的很好,但是对数据的展示做的不好,无法将多个集群的数据集合起来。

 

zabbix可以让客户机自动配置好,自动化监控

开源,开放式接口,扩展性强,插件编写容易

但是,需要在被监控主机上安装agent,所有数据都存在数据库里,产生的数据量很大,瓶颈主要在数据库

 

zabbix监控原理

 

 

proxy可选组件,代理的主要功能就是分担真实服务器的压力

agent:被监控机上,负责收集本地数据并发往Server端或Proxy端,和nrpe一样

 

术语:

item:监控项,监控的东西、特定指标

trigger:触发器,达到什么样的条件触发什么事件,阈值,不在阈值范围触发器状态将从"OK"转变为"Problem",当数据再次恢复到合理范围,又转变为"OK";

action:处理动作,如发生通知,何时执行,满足条件告警动作

media:报警媒介,通知的手段,如Email

template:模板,快速定义上面的集合,模板可以直接连接某个主机

frontend:前端哈哈哈,zabbix的web接口

 

一个监控系统运行的大概的流程是这样的:

agentd需要安装到被监控的主机上,它负责定期收集各项数据,并发送到zabbixserver端,zabbixserver将数据存储到数据库中,zabbix web根据数据在前端进行展现和绘图。

这里agentd收集数据分为主动和被动两种模式:

主动:agent请求server获取主动的监控项列表,并主动将监控项内需要检测的数据提交给server/proxy

被动:server向agent请求获取监控项的数据,agent返回数据。

 

agent的被动模式情况下对真实服务器会造成巨大压力,因为这种情况下每一次都会使Server打开一个TCP连接

 

真实服务器这边:

数据库

lamp

zabbix

 

客户端这边;

agent软件

 

start:

监控中心clone1

拷贝zabbix的文件夹到里面

cd进去

网络yum源{

vim/etc/yum.conf

keepcache=1

/var/cache/yum/$basearch/$releasever

}

 

yumlocalinstall * -y安装当前目录的所有

yum install mariadb-serverhttpd -y

systemctlstart mariadb

创建一个zabbix库,授权一个账户,权限

cd

mysql

createdatabase zabbix;

grant all onzabbix.* to zabbix@localhost identified by ‘zabbix’;我用是’%’

flushprivileges;

cd/usr/share/doc/zabbix-server-mysql-3.2.11 s

ls

发现是个压缩的包

zcatcreate.sql.gz看看内容

能看到内容,怎么导入到数据库呢

{zcatcreate.sql.gz |  mysql直接导入}

解压:

gunzipcreate.sql.gz

ls

mysql -uzabbix -pzabbix -D zabbix < create.sql

vim/etc/zabbix/zabbix_server.conf

10051默认的,不管它

38:记录日志的文件

72:pidfile

81:数据库的主机,一般在本地上,不分离

91:数据库的名称

107:数据库的用户

115:DBPassword=zabbix密码

122套接字不用管

 

vim /etc/httpd/conf.d/zabbix.conf在httpd的子配置文件里面居然也有zabbix的配置文件

19:去掉注释,最后一段:Asia/Shanghai

systemctlstart httpd

systemctlstart zabbix-server

浏览器输入ip/zabbix

用户密码,不用修改端口

/etc/zabbix/web/zabbix.conf.php记录zabbix怎样连接数据库的

登陆

用户名是admin

密码是zabbix

zabbixserver is running是Yes就是成功了

右上角有个人图,语言改为中文

 

吴振启动httpd时出现/etc/httpd/conf.d/php.conf的问题怎么办?

注释掉那个文件的最后两行,进入zabbix主页会出现文字页面

删掉httpd目录,重新再来一遍

 

mysql-uzabbix -pzabbix

ERROR 1045(28000): Access denied for user 'zabbix'@'localhost' (using password: YES)

需要删除匿名用户,然后重新授权再刷新权限

 

客户端:

拷贝zabbix-agent-3.2.11-1.el7.x86_64.rpm进来不用解压

yum install -yzabbix-agent-3.2.11-1.el7.x86_64.rpm

vim/etc/zabbix/zabbix_agentd.conf

95:Server=需要定义监控中心的ip

136:serverActive=监控中心的ip,若有代理则是代理的ip,主动模式的监控中心ip

147:=clone2 自动注册叫什么名,主机名就行了,试试主机ip行不行

保存退出

 

zabbix-get装在监控中心

 

可以在客户端设置一个键值对

 

客户端:

自定义监控键值对设置:监控远程boot分区:

vim/etc/zabbix/zabbix_agentd.conf

293:UserParameter=监控boot分区使用情况,先在外面敲命令出来awk -F" " '/boot/{print $5}' | awk -F "%" '{print $1}'

然后293:UserParameter=boot.used自定义名字,键的方法,

which df awk

然后293:UserParameter=boot.used,/usr/bin/df| /usr/bin/awk -F " " '/boot/{print $5}' | /usr/bin/awk -F"%" '{print $1}'

systemctlstart zabbix-agent端口是10050

 

监控中心

zabbix_get-s 监控对象ip -kboot.used

 

客户端:

ddif=/dev/zero of=/boot/aaa bs=10M count=30

 

zabbix的主动模式和被动模式到底用那种?混合使用

 

我进入zabbix是404错误?修改了配置文件要重启服务

 

zabbix基本配置:

添加主机组

配置-主机-右上角创建主机,注意主机名是自己起的,和nagios里定义主机一样,主机服务组是linux-servers

下面有一个监控项-右边创建监控项

名称:boot_use

类型:zabbix客户端主动

键值:boot.used

信息类型:数字无符号

数据类型:十进位数字

点下面的添加

 

点上面的配置-主机-看下面的监控项

多长时间检测一次30s

触发器,图形,创建图形

名称:boot_use

下面监控项-添加-选择点击

完了之后点上面的预览

点下面的添加

配置-主机,下面有显示装了的就是有个1,

点图形,linux-server  监控主机名clone2   boot_use

在客户端里删掉/boot/aa

再看一下图形,发现降低了

配置-主机-下面-触发器-右边-创建触发器

名称:bootused      boot分区不正常的时候触发什么

严重性:超过70%警告

条件

监控项:选择

功能:最新的T值>N

N:70

插入

添加

配置-主机-下面-动作-右边-创建动作(左边有个事件源)

黄色+蓝色虚线是警告的

 

1.主机组

2.主机

3.监控项

4.图形

5.触发器

6.报警媒介类型、用户

7.动作

 

NAT是网络地址转换

 

zabbix的监控项有两种模式

主动模式:

连接监控中心的端口10051,采集数据,提交上去关闭连接

被动模式:

监控中心连接监控对象的10050端口,采集数据,提交回来,不关闭连接,对监控中心产生压力

 

如果是发邮件,首先要有发邮件的功能呀

就是要考虑到执行动作前的准备工作

点最上面的管理-报警媒介类型-Email

类型:电子邮件

SMTP:localhost

25

HELO:localhost

电邮:zabbix@localhost由谁来发

添加

点击上面的用户-Admin

上面有个小的报警媒介-添加

收件人:root@localhost

添加

更新

配置-动作-右上事件源是触发器点创建动作

名称:boot_problem send mailto root随便起

条件:新的触发条件-触发器=选择点击,超链接的添加

上面出现了计算方式“与/或”A and B

操作-下面点新的-操作类型发送消息-发送到用户添加admin,仅送到Email-超链接的添加-添加

动作  操作  后面有个恢复操作

可以直接根据信息来恢复操作,恢复后会发送邮件,更新

测试:

主机-触发器,大于70就警告

客户端:

ddif=/dev/zero of=/boot/aaa bs=1M count=60

df -h

网页:

点最上面的监测中,最下面,状态:问题,问题是bootused,确认是不,需要运维人员去确认,鼠标移到动作上有完成了

监控中心:

yum install -ymailfix

查看用mail输入最新一条

网页:

配置-主机-模板-选择你要连接的模板OS LINUX,HTTP Service选择,超链接添加,更新,发现多了很多东西

1台主机配置模板,那么如果监控对象过多呢?我有200台主机需要被监控,添加主机怎么办,太麻烦了,采用ZabbixDiscovery 自动发现

怎么使用自动发现呢?

首先要agent安装在监控对象的机器上(有一个妙招可以快速安装agent,脚本是一种方法,还有另外一种方法老师以后再讲)

配置-自动发现-

 

客户端:clone6

将agent包拷贝过来

yum install-y zabbix-agent-3...

 

编译安装可以安装多个,模块、路径、都可以自己定义,但是安装耗时

yum安装速度很快

rpm -ql可以看看yum安装后的目录在哪

yum安装的mariadb的数据目录是在/var/lib/mysql/data

 

zabbix多久获取一次监控的项目?

是在配置里面定义的

 

和flashcs6有点像
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值