玩转Linux之搭建zabbix监控系统及排错
Posted Friends of the wind
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了玩转Linux之搭建zabbix监控系统及排错相关的知识,希望对你有一定的参考价值。
为何要了解监控架构
例如:我们八人组成团队叫“鬼八仙”;要和人家打群架,人家十三人组成团队叫“十三太保”,由名字得知,我们是干不过人家的,即便干过人家,我们的损失绝对大过人家。
因此,根据不同的网络环境、监控规模等综合因素,选择适合的监控架构。
- 直接连接架构又叫server-client架构,适用于网络环境简单、监控规模少的场合,打个比方,好比“绝代双骄”,只有两个人。
- proxy架构,适用于中型网络的监控。
- Node架构,翻译中文节点,每个node有自己的配置文件和数据库,当主服务器发生故障,节点仍可保证架构的完整性,适用于大型分布式监控环境,北京、天津等有好多个网络区域需要监控,既保证延迟少,又要在发生故障能不影响其他节点。
案例
温馨提示:采用zabbix作为监控服务器,监控对象为Linux服务器、Windows服务器、网络设备。交换机采用GNS3模拟器模拟。
一、搭建网络环境,确保网络连通
switch配置
Sw2#en //进入用户模式
Sw2#conf t //进入特权模式
Sw2(config)#int ran f0/0 -3 //进入f0/0到f0/3接口
Sw2(config-if-range)# no sh //开启接口
Sw2(config-if-range)#exit //退出接口配置模式
Sw2(config)#int vlan 1 //进入vlan1
Sw2(config-if)# ip add 192.168.2.254 255.255.255.0 //设置vlan1ip地址
Sw2(config)# no sh //开启接口
测试网络环境: 测试路由器能ping通各设备Windows、Linux主机及zabbix服务器
二、配置Zabbix服务器192.168.2.1
注意:实验环境,关闭防火墙、setenfoce设置为宽容模式
1、 安装MariaDB(配置yum仓库省略)
[root@localhost ~]# mount /dev/cdrom /mnt/ //挂载系统光盘
[root@localhost ~]# yum -y install mariadb-server mariadb //安装mariadb
[root@localhost ~]# systemctl start mariadb.service //启动mariadb
[root@localhost ~]# systemctl enable mariadb.service //设置自启动
[root@localhost ~]# mysqladmin -u root password ‘123456’ //设置mysql-root密码
2、 安装zabbix
[root@localhost ~]# umount /mnt //卸载系统盘
[root@localhost ~]# eject
[root@localhost ~]# mount /dev/cdrom /mnt/ //挂载zabbix安装专用包
已给朋友们上传CSDN,链接是zabbix监控系统系列安装包
[root@localhost ~]# yum clean all //上步用另一个yum仓库安装,必须清空yum源,否则,报错
[root@localhost ~]# yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent
//安装zabbix及所需软件,若也监控zabbix服务器本身需安装代理
[root@localhost ~]# mysql -u root -p //登录数据库
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin; //创建zabbix所需数据库
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by ‘123456’; //创建zazbbix所需用户
3、 编辑配置文件
[root@localhost ~]# zcat /usr/share/doc/zabbix-server-mysql-3.4.1/create.sql.gz | mysql -uzabbix -p zabbix //导入数据库脚本(输入设置得zabbix密码)
[root@localhost ~]# cp /etc/zabbix/zabbix_server.conf /etc/zabbix/zabbix_server.conf.bak //备份zabbix主配置文件
[root@localhost ~]# vim /etc/zabbix/zabbix_server.conf //编辑主配置文件
参考配置如下:
4、安装zabbix Web接口
[root@localhost ~]# vim /etc/httpd/conf.d/zabbix.conf //修改web时区文件
[root@localhost ~]# systemctl start httpd //重启httpd服务
5、登录zabbix管理平台(图形化界面)。
打开浏览器访问URL:http://zabbix IP地址/zabbix
登录控制界面
解决中文乱码
[root@localhost ~]# cp /mnt/simkai.ttf /usr/share/zabbix/fonts/ //复制光盘中的字体包到本地
[root@localhost ~]# chmod 755 /usr/share/zabbix/fonts/simkai.ttf //设置权限
[root@localhost ~]# vim /usr/share/zabbix/include/defines.inc.php //修改php配置文件
将第47行字体名改成simkai
三、用zabbix监控设备
- 监控linux主机(在需要监控的Linux主机安装代理程序)
注意:编辑 zabbix agent的配置文件/etc/zabbix_agentd.conf,必须指定 zabbix server的IP地址,在每台安装了 agent的主机上都要配置,这里要指定zabbix服务器的IP地址,如果是在同一台服务器上可以不做修改。
被监控Linux系统主机配置
安装zabbix代理程序: rpm -ivh /mnt/zabbix-agent-3.2.6-1.el7.x86_64.rpm
编辑agent配置文件: vim /etc/zabbix/zabbix_agentd.conf
Server=192.168.2.1 // 客户端被动等待指定服务器来查询数据(填zabbix服务器地址)
ServerActive=192.168.2.1 // 客户端主动提交数据到指定的服务器(填zabbix服务器地址)
Hostname=linux-server001 //修改
[root@localhost ~]# systemctl start zabbix-agent.service //启动代理程序
[root@localhost ~]# systemctl enable zabbix-agent.service //设置开机自启
Zabbix服务器管理网页设置
查看监测视图
- 监控网络设备(注意:图片是路由器监控,switch方法是一样的)
switch配置
switch(config) # snmp-server community centos RO //设置被服务器轮询的只读共同体
switch(config) # snmp-server enable traps //允许发送trap消息
switch(config) # snmp-server host 192.168.2.1 centos //设置发送trap消息的共同体
注意:个别设备,红色命令部分会报错,如下图:
解决方案:命令换成switch(config) # snmp-server enable traps config
Zabbix服务器管理页面设置
创建图形视图
查看监测视图
- 监控Windows主机(以Windows7为例,其他Windows版本方法一样)
1)Windows主机设置
解压 Windows客户端压缩包 zabbix_agents_3.2.0.win.zip,在bin目录下会有win32和win64两个文件夹,根据 Windows系统的版本自行进行选择。
为方便配置,在c盘根目录创建目录zabbix,找到/bin目录——选择32/64版本(根据自己机器而定)——将目录下的文件,以及conf/Zabbix_agentd.win.conf文件复制到本机的C:/Zabbix目录。
注意:必须以administrator(系统管理员用户)运行,推荐用写字板打开,(记事本,字符格式会乱)修改zabbix——agentd.win.conf文件
Server=192.168.2.1 //zabbix服务器地址
ServerActive=192.168.2.1 //zabbix服务器地址
Hostname=windows-server001 //保持和下面步骤,zabbix管理页面配置名称相同
温馨提示:
-i安装 -s 启动-c指定配置 -x停止 -d卸载
如果报错,可能创建的文件夹默认是只读,去掉只读的勾选;也可能是当前登录用户权限不够,非系统管理员。如下图:
选择以管理员身份运行
2)Zabbix服务器管理页面设置
查看监测视图
4. zabbix自定义监控项目(可以监控某个服务,如:web、FTP、mysql)
1)在被监控主机上操作
创建存放监控脚本的目录
mkdir -p /etc/zabbix/zabbix_scripts/
创建名为check_apache.sh的监控脚本
vim /etc/zabbix/zabbix_scripts/check_apache.sh //注意脚本名里不要出现要监控的进程名
#!/bin/bash
result=`ps -ef |grep httpd | grep -v grep`
if [ -n "$result" ] //脚本参数 -n判断是否存在
then
echo "1"
else
echo "0"
fi
修改配置允许在脚本里有特殊字符
vim /etc/zabbix/zabbix_agentd.conf
第284行,去掉#号,并将参数0改成1
在/etc/zabbix/zabbix_agent.d/目录下创建名为userparameter_ apache.conf的文件
在此文件中添加自定义监控项,格式为UserParameter=<键值>,<命令>
vim /etc/zabbix/zabbix_agentd.d/userparameter_apache.conf
重启zabbix代理服务:systemctl restart zabbix-agent
Zabbix服务器管理页面设置(先单击添加监控项,我已经添加成功了,所以下面是“更新”,首次设置,左下角是“添加”)
反向验证:关闭web服务(模拟异常)
正向验证:启动web服务,红色标记位置变成1
常见报错
1、Zabbix 代理[127.0.0.1]收到空响应
鼠标放到红色英文处提示:Received empty response from Zabbix Agent at [127.0.0.1]. Assuming that agent dropped connection because of access permissions.
翻译:在Zabbix 代理[127.0.0.1]收到空响应。假设代理由于访问权限而断开连接。
分析:接口地址必须填写被监控端的地址,代理地址127.0.0.1网络设备不能设置这个地址,因此填写正确的地址就可以解决问题。
解决方案:改成安装代理程序的接入口地址,即Windows主机地址192.168.2.3,刷新几次即可
2、没到达主机192.168.2.3的路由
翻译红色英文提示:从代理端获取数值失败,没到达主机192.168.2.3的路由
分析:IP地址问题,经查发现两问题
一、Windows主机忘记配置ip地址;二、Windows主机安装代理步骤,指定agent配置文件的ip地址填错;
解决方案:虚拟机环境,只能恢复Windows快照重做。
3、Linux系统被监控端无法启动代理程序
可以跟踪系统日志,一大堆信息,找到关键提醒,需要一个本地策略允许接入,没有PID文件。
前条提示,很明显,防火墙或setenfoce拒绝了服务的这项请求,后一条,一般是没有ip地址,典型的复合性问题,这两个问题同时解决,才能实现。
解决方案:关闭防火墙,setenfoce设置为宽容模式,配置ip即可
以上是关于玩转Linux之搭建zabbix监控系统及排错的主要内容,如果未能解决你的问题,请参考以下文章