zabbix————配置监控远程主机

目录

一、监控远程主机

1.安装zabbix_agent

2.安装依赖

3.创建用户

4.解压zabbix

5.预编译zabbix_agent

6.安装

7.启动agent

8.配置zabbix_agent开机自启

1)生成启动脚本

​编辑 2)修改安装目录

 3)添加开机自启

4)修改zabbix_agent配置文件

 5)启动服务

2.Server端测试通讯

 3.常见进程

4.zabbix监控环境中基本概念

5.添加Host主机

1)添加host主机

2)选择模块

3) 在弹出的模块选择自己需要的模块

二、配置zabbix 监控 nginx服务

1.监控nginx

2.确定监控内容

3.监控脚本编写

 4.修改 zabbix-agentd.conf

5.定义监控脚本key

6.zabbix服务端使用 zabbix_get 测试获取数据

7.WEB界面配置

1)创建模板

2)给模板依次添加相应 Item、Trigger、Graphs,如下图所示

3) 创建应用集

 4)创建监控项

5)创建图像 

6)关联模板


一、监控远程主机

1.安装zabbix_agent

既然监控,就要添加主机监控,监控主机选择agent,安装agent比较简单

192.168.30.12(server02)作为zabbix的被监控端,提供LNMP应用

2.安装依赖

 yum install -y curl curl-devel net-snmp net-snmp-devel perl-DBI

3.创建用户

[root@zabbix_server02 ~]# useradd -M -s /sbin/nologin zabbix

4.解压zabbix

我这里把11主机的zabbix源码包cp过来解压

scp zabbix-4.2.6.tar.gz root@192.168.30.12:~

解压zabbix:

tar zxf zabbix-4.2.6.tar.gz 
cd zabbix-4.2.6

5.预编译zabbix_agent

[root@zabbix_server02 zabbix-4.2.6]# ./configure --prefix=/usr/local/zabbix --enable-agent

被监控端只需要部署 agnet

6.安装

make install

7.启动agent

/usr/local/zabbix/sbin/zabbix_agentd 
netstat -anptl | grep zabbix_agent

8.配置zabbix_agent开机自启

1)生成启动脚本

zabbix自带启动脚本

cp /root/zabbix-4.2.6/misc/init.d/fedora/core5/zabbix_agentd /etc/init.d/

 2)修改安装目录

修改zabbix开机启动脚本中的zabbix安装目录

vim /etc/init.d/zabbix_agentd   #编辑客户端配置文件
ZABBIX_BIN="/usr/local/zabbix/sbin/zabbix_agentd"  #找到此行,并修改

 3)添加开机自启

chkconfig --add zabbix_agentd
chkconfig zabbix_agentd on

 拓展:core core5 里面的文件都可以实现 zabbix 代理启动,core 里面是测试版本,core5 是稳定版本

4)修改zabbix_agent配置文件

vim /usr/local/zabbix/etc/zabbix_agentd.conf
 Server=192.168.30.11
 ListenPort=10050
 ServerActive=192.168.30.11
 Hostname=server02
 Timeout=15
 Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/
 UnsafeUserParameters=1

注:

 Server=192.168.30.11           #zabbix server 地址,可以多个,用“ , ”隔开
 ServerActive=192.168.30.11    #主动检查的意思,主动检查,主机的数据发送给 Zabbix Server
 其中 Server 和 ServerActive 都指定 Zabbix server 的 IP 地址,不同的是,前者是被动,后者是主动。也就是说前者允许192.168.30.11这个ip来我这取数据。而serverActive的192.168.30.11的意思是,客户端主动提交数据给它。
 Hostname=server01,这个定义的名字必须和web页面里面host的名字一样。
 UnsafeUserParameters=1  #允许所有的字符是在用户定义的参数,参数传递,也就是支持自定义脚本

 5)启动服务

把前面启动的zabbix_agentd杀掉

 pkill zabbix_agentd
systemctl daemon-reload
systemctl start zabbix_agentd

2.Server端测试通讯

/usr/local/zabbix/bin/zabbix_get -s 192.168.30.12 -p10050 -k system.uname

可以获取多方系统版本则证明没有问题

 3.常见进程

默认情况下zabbix包含个程序:zabbix_agentd、zabbix_get、zabbix_proxy、zabbix_sender、zabbix_server,另外一个zabbix_java_gateway是可选的,需另安装

1)zabbix_agentd:

客户端守护进程,此进程收集客户端数据,例如cpu负载、内存、硬盘使用情况等。

2)zabbix_get

zabbix工具,单独使用的命令,通常在server或者proxy端执行获取远程客户端信息的命令

通常用户排错,如在server端获取不到客户端的内存数据,我们可以使用zabbix_get获取客户端的内容的方式来做故障排查。

3)zabbix_sender

zabbix工具,用于发送数据给server或者proxy,通常用于耗时比较长的检查。

很多检查非常耗时,导致zabbix超时,于是在脚本执行完后,使用sender主动提交数据

4)zabbix_server

zabbix 服务端守护进程 。zabbix_agentd、zabbix_get、zabbix_sender、zabbix_proxy、zabbix_java_gateway的数据最终都是提交到server

备注:当然不是数据都是主动提交给zabbix_server,也有的是server主动去取数据。

5)zabbix_proxy

zabbix代理守护进程。功能类似server,唯一不同的是它只是一个中转站,它需要把收集到的数据提交到server里

6) zabbix_java_gateway

zabbix2.0之后引入的一个功能。顾名思义:Java网关,类似agentd,但是只用于Java方面。需要特别注意的是,它只能主动去获取数据,而不能被动获取数据。它的数据最终会给到server或者proxy

4.zabbix监控环境中基本概念

1. 主机(host): 要监控的网络设备或主机,可由IP或DNS名称指定

2. 主机群组 (host group):主机的逻辑容器(分类),可以包含主机和模板,对不同主机做的分类

3. 监控项 (item):一个特定监控指标的相关数据;这些数据来自被监控的对象;item是zabbix进行数据收集的核心,相对某个监控对象,每个item都由"key"标识

4.触发器(trigger):一个表达式,用于评估某监控对象的特定item内接收到的数据是否在合理范围内,也就是阈值,接收的数据量大于阈值时,触发器状态将从"OK"转变为"Problem",当数据再次恢复到合理范围,又转变为"OK"

5.事件(event):触发一个值得关注的事情,比如触发器状态转变,新的agent或重新上线的agent的自动注册等

6.动作(action):指对于特定事件事先定义的处理方法,如发送通知,何时执行操作

7.报警升级(escalation):发送警报或者执行远程命令的自定义方案,如每隔5分钟发送一次警报,共发送5次等

8.媒介(media):发送通知的手段或者通道,如Email、Jabber或者SMS等

9:通知(notification):通过选定的媒介向用户发送的有关某事件的信息

10:远程命令(remote command):预定义的命令,可在被监控主机处于某特定条件下时自动执行

11:模板(template):用于快速定义被监控主机的预设条目集合,通常包含了item、trigger、graph、screen、appication以及low-level discovery rule;模板可以直接链接至某个主机

12:应用(application):一组item的集合

13:web场景(web scennario):用于检测web站点可用性的一个或多个HTTP请求

14:前端(frontend):Zabbix的web接口

5.添加Host主机

1)添加host主机

: 主机名称要和zabbix_agentd.conf 配置文件里 Hostname字段里的名称一致

2)选择模块

3) 在弹出的模块选择自己需要的模块

 我们是选择 liunx系统,选择liunx监控模板,模板就是相关应用的集合

点击添加,在更新模板

 3)查看主机状态(绿色为连通)

ZBX是用agent采集被监控端的数据 

二、配置zabbix 监控 nginx服务

 如没有安装ngixn,需安装一个nginx

1.监控nginx

zabbix默认自带了很多有用的监控模板,通常对主机运行状态使用默认的模板就可以了,有时候我们需要根据实际情况自定义一些监控信息,zabbix没有提nginx监控模板需我们自己配置。

zabbix监控nginx服务的配置过程。整个配置过程大致如下:

 1,确定监控内容
 2,编写agent端的监控脚本
 3,配置zabbix_agentd.conf文件,定义监控脚本key
 4,zabbix服务端使用zabbix_get 测试获取数据
 5,登录zabbix web配置台;

2.确定监控内容

nginx内置了一个status状态的功能,通过配置可以看到nginx的运行情况,status显示的内容包括当前连接数,处于活动状态的连接数,已经处理的请求数等等。

在nginx的配置文件中,添加status配置

 vim /usr/local/nginx/conf/nginx.conf
 location /status {
             stub_status on;
             access_log off;
             allow 127.0.0.1;
             allow 192.168.30.11;
             deny all;
 }

在虚拟主机 server {} 中加入上面配置,也可以单独定义一个专门用于监控的虚拟主机

deny all , 拒绝除 allow 中的主机之外所有主机访问此URL ,实现过程中如果遇到403 ,有可能是你把自己测试的机器拒绝了

重载nginx;

nginx -s reload

在zabbix_server上测试访问:

curl http://192.168.30.12/status

 nginx status 详细说明;

字段

含义

Active connections当前活跃连接数,包含处于等待在状态的连接
accepts

接收到的客户端发来的连接数

handled已经处理完成的来连接数,一般和accepts值相同,如果不同说明nginx性能出现瓶颈
requests客户端请求总数
Reading正在读取请求头信息的连接数
 Writing正在发送响应报文的连接数
Waiting处于闲置状态正等待客户端发送请求的连接数

在访问效率很高,请求很快被处理完毕情况下,waiting数比较多是正常的。如果 reading + writing 数较多,则说明并发访问量很大,正在处理过程中

3.监控脚本编写

编写脚本放于/usr/local/zabbix/scripts目录下

通过脚本获取status页面信息的关键值,zabbix server通过这些关键值才能生成数据图形,

mkdir /usr/local/zabbix/scripts
 vim /usr/local/zabbix/scripts/ngx_status.sh
#! /bin/bash
# Description:zabbix监控nginx状态
# Note:此脚本需要配置在被监控端
HOST="127.0.0.1"
PORT="80"
# 检测nginx进程是否存在
function ping {
    /sbin/pidof nginx | wc -l     #查看进程号,统计检查数
}
# 检测nginx性能
function active {
    /usr/bin/curl "http://$HOST:$PORT/status/" 2>/dev/null| grep 'Active' | awk '{print $NF}'
}
function reading {
    /usr/bin/curl "http://$HOST:$PORT/status/" 2>/dev/null| grep 'Reading' | awk '{print $2}'
}
function writing {
    /usr/bin/curl "http://$HOST:$PORT/status/" 2>/dev/null| grep 'Writing' | awk '{print $4}'
}
function waiting {
    /usr/bin/curl "http://$HOST:$PORT/status/" 2>/dev/null| grep 'Waiting' | awk '{print $6}'
}
function accepts {
    /usr/bin/curl "http://$HOST:$PORT/status/" 2>/dev/null| awk NR==3 | awk '{print $1}'
}
function handled {
    /usr/bin/curl "http://$HOST:$PORT/status/" 2>/dev/null| awk NR==3 | awk '{print $2}'
}
function requests {
    /usr/bin/curl "http://$HOST:$PORT/status/" 2>/dev/null| awk NR==3 | awk '{print $3}'
}
# 执行function
$1

脚本写完先在本地测试一下:

 sh /usr/local/zabbix/scripts/ngx_status.sh ping
sh /usr/local/zabbix/scripts/ngx_status.sh accepts

赋予执行权限:

chmod +x /usr/local/zabbix/scripts/ngx_status.sh

 4.修改 zabbix-agentd.conf

使用脚本监控需要将zabbix-agentd.conf文件中的UnsafeUserParameters=1 开启

 vim /usr/local/zabbix/etc/zabbix_agentd.conf
 UnsafeUserParameters=1
 Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/
 #启用引用此目录文件

5.定义监控脚本key

添加zabbix配置文件,放于/usr/local/zabbix/etc/zabbix_agentd.conf.d/目录下

(agent的配置文件/usr/local/zabbix/etc/zabbix_agentd.conf中定义了其他key的包含目录)创建配置文件nginx_status.conf

vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/nginx_status.conf

UserParameter=nginx.status[*],/usr/local/zabbix/scripts/ngx_status.sh $1

在脚本文件里$1,在执行脚本是后跟的值就是【*】

重启zabbix-agent

systemctl restart zabbix_agentd

6.zabbix服务端使用 zabbix_get 测试获取数据

使用zabbix_get收集想要获取的数据

[root@zabbix_server ~]# zabbix_get -s 192.168.30.12 -p 10050 -k nginx.status[ping]
zabbix_get -s 192.168.30.12 -p 10050 -k nginx.status[active]
zabbix_get -s 192.168.30.12 -p 10050 -k nginx.status[accepts]

7.WEB界面配置

服务端测试正常后就可以在web界面配置监控了,zabbix配置都是通过界面配置。

zabbix的配置流程大致如下:

创建主机组 -》添加主机 -》 创建监控模板 -》 创建应用集 -》创建监控项 -》 创建图像—》创建触发器 -》 创建事件 -》创建处理动作 -》 创建用户组与用户 -》创建告警方式

本章节只做 创建监控模板 -》 创建应用集 -》创建监控项 -》 创建图像 这三项的步奏。

1)创建模板

 创建模板:Configuration(配置)-->Templates(模板)-->Greate template,创建模板名称:Template App NGINX,单击Add即可

2)给模板依次添加相应 Item、Trigger、Graphs,如下图所示

返回模板页已经看到创建的模板已经生成,这时创建的模板是空模板,要在这个模板中创建应用集,监控项等

点击我们创建的模板名创建应用集

3) 创建应用集

应用集可以理解为是给整个模板中的一部分监控项分类,一个模板中可以创建不同类别的监控项,创建应用集只是起一个名字

 4)创建监控项

从应用集进入后就可以在应用集中创建监控项了

创建监控项 要注意命名方式,最关键的是键值 ,这里的键值一定要和agent端的配置文件中定义的键值一致

在监控脚本中,一共定义了8个监控项,所以这里的监控项页要创建8个,重复上面的步奏,创建脚本中相应的监控项

5)创建图像 

监控项创建好后创建图像

创建图像在选择要显示图像的监控项时,可以选择多个监控项,这样就可以在一个图像中显示多个数据的线图

把添加的监控项加入图像 

6)关联模板

把模板关联对先创建的模板做监控

查看图形查看效果:

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: Zabbix是一款开源的网络监控和管理工具,它支持监控多台主机。以下是在Zabbix配置监控多台主机的步骤: 1. 安装Zabbix Server:在一台服务器上安装Zabbix Server,并确保它可以访问您要监控的所有主机。 2. 安装Zabbix Agent:在要监控的每台主机上安装Zabbix Agent。Zabbix Agent是Zabbix使用的客户端程序,它负责收集有关主机的信息并将其发送到Zabbix Server。 3. 配置Zabbix Agent:在每台主机上,编辑Zabbix Agent配置文件,以指定Zabbix Server的IP地址和端口号,以及其他配置选项,例如要监视的服务和端口。 4. 添加主机Zabbix Server:在Zabbix Server的Web界面中,使用管理员帐户登录,并转到“Configuration”>“Hosts”>“Create Host”页面。在此页面上,指定主机的名称,IP地址和其他详细信息。还要为主机指定一个模板,该模板定义了要监视的服务和应用程序。 5. 配置主机模板:在“Configuration”>“Templates”页面上,选择要应用于要监控的所有主机的模板。模板定义了要监视的服务和应用程序,因此您可以为不同类型的主机使用不同的模板。 6. 监控主机:一旦配置完毕,Zabbix Server将开始监视您指定的所有主机。您可以使用Zabbix Server的Web界面查看有关主机的信息,例如CPU和内存使用情况,以及各种服务和应用程序的运行状况。 请注意,这只是一个基本的指南,您可能需要根据您的环境和需求进行其他配置和修改。 ### 回答2: 要配置Zabbix监控多台主机,首先需要在Zabbix服务器上安装和配置Zabbix Server。然后在每台要监控主机上安装Zabbix Agent。 1. 配置Zabbix Server: - 安装Zabbix Server软件。 - 配置数据库和Web服务器。 - 启动Zabbix Server服务。 - 登录Zabbix Web界面。 2. 配置主机: - 在Zabbix Web界面中,选择Configuration -> Hosts -> Create Host来创建新的主机。 - 输入主机的名称和主机组,选择主机使用的模板。 - 在"Agent"选项卡中,输入主机的IP地址和端口号。 - 在"Templates"选项卡中,选择要应用于该主机的模板。 - 保存配置并重复以上步骤以添加更多的主机。 3. 配置触发器和报警: - 在Zabbix Web界面中,选择Configuration -> Templates -> Trigger来创建触发器。 - 输入触发器的名称和描述,选择所需的功能条件和表达式。 - 在Actions中设置报警规则和通知方式。可以选择通过电子邮件、短信等方式进行通知。 - 保存配置并测试触发器和报警。 4. 监控主机: - 在Zabbix Web界面的首页,选择Monitoring -> Latest data来查看主机监控数据。 - 在Graphs中查看主机的图表。 - 在Triggers中查看和管理触发器的状态。 - 在Administration中查看和管理主机和模板。 通过以上步骤,可以配置Zabbix监控多台主机,并在Zabbix Web界面中查看和管理监控数据。可以添加更多的主机和模板,并根据实际需求设置触发器和报警规则,及时监控和处理异常情况。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蟹黄堡!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值